def test_initialize(build_turbine): """Initialize a turbine model""" m = build_turbine hin = iapws95_ph.htpx(T=880, P=2.4233e7) # set inlet m.fs.turb.inlet.enth_mol[0].value = hin m.fs.turb.inlet.flow_mol[0].value = 26000 / 4.0 m.fs.turb.inlet.pressure[0].value = 2.4233e7 m.fs.turb.initialize(outlvl=1) for c in active_equalities(m): assert (abs(c.body() - c.lower) < 1e-4) assert (degrees_of_freedom(m) == 3 ) #inlet was't fixed and still shouldn't be
def test_vapor_steady_state_initialize(build_valve_vapor): """Initialize a turbine model""" m = build_valve_vapor # set inlet hin = iapws95_ph.htpx(T=880, P=2.4233e7) # set inlet m.fs.valve.inlet.enth_mol[0].value = hin m.fs.valve.inlet.flow_mol[0].value = 26000 / 4.0 m.fs.valve.inlet.pressure[0].value = 2.5e7 m.fs.valve.Cv.fix(0.01) m.fs.valve.initialize(outlvl=1) eq_cons = activated_equalities_generator(m) for c in eq_cons: assert (abs(c.body() - c.lower) < 1e-4) assert (degrees_of_freedom(m) == 3 ) #inlet was't fixed and still shouldn't be
def test_initialize(): """Make a turbine model and make sure it doesn't throw exception""" m = build_turbine_for_run_test() turb = m.fs.turb # Set the inlet of the turbine p = 2.4233e7 hin = iapws95_ph.htpx(T=880, P=p) m.fs.turb.inlet_split.inlet.enth_mol[0].fix(hin) m.fs.turb.inlet_split.inlet.flow_mol[0].fix(26000) m.fs.turb.inlet_split.inlet.pressure[0].fix(p) # Set the inlet of the ip section, which is disconnected # here to insert reheater p = 7.802e+06 hin = iapws95_ph.htpx(T=880, P=p) m.fs.turb.ip_stages[1].inlet.enth_mol[0].value = hin m.fs.turb.ip_stages[1].inlet.flow_mol[0].value = 25220.0 m.fs.turb.ip_stages[1].inlet.pressure[0].value = p for i, s in turb.hp_stages.items(): s.ratioP[:] = 0.88 s.efficiency_isentropic[:] = 0.9 for i, s in turb.ip_stages.items(): s.ratioP[:] = 0.85 s.efficiency_isentropic[:] = 0.9 for i, s in turb.lp_stages.items(): s.ratioP[:] = 0.82 s.efficiency_isentropic[:] = 0.9 turb.hp_split[4].split_fraction[0, "outlet_2"].fix(0.03) turb.hp_split[7].split_fraction[0, "outlet_2"].fix(0.03) turb.ip_split[5].split_fraction[0, "outlet_2"].fix(0.04) turb.ip_split[14].split_fraction[0, "outlet_2"].fix(0.04) turb.ip_split[14].split_fraction[0, "outlet_3"].fix(0.15) turb.lp_split[4].split_fraction[0, "outlet_2"].fix(0.04) turb.lp_split[7].split_fraction[0, "outlet_2"].fix(0.04) turb.lp_split[9].split_fraction[0, "outlet_2"].fix(0.04) turb.lp_split[11].split_fraction[0, "outlet_2"].fix(0.04) # Congiure with reheater for a full test turb.ip_stages[1].inlet.unfix() turb.inlet_split.inlet.flow_mol.unfix() turb.inlet_mix.use_equal_pressure_constraint() turb.initialize(outlvl=1) for t in m.fs.time: m.fs.reheat.inlet.flow_mol[t].value = \ value(turb.hp_split[7].outlet_1_state[t].flow_mol) m.fs.reheat.inlet.enth_mol[t].value = \ value(turb.hp_split[7].outlet_1_state[t].enth_mol) m.fs.reheat.inlet.pressure[t].value = \ value(turb.hp_split[7].outlet_1_state[t].pressure) m.fs.reheat.initialize(outlvl=4) def reheat_T_rule(b, t): return m.fs.reheat.control_volume.properties_out[t].temperature == 880 m.fs.reheat.temperature_out_equation = Constraint( m.fs.reheat.flowsheet().config.time, rule=reheat_T_rule) TransformationFactory("network.expand_arcs").apply_to(m) m.fs.turb.outlet_stage.control_volume.properties_out[0].pressure.fix() assert (degrees_of_freedom(m) == 0) solver.solve(m, tee=True) eq_cons = activated_equalities_generator(m) for c in eq_cons: assert (abs(c.body() - c.lower) < 1e-4) return m
def test_initialize_dyn(build_turbine_dyn): """Initialize a turbine model""" m = build_turbine_dyn hin = iapws95_ph.htpx(T=880, P=2.4233e7) """