Equipment

class qsdsan.Equipment(linked_unit=None, ID=None, units={}, F_BM=1.0, F_D=1.0, F_P=1.0, F_M=1.0, lifetime=None, lifetime_unit='yr', **kwargs)

A flexible class for the design of individual equipment of a SanUnit, this class can be dependent on but will not affect the mass flows within the unit.

A non-abstract subclass of this class must have:

  • A Equipment._design() method for equipment design.

    • This method should be called in the _design method of the unit the equipment belongs to using SanUnit.add_equipment_design().

    • It should return a dict that contains the design (e.g., dimensions) of this equipment.

    • Unit (e.g., m, kg) of the design parameters should be stored in the attribute Equipment._units.

  • A Equipment._cost() method for equipment cost.

    • This method should be called in the _cost method of the unit the equipment belongs to using SanUnit.add_equipment_cost().

    • It should return a float or a dict that contains the total purchase cost of this equipment (or the different parts of the equipment).

    • Installed cost (\(C_{BM}\)) of this equipment will be calculated based on the purchase cost (\(C_{Pb}\))

      \[C_{BM} = C_{Pb} (F_{BM} + F_{D}F_{P}F_{M} - 1)\]
Parameters:
  • ID (str) – ID of this equipment, a default ID will be given if not provided. If this equipment is linked to a unit, then the actual ID will be {unit.ID}_{ID}.

  • linked_unit (obj) – Unit that this equipment is linked to, can be left as None.

  • units (dict) – Units of measure (e.g., m, kg) the of design parameters.

  • F_BM (float or dict(str, float)) – Bare module factor of this equipment.

  • F_D (float or dict(str, float)) – Design factor of this equipment.

  • F_P (float or dict(str, float)) – Pressure factor of this equipment.

  • F_M (float or dict(str, float)) – Material factor of this equipment.

  • lifetime (float or dict(str, float)) – Lifetime of this equipment.

  • lifetime_unit (str) – Unit of the lifetime.

property ID

Unique identification (str). If set as ‘’, it will choose a default ID.

property baseline_purchase_cost

[float] Total purchase cost generated by Equipment._cost(), same as purchase_cost.

property baseline_purchase_costs

[dict] Purchase cost generated by Equipment._cost(), same as purchase_cost.

property design_results

[dict] Design information generated by Equipment._design().

property installed_cost

[float] Total installed cost based on purchase cost and bare module factor.

property linked_unit

SanUnit The unit that this equipment belongs to.

Note

This property will be updated upon initialization of the unit.

property units

[dict] Units of measure (e.g., m, kg) the of design parameters.