def model(self): m = ConcreteModel() m.fs = FlowsheetBlock(default={"dynamic": False}) m.fs.params = WaterParameterBlock( default={"solute_list": ["sulfur", "toc", "tss"]}) m.fs.unit = PumpZO(default={ "property_package": m.fs.params, "database": db}) return m
def model(self): m = ConcreteModel() m.db = Database() m.fs = FlowsheetBlock(default={"dynamic": False}) m.fs.params = WaterParameterBlock( default={"solute_list": ["sulfur", "toc", "tss"]}) m.fs.unit = PumpZO(default={ "property_package": m.fs.params, "database": m.db}) m.fs.unit.inlet.flow_mass_comp[0, "H2O"].fix(1000) m.fs.unit.inlet.flow_mass_comp[0, "sulfur"].fix(1) m.fs.unit.inlet.flow_mass_comp[0, "toc"].fix(2) m.fs.unit.inlet.flow_mass_comp[0, "tss"].fix(3) return m
def test_costing(subtype): m = ConcreteModel() m.db = Database() m.fs = FlowsheetBlock(default={"dynamic": False}) m.fs.params = WaterParameterBlock( default={"solute_list": ["sulfur", "toc", "tss"]}) m.fs.costing = ZeroOrderCosting() m.fs.unit1 = PumpZO(default={ "property_package": m.fs.params, "database": m.db, "process_subtype": subtype}) m.fs.unit1.inlet.flow_mass_comp[0, "H2O"].fix(10000) m.fs.unit1.inlet.flow_mass_comp[0, "sulfur"].fix(1) m.fs.unit1.inlet.flow_mass_comp[0, "toc"].fix(2) m.fs.unit1.inlet.flow_mass_comp[0, "tss"].fix(3) m.fs.unit1.load_parameters_from_database(use_default_removal=True) assert degrees_of_freedom(m.fs.unit1) == 0 m.fs.unit1.costing = UnitModelCostingBlock(default={ "flowsheet_costing_block": m.fs.costing}) assert isinstance(m.fs.costing.pump, Block) assert isinstance(m.fs.costing.pump.capital_a_parameter, Var) assert isinstance(m.fs.costing.pump.capital_b_parameter, Var) assert isinstance(m.fs.costing.pump.reference_state, Var) assert isinstance(m.fs.unit1.costing.capital_cost, Var) assert isinstance(m.fs.unit1.costing.capital_cost_constraint, Constraint) assert_units_consistent(m.fs) assert degrees_of_freedom(m.fs.unit1) == 0 assert m.fs.unit1.electricity[0] in \ m.fs.costing._registered_flows["electricity"]