Skip to content

Add Plant class #783

@jahrling

Description

@jahrling

Brick can model the individual pieces of a given system; Domestic_Water_Heater (#780), the proposed Domestic_Hot_Water_Storage_Tank (#781), Domestic_Hot_Water_Circulator_Pump — and the logical brick:Domestic_Hot_Water_System. But there is no class for the central DHW plant: the physical assembly of multiple water heaters (and typically storage tanks and primary circulators) that together produce and supply domestic hot water, often staged or manifolded to reach a combined output beyond any single unit. There is a corollary concept for boilers and chillers, although the chiller plant is more complex in scope than either boiler or DHW plants. Physically, one of the reasons why a boiler plant or DHW plant is needed is because a single piece of equipment cannot provide the necessary BTU output to meet the load demands of the building. These separate boilers and water heaters can be configured through one of them being the supervisor controller (even when a BAS is present), or through a separate local controller that ensures run-hours per equipment is spread out.

Current state

  • brick:Domestic_Hot_Water_System exists (a logical/functional system grouping).
  • Individual production equipment exists (heaters, the proposed tank, circulator pumps).
  • No Plant / central-plant grouping class exists anywhere in Brick (no Plant, Central_Plant, Heating_Plant, Water_Distribution, etc.), and nothing groups multiple heaters/boilers into one production unit.

Why it's needed

In commercial and institutional buildings the DHW plant is a recognized design and operational unit — staged heaters + storage + primary recirculation, individual unit flow actuation, sited together in a mechanical room, and monitored/controlled as one entity. Operators and analytics routinely reference "the plant." Today it can only be expressed as an untyped hasPart group of equipment, or conflated with the System, which is too all-encompassing. It is also not a location sub-class of Location because it's purpose is to add energy to water, not as a section of a room. A first-class type would let tools identify the specific group of equipment directly.

Proposed options

  • Option A (recommended) — Specific equipment classes. Add brick:Domestic_Hot_Water_Plant as a subclass of brick:Equipment, representing the physical production assembly. Members (Domestic_Water_Heater, Domestic_Hot_Water_Storage_Tank, Domestic_Hot_Water_Circulator_Pump) attach via brick:hasPart; the plant relates to brick:Domestic_Hot_Water_System via brick:isPartOf (the plant is the production core of the system). Do the same with brick:Hot_Water_Plant (which feels like Brick vernacular, but I typically say "Boiler_Plant"), and brick:Chiller_Plant.
  • Option B — general Plant family. Introduce a brick:Plant superclass with Domestic_Hot_Water_Plant, Hot_Water_Plant (boiler plant), and Chilled_Water_Plant (chiller plant). The same central-plant pattern recurs across HVAC and matches how operators speak ("boiler plant," "chiller plant," "DHW plant").
  • Option C — no new class. Treat the plant as adequately covered by brick:Domestic_Hot_Water_System + hasPart. (See the System-vs-assembly distinction below before choosing this.). Anyone out there do this right now?

System vs. Plant
A System in Brick is a logical grouping that can span production equipment, distribution piping, and end uses. A plant is narrower: the physical production/heating assembly (heaters + storage + primary pumps). Keeping them distinct lets a model say "this equipment assembly is the plant, and it is part of the larger DHW system."

Out of scope (deliberately)

  • The room/space the plant occupies — that is a location concern (RealEstateCore), not an equipment-class concern; the plant is equipment located in a space, not a kind of space.

Questions

  • Q1 — Relationships. Recommended hasPart members (Domestic_Water_Heater, Domestic_Hot_Water_Storage_Tank, Domestic_Hot_Water_Circulator_Pump) and isPartOf Domestic_Hot_Water_System — adopt as guidance, or leave to the modeler?
  • Q2 — Effect on brick:HVAC_Equipment and brick:Water_Heater. Many of the equipment sub-classes of brick:HVAC_Equipment also apply to a Water_Heating_Equipment class. It would be odd to have a series of other equipment that only cover DHW that are not part of the parent class of each... brick:Domestic_Hot_Water_Circulator_Pump is already there!

Related: #777, #780, #781.

drafted with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions