watertap.costing.unit_models package

Submodules

watertap.costing.unit_models.anaerobic_digester module

watertap.costing.unit_models.anaerobic_digester.cost_anaerobic_digester(blk, cost_electricity_flow=True)[source]

Anaerobic digester costing method

watertap.costing.unit_models.anaerobic_digester.cost_anaerobic_digester_capital(blk, capital_a_parameter, capital_b_parameter, reference_flow)[source]

Generic function for costing an anaerobic digester system.

watertap.costing.unit_models.clarifier module

[1] Sharma, Jwala R., Mohammad Najafi, and Syed R. Qasim. “Preliminary cost estimation models for construction, operation, and maintenance of water treatment plants.” Journal of Infrastructure Systems 19.4 (2013): 451-464.

[2] Byun, Jaewon, Maravelias, Christos. Benchmark Model for Wastewater Treatment Using an Activated Sludge Process. United States: N.p., 21 Jan, 2022. Web. doi: 10.7481/1844539.

class watertap.costing.unit_models.clarifier.ClarifierType(value)[source]

Bases: StrEnum

An enumeration.

watertap.costing.unit_models.clarifier.cost_circular_clarifier(blk, cost_electricity_flow=True)[source]

Circular clarifier costing method [1]

watertap.costing.unit_models.clarifier.cost_clarifier(blk, clarifier_type=ClarifierType.circular, **kwargs)[source]

Clarifier costing method

Parameters:

clarifier_type – ClarifierType Enum indicating clarifier type, default = ClarifierType.circular

watertap.costing.unit_models.clarifier.cost_primary_clarifier(blk, cost_electricity_flow=True)[source]

Primary clarifier costing method [2]

watertap.costing.unit_models.clarifier.cost_rectangular_clarifier(blk, cost_electricity_flow=True)[source]

Rectangular clarifier costing method [1]

watertap.costing.unit_models.compressor module

watertap.costing.unit_models.crystallizer module

class watertap.costing.unit_models.crystallizer.CrystallizerCostType(value)[source]

Bases: StrEnum

An enumeration.

watertap.costing.unit_models.crystallizer.cost_crystallizer(blk, cost_type=CrystallizerCostType.default)[source]

Function for costing the FC crystallizer by the mass flow of produced crystals. The operating cost model assumes that heat is supplied via condensation of saturated steam (see Dutta et al.)

Parameters:

cost_type – Option for crystallizer cost function type - volume or mass basis

watertap.costing.unit_models.crystallizer.cost_crystallizer_by_crystal_mass(blk)[source]

Mass-based capital cost for FC crystallizer

watertap.costing.unit_models.crystallizer.cost_crystallizer_by_volume(blk)[source]

Volume-based capital cost for FC crystallizer

watertap.costing.unit_models.cstr module

watertap.costing.unit_models.cstr.cost_cstr(blk)[source]

CSTR costing method

watertap.costing.unit_models.cstr_injection module

watertap.costing.unit_models.cstr_injection.cost_cstr_injection(blk, cost_electricity_flow=True)[source]

CSTR injection costing method

watertap.costing.unit_models.cstr_injection.cost_cstr_injection_capital(blk, capital_a_parameter, capital_b_parameter)[source]

Generic function for costing a CSTR injection system.

watertap.costing.unit_models.dewatering module

class watertap.costing.unit_models.dewatering.DewateringType(value)[source]

Bases: StrEnum

An enumeration.

watertap.costing.unit_models.dewatering.cost_centrifuge(blk, dewatering_type=DewateringType.centrifuge, cost_electricity_flow=True)[source]

Centrifuge costing method

watertap.costing.unit_models.dewatering.cost_filter_belt_press(blk, dewatering_type=DewateringType.filter_belt_press, cost_electricity_flow=True)[source]

Belt Press Filter costing method

watertap.costing.unit_models.dewatering.cost_filter_plate_press(blk, dewatering_type=DewateringType.filter_plate_press, cost_electricity_flow=True)[source]

Plate Press Filter costing method

watertap.costing.unit_models.electroNP module

watertap.costing.unit_models.electroNP.cost_electroNP(blk, cost_electricity_flow=True, cost_MgCl2_flow=True, cost_phosphorus_flow=True)[source]

ElectroNP costing method

watertap.costing.unit_models.electroNP.cost_electroNP_capital(blk, HRT, sizing_cost)[source]

Generic function for costing an ElectroNP system.

watertap.costing.unit_models.electrodialysis module

watertap.costing.unit_models.electrodialysis.cost_electrodialysis(blk, cost_electricity_flow=True, has_rectifier=False)[source]

Function for costing the Electrodialysis unit

Parameters:
  • cost_electricity_flow (bool, optional) – Option for including the costing of electricity. Defaults to True.

  • has_rectifier (bool, optional) – Option for including a rectifier. Defaults to False.

watertap.costing.unit_models.electrodialysis.cost_electrodialysis_stack(blk)[source]

Generic function for costing the stack in an electrodialysis unit. Assumes the unit_model has a cell_pair_num, cell_width, and cell_length set of variables used to size the total membrane area.

watertap.costing.unit_models.electrolyzer module

watertap.costing.unit_models.electrolyzer.cost_electrolyzer(blk)[source]

electrolyzer costing method

watertap.costing.unit_models.energy_recovery_device module

class watertap.costing.unit_models.energy_recovery_device.EnergyRecoveryDeviceType(value)[source]

Bases: StrEnum

An enumeration.

watertap.costing.unit_models.energy_recovery_device.cost_energy_recovery_device(blk, energy_recovery_device_type=EnergyRecoveryDeviceType.pressure_exchanger, cost_electricity_flow=True)[source]

Energy recovery device costing method

TODO: describe equations

Parameters:
  • energy_recovery_device_type – EnergyRecoveryDeviceType Enum indicating ERD type. Defaults to EnergyRecoveryDeviceType.pressure_exchanger.

  • cost_electricity_flow – bool, if True, the ERD’s work_mechanical will be converted to kW and costed as an electricity. Defaults to True.

watertap.costing.unit_models.energy_recovery_device.cost_pressure_exchanger_erd(blk, cost_electricity_flow=True)[source]

ERD pressure exchanger costing method

TODO: describe equations

Parameters:

cost_electricity_flow (bool) – if True, the ERD’s work_mechanical will be converted to kW and costed as an electricity. Defaults to True.

watertap.costing.unit_models.evaporator module

watertap.costing.unit_models.gac module

class watertap.costing.unit_models.gac.ContactorType(value)[source]

Bases: StrEnum

An enumeration.

watertap.costing.unit_models.gac.cost_gac(blk, contactor_type=ContactorType.pressure)[source]

3 equation capital cost estimation for GAC systems with: (i), contactor/pressure vessel cost by polynomial as a function of individual contactor volume; (ii), initial charge of GAC adsorbent cost by exponential as a function of required mass of GAC adsorbent; and (iii), other process costs (vessels, pipes, instrumentation, and controls) calculated by power law as a function of total contactor(s) volume. Operating costs calculated as the required makeup and regeneration of GAC adsorbent. Energy consumption is estimated from that required for booster, backwash, and residual pumps as a function of total contactor(s) volume.

Parameters:

contactor_type – ContactorType Enum indicating whether to cost based on steel pressure vessels or concrete, default = ContactorType.pressure

watertap.costing.unit_models.gac.cost_gac_gravity(blk)[source]

3 equation capital cost estimation for GAC systems with: (i), contactor/pressure vessel cost by polynomial as a function of individual contactor volume; (ii), initial charge of GAC adsorbent cost by exponential as a function of required mass of GAC adsorbent; and (iii), other process costs (vessels, pipes, instrumentation, and controls) calculated by power law as a function of total contactor(s) volume. Operating costs calculated as the required makeup and regeneration of GAC adsorbent. Energy consumption is estimated from that required for booster, backwash, and residual pumps as a function of total contactor(s) volume.

This function costs assuming concrete gravity-fed basins.

watertap.costing.unit_models.gac.cost_gac_pressure(blk)[source]

3 equation capital cost estimation for GAC systems with: (i), contactor/pressure vessel cost by polynomial as a function of individual contactor volume; (ii), initial charge of GAC adsorbent cost by exponential as a function of required mass of GAC adsorbent; and (iii), other process costs (vessels, pipes, instrumentation, and controls) calculated by power law as a function of total contactor(s) volume. Operating costs calculated as the required makeup and regeneration of GAC adsorbent. Energy consumption is estimated from that required for booster, backwash, and residual pumps as a function of total contactor(s) volume.

This function costs assuming steel pressure-fed vessels.

watertap.costing.unit_models.heat_exchanger module

watertap.costing.unit_models.heat_exchanger.cost_heat_exchanger(blk, cost_steam_flow=False)[source]

Heat Exchanger Costing Method

TODO: describe equations

watertap.costing.unit_models.heater_chiller module

class watertap.costing.unit_models.heater_chiller.HCType(value)[source]

Bases: StrEnum

An enumeration.

watertap.costing.unit_models.heater_chiller.cost_chiller(blk, cost_electricity_flow=True)[source]

chiller costing method

TODO: describe equations

Parameters:

cost_electricity_flow (bool) – if True, the chiller’s heat_duty will be converted to kW and costed as an electricity. Defaults to True.

watertap.costing.unit_models.heater_chiller.cost_electric_heater(blk, cost_electricity_flow=True)[source]

electric heater costing method

TODO: describe equations

Parameters:

cost_electricity_flow (bool) – if True, the heater’s heat duty will be converted to kW and costed as an electricity. Defaults to True.

watertap.costing.unit_models.heater_chiller.cost_heater_chiller(blk, HC_type=HCType.electric_heater, cost_electricity_flow=True)[source]

electric heater costing method

Parameters:
  • HC_type – HCType Enum indicating heating or cooling type, default = HCType.electric_heater

  • cost_electricity_flow – bool, if True, the heater’s heat duty will be converted to kW and costed as an electricity, default = True

watertap.costing.unit_models.ion_exchange module

watertap.costing.unit_models.ion_exchange.cost_ion_exchange(blk)[source]

Volume-based capital cost for Ion Exchange

watertap.costing.unit_models.membrane_distillation module

watertap.costing.unit_models.membrane_distillation.cost_membrane_distillation(blk)[source]

membrane distillation costing method

TODO: describe equations

watertap.costing.unit_models.mixer module

class watertap.costing.unit_models.mixer.MixerType(value)[source]

Bases: StrEnum

An enumeration.

watertap.costing.unit_models.mixer.cost_caoh2_mixer(blk, dosing_rate)[source]

CaOH2 mixer costing method

TODO: describe equations

Parameters:

dosing_rate – An expression in [mass/time] for CaOH2 dosage

watertap.costing.unit_models.mixer.cost_default_mixer(blk)[source]

Default mixer costing method

TODO: describe equations

watertap.costing.unit_models.mixer.cost_mixer(blk, mixer_type=MixerType.default, **kwargs)[source]

Mixer costing method

Parameters:
  • mixer_type – MixerType Enum indicating mixer type, default = MixerType.default

  • **kwargs – Additional keywords for the MixerType, e.g., NaOCl and CaOH2 mixers expect the dosing_rate keyword argument.

watertap.costing.unit_models.mixer.cost_naocl_mixer(blk, dosing_rate)[source]

NaOCl mixer costing method

TODO: describe equations

Parameters:

dosing_rate – An expression in [mass/time] for NaOCl dosage

