Skip to content

Domestic Hot Water Storage Tank (sibling of Hot_Water_Storage_Tank) #781

Description

@jahrling

Summary

brick:Water_Storage_Tank has subclasses for chilled, cold, hot, fire-sprinkler, and rain water, but no class for stored domestic (potable) hot water. The existing brick:Hot_Water_Storage_Tank is explicitly HVAC-scoped:

Hot_Water_Storage_Tank — "A tank designed to store hot water in an HVAC system."

Therefore, domestic hot water (DHW) can't be a child class, which is a potable medium in a separate distribution system. I'd like to add a domestic sibling under Water_Storage_Tank.

Current hierarchy (v1.4)

Storage_Tank
└── Water_Storage_Tank
      ├── Chilled_Water_Storage_Tank      "...store chilled water in HVAC systems."
      ├── Cold_Water_Storage_Tank         "...usually in a building's water supply system."
      ├── Fire_Sprinkler_Water_Storage_Tank
      ├── Hot_Water_Storage_Tank          "...store hot water in an HVAC system."   ← HVAC only
      └── Rain_Water_Storage_Tank

Proposed change

Add Domestic_Hot_Water_Storage_Tank as a sibling of Hot_Water_Storage_Tank:

Water_Storage_Tank
├── Chilled_Water_Storage_Tank
├── Cold_Water_Storage_Tank
├── Fire_Sprinkler_Water_Storage_Tank
├── Hot_Water_Storage_Tank                 (existing — HVAC closed-loop)
├── + Domestic_Hot_Water_Storage_Tank      (NEW — potable DHW)
└── Rain_Water_Storage_Tank

Proposed definition:

Domestic_Hot_Water_Storage_Tank — "A tank designed to store heated potable (domestic) hot water for distribution to plumbing fixtures and process end-uses. Distinct from Hot_Water_Storage_Tank, which stores non-potable hot water for an HVAC/hydronic heating system."

Tags (mirroring the existing siblings, adding Domestic): [Domestic, Hot, Water, Storage, Equipment].

Rationale

  1. Medium and system are different. DHW is potable and lives in the domestic plumbing system; HVAC hot water is a non-potable closed hydronic loop. Brick already draws this exact distinction at the system level — brick:Domestic_Hot_Water_System vs. brick:Hot_Water_System — and at the pump level (brick:Domestic_Hot_Water_Circulator_Pump vs. brick:Hot_Water_Circulator_Pump). The storage tank is the missing piece of that parallel.
  2. Naming consistency. Brick already spells out the Domestic_Hot_Water_ prefix, so Domestic_Hot_Water_Storage_Tank slots in cleanly.
  3. Real modeling need. Central DHW plants commonly use dedicated storage/buffer vessels (paired with tankless, indirect, semi-instantaneous, or heat-pump heaters). Today there is no correct Brick class for that vessel — Hot_Water_Storage_Tank mis-scopes it to HVAC and Cold_Water_Storage_Tank is also incorrect.

Relationship to other work

Questions

  • Q1 — Tank vs. Storage_Water_Heater. A combined storage water heater (Add Domestic_Water_Heater hierarchy #780) heats and stores. A separate buffer/storage tank just stores. Should a combined appliance be modeled as Storage_Water_Heater hasPart Domestic_Hot_Water_Storage_Tank, or kept as the single combined Storage_Water_Heater class (as Add Domestic_Water_Heater hierarchy #780 Q4 decided)? I don't know what's the correct setup per Brick practices.
  • Q2 — System linkage. I'm assuming there's no need for a relationship to brick:Domestic_Hot_Water_System (e.g., isPartOf / hasPart). Maybe others have a different opinion.
  • Q3 — Orientation (out of scope here). I don't think it's worth adding this into the class. In practice, vertical vs. horizontal storage tanks have materially different usable-volume fractions (stratification). Flagging it as a possible future property or sub-distinction across all Storage_Tank types, not DHW-specific.
  • Q4 — Service water definition. I've noticed elsewhere (like LEED) that the term "service water" is used rather than "domestic water". Not looking to tackle that here... yet.

drafted with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions