From a03385c5889ae2bc4291a42f513213871b56ffda Mon Sep 17 00:00:00 2001 From: Bernard Knueven Date: Wed, 22 Nov 2023 03:30:17 +0000 Subject: [PATCH] setting custom options to stabilize flowsheet_softening_two_stage --- .../analysis/flowsheet_softening_two_stage.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/watertap/examples/flowsheets/full_treatment_train/analysis/flowsheet_softening_two_stage.py b/watertap/examples/flowsheets/full_treatment_train/analysis/flowsheet_softening_two_stage.py index 1662c7b5eb..7faedb1a21 100644 --- a/watertap/examples/flowsheets/full_treatment_train/analysis/flowsheet_softening_two_stage.py +++ b/watertap/examples/flowsheets/full_treatment_train/analysis/flowsheet_softening_two_stage.py @@ -17,6 +17,7 @@ from pyomo.environ import ConcreteModel, TransformationFactory from idaes.core import FlowsheetBlock +from idaes.core.solvers import get_solver from idaes.core.util.scaling import calculate_scaling_factors from watertap.examples.flowsheets.full_treatment_train.util import ( @@ -75,7 +76,10 @@ def set_up_optimization(m, system_recovery=0.50, **kwargs): def optimize(m, check_termination=True): - return solve_block(m, tee=False, fail_flag=check_termination) + s = get_solver() + s.options["bound_relax_factor"] = 1e-20 + s.options["bound_push"] = 1e-20 + return solve_block(m, solver=s, tee=True, fail_flag=check_termination) def solve_flowsheet(**desal_kwargs): @@ -95,7 +99,9 @@ def solve_flowsheet(**desal_kwargs): initialize(m, **desal_kwargs) check_dof(m) - solve_block(m, tee=False, fail_flag=True) + s = get_solver() + s.options["bound_relax_factor"] = 1e-20 + solve_block(m, solver=s, tee=True, fail_flag=True) # report print("===================================" "\n Simulation ")