Skip to content

Latest commit

 

History

History
74 lines (46 loc) · 2.9 KB

siso_methods.rst

File metadata and controls

74 lines (46 loc) · 2.9 KB

Single Inlet - Single Outlet Helper Methods

pair: watertap.core.zero_order_siso;build_siso

watertap.core.zero_order_siso

The build_siso method is intended to be used to rapidly construct a standard set of material balance equations for zero-order type models with a single inlet and single outlet.

Usage

from idaes.core import declare_process_block_class from watertap.core import build_siso, ZeroOrderBaseData

@declare_process_block_class("UVZO") class UVZOData(ZeroOrderBaseData):

CONFIG = ZeroOrderBaseData.CONFIG()

def build(self):

super().build()

self._tech_type = "uv"

build_siso(self)

Model Structure

The build_siso method constructs a simple representation of unit operation with one inlet (named inlet) and one outlet (named treated). A StateBlock is constructed for each inlet and outlet with an associated Port.

Variables

The build_siso method creates the following variables in addition to those created by the StateBlocks.

Variable Name Indices Notes
rt recovery_frac_mass_H2O time Fraction of mass flow of water in inlet that goes to treated stream.
ft, j removal_frac_mass_comp time, component Fraction of mass flow of each component that is removed from the inlet stream.

recovery_frac_mass_H2O is intended to be fixed to 1 (e.g., UV reactor which yields product stream without water losses), but the user can optionally set this to some fraction.

Constraints

The build_siso method writes the following constraints which relate the inlet state to the treated stream. First, a water recovery equation is written for water to relate the flowrate at the treated outlet to that at the inlet:

`water_recovery_equation(t)`:


rt × Minlet, t, H2O = Mtreated, t, H2O

where Mt, H2O is mass flowrate of water at time t.

Note, a mass balance for water is ignored since build_siso is intended to only account for constituent removal/conversion at the treated outlet. Thus, a mass balance constraint is only written for each solute.

`solute_treated_equation(t, j)`:


(1 − ft, j) × Minlet, t, j = Mtreated, t, j

Module Documentation

  • watertap.core.zero_order_siso