def test_config(): m = ConcreteModel() m.fs = FlowsheetBlock(default={"dynamic": False}) m.fs.properties = PhysicalParameterTestBlock() m.fs.unit = Flash(default={"property_package": m.fs.properties}) # Check unit config arguments assert len(m.fs.unit.config) == 11 assert not m.fs.unit.config.dynamic assert not m.fs.unit.config.has_holdup assert m.fs.unit.config.material_balance_type == \ MaterialBalanceType.useDefault assert m.fs.unit.config.energy_balance_type == \ EnergyBalanceType.useDefault assert m.fs.unit.config.momentum_balance_type == \ MomentumBalanceType.pressureTotal assert m.fs.unit.config.ideal_separation assert m.fs.unit.config.has_heat_transfer assert m.fs.unit.config.has_pressure_change assert m.fs.unit.config.property_package is m.fs.properties assert m.fs.unit.config.energy_split_basis == \ EnergySplittingType.equal_temperature
def btx(self): m = ConcreteModel() m.fs = FlowsheetBlock(default={"dynamic": False}) m.fs.properties = BTXParameterBlock(default={ "valid_phase": ('Liq', 'Vap'), "activity_coeff_model": "Ideal" }) m.fs.unit = Flash(default={"property_package": m.fs.properties}) return m
def iapws(self): m = ConcreteModel() m.fs = FlowsheetBlock(default={"dynamic": False}) m.fs.properties = iapws95.Iapws95ParameterBlock( default={"phase_presentation": iapws95.PhaseType.LG}) m.fs.unit = Flash( default={ "property_package": m.fs.properties, "ideal_separation": False, "energy_split_basis": EnergySplittingType.enthalpy_split }) return m
def btx(self): m = ConcreteModel() m.fs = FlowsheetBlock(default={"dynamic": False}) m.fs.properties = BTXParameterBlock(default={ "valid_phase": ('Liq', 'Vap'), "activity_coeff_model": "Ideal" }) m.fs.unit = Flash(default={"property_package": m.fs.properties}) m.fs.unit.inlet.flow_mol.fix(1) m.fs.unit.inlet.temperature.fix(368) m.fs.unit.inlet.pressure.fix(101325) m.fs.unit.inlet.mole_frac_comp[0, "benzene"].fix(0.5) m.fs.unit.inlet.mole_frac_comp[0, "toluene"].fix(0.5) m.fs.unit.heat_duty.fix(0) m.fs.unit.deltaP.fix(0) return m
def iapws(self): m = ConcreteModel() m.fs = FlowsheetBlock(default={"dynamic": False}) m.fs.properties = iapws95.Iapws95ParameterBlock( default={"phase_presentation": iapws95.PhaseType.LG}) m.fs.unit = Flash( default={ "property_package": m.fs.properties, "ideal_separation": False, "energy_split_basis": EnergySplittingType.enthalpy_split }) m.fs.unit.inlet.flow_mol.fix(100) m.fs.unit.inlet.enth_mol.fix(24000) m.fs.unit.inlet.pressure.fix(101325) m.fs.unit.heat_duty.fix(0) m.fs.unit.deltaP.fix(0) return m
def test_calc_scale(): m = ConcreteModel() m.fs = FlowsheetBlock(default={"dynamic": False}) m.fs.properties = PhysicalParameterTestBlock() m.fs.unit = Flash(default={"property_package": m.fs.properties}) iscale.calculate_scaling_factors(m)