watertap.costing.unit_models.nanofiltration module

watertap.costing.unit_models.nanofiltration.cost_nanofiltration(blk)[source]

Nanofiltration costing method

TODO: describe equations

watertap.costing.unit_models.osmotically_assisted_reverse_osmosis module

class watertap.costing.unit_models.osmotically_assisted_reverse_osmosis.OAROType(value)[source]

Bases: StrEnum

An enumeration.

watertap.costing.unit_models.osmotically_assisted_reverse_osmosis.build_osmotically_assisted_reverse_osmosis_cost_param_block(blk)[source]

Reference parameter values are provided from: Bartholomew, T. V., Mey, L., Arena, J. T., Siefert, N. S., & Mauter, M. S. (2017). Osmotically assisted reverse osmosis for high salinity brine treatment. Desalination, 421, 3-11.

watertap.costing.unit_models.osmotically_assisted_reverse_osmosis.cost_osmotically_assisted_reverse_osmosis(blk, oaro_type=OAROType.standard)[source]

Osmotically assisted reverse osmosis costing method

TODO: describe equations

Parameters:

oaro_type – ROType Enum indicating osmotically assisted reverse osmosis type, default = OAROType.standard

watertap.costing.unit_models.pressure_exchanger module

watertap.costing.unit_models.pressure_exchanger.cost_pressure_exchanger(blk)[source]

Pressure exchanger costing method

TODO: describe equations

watertap.costing.unit_models.pump module

class watertap.costing.unit_models.pump.PumpType(value)[source]

Bases: StrEnum

An enumeration.

watertap.costing.unit_models.pump.cost_high_pressure_pump(blk, cost_electricity_flow=True)[source]

High pressure pump costing method

TODO: describe equations

Parameters:

cost_electricity_flow (bool) – if True, the Pump’s work_mechanical will be converted to kW and costed as an electricity. Defaults to True.

watertap.costing.unit_models.pump.cost_low_pressure_pump(blk, cost_electricity_flow=True)[source]

Low pressure pump costing method

TODO: describe equations

Parameters:

cost_electricity_flow (bool) – if True, the Pump’s work_mechanical will be converted to kW and costed as an electricity. Defaults to True.

watertap.costing.unit_models.pump.cost_pump(blk, pump_type=PumpType.high_pressure, cost_electricity_flow=True)[source]

Pump costing method

TODO: describe equations

Parameters:
  • pump_type – PumpType Enum indicating pump type, default = PumpType.high_pressure

  • cost_electricity_flow – bool, if True, the Pump’s work_mechanical will be converted to kW and costed as an electricity, default = True

watertap.costing.unit_models.reverse_osmosis module

class watertap.costing.unit_models.reverse_osmosis.ROType(value)[source]

Bases: StrEnum

An enumeration.

watertap.costing.unit_models.reverse_osmosis.cost_reverse_osmosis(blk, ro_type=ROType.standard)[source]

Reverse osmosis costing method

TODO: describe equations

Parameters:

ro_type – ROType Enum indicating reverse osmosis type, default = ROType.standard

watertap.costing.unit_models.stoichiometric_reactor module

watertap.costing.unit_models.thickener module

watertap.costing.unit_models.thickener.cost_thickener(blk, cost_electricity_flow=True)[source]

Gravity Sludge Thickener costing method

watertap.costing.unit_models.uv_aop module

watertap.costing.unit_models.uv_aop.cost_uv_aop(blk, cost_electricity_flow=True)[source]

UV-AOP costing method

watertap.costing.unit_models.uv_aop.cost_uv_aop_bundle(blk, reactor_cost, lamp_cost, factor_lamp_replacement)[source]

Generic function for costing a UV system.

Parameters:
  • reactor_cost – The cost of UV reactor in [currency]/[volume]

  • lamp_cost – The costs of the lamps, sleeves, ballasts and sensors in [currency]/[kW]

Module contents