AHU with Face and by pass

92 views
Skip to first unread message

Chris Schneider

unread,
Jun 6, 2025, 1:30:33 AMJun 6
to Brick User Forum (Unified Building Metadata Schema)
I'm trying to work out how to implement a Face and Bypass Zone in this system, Do I use the HVAC_Zone, or is this meant to the area supplied? It's one of a few things missing in the system but I think a critical one, we have hunderds of these types of units.

Jason Koh

unread,
Jun 6, 2025, 10:51:58 AMJun 6
to Chris Schneider, Brick User Forum (Unified Building Metadata Schema)
Hi Chris,

Zones are more of a spatial concept like rooms and a hallway unlike Face and Bypass. ASHRAE 223P models Duct (https://explore.open223.info/s223/Duct.html) and maybe Brick can complement it by providing more specific vocabularies like Face and Bypass as a subclass of Duct, and make it a part of AHUs.

What use cases do you envision using those concepts?


With regards,
Jason Koh


On Thu, Jun 5, 2025 at 10:30 PM Chris Schneider <cschn...@bar-tech.com.au> wrote:
I'm trying to work out how to implement a Face and Bypass Zone in this system, Do I use the HVAC_Zone, or is this meant to the area supplied? It's one of a few things missing in the system but I think a critical one, we have hunderds of these types of units.

--
You received this message because you are subscribed to the Google Groups "Brick User Forum (Unified Building Metadata Schema)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to brickschema...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/brickschema/e169538c-f8cf-45f9-90e0-bdf6fa5558cfn%40googlegroups.com.

Chris Schneider

unread,
Jun 8, 2025, 7:39:17 AMJun 8
to Jason Koh, Brick User Forum (Unified Building Metadata Schema)
The concept is that I have ahus with face and bypass zones, they are part of the unit and I want to model them correctly, in an OO environment they should be subsections of the Ahu. This would mean I can template them and have variations. I have zone sensors and zone dampers but that is the wrong approach for this type of system and doesn't truely show the relationship.

Gabriel Fierro

unread,
Jun 12, 2025, 1:43:13 PMJun 12
to Chris Schneider, Jason Koh, Brick User Forum (Unified Building Metadata Schema)

Hi Chris:

 

Thanks for your question!

 

I want to make sure I’m understanding you correctly – I’ve heard face section and bypass section, but not face zone and bypass zone. Am I correct to interpret “face zone” as what’s labeled ‘face’ in this diagram?

 

The “Zone” concept in Brick is not about regions of equipment (like AHUs) but about logical groups of spaces, i.e. all rooms supplied by the same terminal unit. Brick could create “face zone/section” as an equipment so it could be “isPartOf” the AHU, but that doesn’t feel clean to me either. To rephrase Jason’s question: can you let us know how you want to use this information? Is the goal to identify which AHUs have face/bypass regions, or is it to localize a sensor as being in that region?

 

Brick isn’t quite OO, but you can easily compose information to create what you need. Say I created a “brick:Face_Section” equipment as I suggested above. Then I could model an AHU with a Face_Section as:

:ahu a brick:AHU ;

  brick:hasPart :face_sec, :zone_sec, :heat_coil, :cool_coil .

:face_sec a brick:Face_Section .

# etc…

 

ASHRAE 223P (https://open223.info) has the kind of detail where you can define the face and bypass regions as “connections” between the different coils or input/output points of the AHU itself. I can put together a quick example of this if you’d like, but it’s probably more detail than you need.

 

Best,

Gabe

 

--

You received this message because you are subscribed to the Google Groups "Brick User Forum (Unified Building Metadata Schema)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to brickschema...@googlegroups.com.

Chris Schneider

unread,
Jun 12, 2025, 7:13:35 PMJun 12
to Gabriel Fierro, Jason Koh, Brick User Forum (Unified Building Metadata Schema)
We have been creating our own brick elements but I don't even know what to inherit from in this instance.


A face and bypass zones is part of an Ahu with a damper/opposing dampers which allow air to pass through a coil or bypass it. It's more like a vav hot deck cold deck. We program them independent of the unit and pass back control similar to a vav. We are actually a little bit further advanced with brick than a lot of companies and are looking to use it to define systems for automatic programming but we need this relationship and would prefer it to suit a logical update in later stages of brick. We also do have standard zone units so I think f/b would inherit from them.


Even if you just give us an object to inherit from we can build it in our system and show you what the end results look like.

Chris Schneider 
General Manager
0411 641 450  
59 Steel St, Capalaba QLD 4157

"This Electronic Mail Message and its attachments are confidential.  If you are not the intended recipient, you may not disclose or use the information contained in it.  If you have received this Electronic Mail Message in error, please advise the sender immediately by replying to this email and delete the message and any associated attachments.  While every care is taken, it is recommended that you scan any attachments for viruses."

Gabriel Fierro

unread,
Jun 19, 2025, 5:14:26 PMJun 19
to Chris Schneider, Jason Koh, Brick User Forum (Unified Building Metadata Schema)

Hi Chris:

 

I think it’s an awkward thing to model with Brick because we don’t have a concept to represent a “region” of space (like the region of space between 2 dampers) or even the ducts/pipes between entities in the model.

 

How would you like to think about the face/bypass “thing”? Is it an “Equipment”? Or perhaps a “Collection” of equipment? (I think I like “collection” better). I could create an “EquipmentGroup” subclass of “Collection” which you could then subclass into a “FaceBypassDamperGroup” which is a NodeShape which says it must contain 1 Face Damper and 1 Bypass Damper. Then your AHU can “hasPart” your FaceBypassDamperGroup. I’ll try to put together an example this evening to do

 

Your use of Brick sounds really cool, and I would love to learn more about what you’re doing so I can make sure we are supporting you. I really appreciate you taking the time to write this up!   Sorry my responses have been slow --- I was out sick past couple of days.

 

Best,

Gabe

 

From: Chris Schneider <cschn...@bar-tech.com.au>
Date: Thursday, June 12, 2025 at 5:13
PM
To: Gabriel Fierro <ga...@brickschema.org>
Cc: Jason Koh <bk7...@gmail.com>, Brick User Forum (Unified Building Metadata Schema) <brick...@googlegroups.com>
Subject: Re: [Brick] AHU with Face and by pass

We have been creating our own brick elements but I don't even know what to inherit from in this instance.

 

 

A face and bypass zones is part of an Ahu with a damper/opposing dampers which allow air to pass through a coil or bypass it. It's more like a vav hot deck cold deck. We program them independent of the unit and pass back control similar to a vav. We are actually a little bit further advanced with brick than a lot of companies and are looking to use it to define systems for automatic programming but we need this relationship and would prefer it to suit a logical update in later stages of brick. We also do have standard zone units so I think f/b would inherit from them.

 

 

Even if you just give us an object to inherit from we can build it in our system and show you what the end results look like.

 

Chris Schneider 

General Manager

Image removed by sender.

Image removed by sender.

Image removed by sender.

Image removed by sender.

0411 641 450  

Image removed by sender.

Chris Schneider

unread,
Jul 4, 2025, 9:39:58 PMJul 4
to Gabriel Fierro, Jason Koh, Brick User Forum (Unified Building Metadata Schema)
I think a f/b is closer to a brick:Terminal_Unit it's fixed volume that fixed volume is kind of like a cold deck hot deck cav

Chris Schneider 
General Manager
59 Steel St, Capalaba QLD 4157

"This Electronic Mail Message and its attachments are confidential.  If you are not the intended recipient, you may not disclose or use the information contained in it.  If you have received this Electronic Mail Message in error, please advise the sender immediately by replying to this email and delete the message and any associated attachments.  While every care is taken, it is recommended that you scan any attachments for viruses."
Message has been deleted
Message has been deleted

Chris Schneider

unread,
Jul 25, 2025, 2:56:43 AMJul 25
to Brick User Forum (Unified Building Metadata Schema)
What do people think about this? Ideally, it would be part of brick, but I assume it would need to be part of our extensions for a while.


@prefix brick: <https://brickschema.org/schema/Brick#> .
@prefix bmcs: <https://openbmcs.com/schema/brick-extensions#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2008/05/skos#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .

# ============================================
# Multizone AHU Classes for OpenBMCS Extension
# ============================================

# Base multizone AHU class
bmcs:Multizone_Air_Handling_Unit a owl:Class ;
    rdfs:subClassOf brick:Air_Handling_Unit ;
    skos:definition "Air handling unit with multiple integrated zone control modules that can serve different zones with individual temperature and/or flow control" ;
    rdfs:comment "A multizone AHU contains integrated terminal units rather than serving remote VAV/CAV boxes" .

# Base class for zone terminals within multizone AHUs
bmcs:Multizone_Terminal_Unit a owl:Class ;
    rdfs:subClassOf brick:Terminal_Unit ;
    skos:definition "Terminal unit integrated within a multizone AHU that serves a specific zone" ;
    rdfs:comment "Parent class for various types of zone control modules in multizone AHUs" .

# ============================================
# Specific Zone Terminal Types
# ============================================

# 1. Face/Bypass Terminal (constant volume, variable temperature)
bmcs:Face_Bypass_Terminal_Unit a owl:Class ;
    rdfs:subClassOf bmcs:Multizone_Terminal_Unit ;
    skos:definition "Constant volume terminal unit using face and bypass dampers to modulate discharge temperature while maintaining constant airflow" ;
    rdfs:comment "Face damper controls flow through coil, bypass damper controls flow around coil" .

# 2. Simple Damper Terminal (variable volume, no temperature control)
bmcs:Damper_Only_Terminal_Unit a owl:Class ;
    rdfs:subClassOf bmcs:Multizone_Terminal_Unit ;
    skos:definition "Terminal unit with a single modulating damper for variable air volume control without local temperature control" ;
    rdfs:comment "Relies on AHU supply air temperature for zone temperature control" .

# 3. Heating-Only Terminal (with modulating damper and heating)
bmcs:Heating_Terminal_Unit a owl:Class ;
    rdfs:subClassOf bmcs:Multizone_Terminal_Unit ;
    skos:definition "Terminal unit with modulating damper and heating capability (electric or hot water)" ;
    rdfs:comment "Can modulate airflow and add heat but cannot cool below AHU supply temperature" .

# 4. Cooling-Only Terminal (with modulating damper and cooling)
bmcs:Cooling_Terminal_Unit a owl:Class ;
    rdfs:subClassOf bmcs:Multizone_Terminal_Unit ;
    skos:definition "Terminal unit with modulating damper and cooling capability (chilled water or DX)" ;
    rdfs:comment "Can modulate airflow and add cooling but cannot heat above AHU supply temperature" .

# 5. Heating/Cooling Terminal (full temperature control)
bmcs:Heating_Cooling_Terminal_Unit a owl:Class ;
    rdfs:subClassOf bmcs:Multizone_Terminal_Unit ;
    skos:definition "Terminal unit with modulating damper plus both heating and cooling capabilities" ;
    rdfs:comment "Provides full temperature and airflow control for the zone" .

# 6. Variable/Constant Switchable Terminal
bmcs:Dual_Mode_Terminal_Unit a owl:Class ;
    rdfs:subClassOf bmcs:Multizone_Terminal_Unit ;
    skos:definition "Terminal unit that can operate in either constant volume or variable air volume mode" ;
    rdfs:comment "Typically used for zones that require constant volume during occupied hours and VAV during unoccupied" .

# ============================================
# Example Implementation
# ============================================

@prefix bldg: <urn:building#> .
@prefix unit: <http://qudt.org/vocab/unit/> .

# A multizone AHU with different zone types
bldg:AHU-West a bmcs:Multizone_Air_Handling_Unit ;
    skos:definition "West wing multizone AHU serving 6 zones with mixed control strategies" ;
    brick:hasPart
        bldg:AHU-West_Supply_Fan,
        bldg:AHU-West_Return_Fan,
        bldg:AHU-West_Cooling_Coil,
        bldg:AHU-West_Heating_Coil,
        # Different types of zone terminals
        bldg:AHU-West_Zone1_Terminal,  # Face/bypass
        bldg:AHU-West_Zone2_Terminal,  # Simple damper
        bldg:AHU-West_Zone3_Terminal,  # Heating only
        bldg:AHU-West_Zone4_Terminal,  # Face/bypass
        bldg:AHU-West_Zone5_Terminal,  # Dual mode
        bldg:AHU-West_Zone6_Terminal . # Heating/cooling

# Zone 1: Face/Bypass for conference room (constant volume)
bldg:AHU-West_Zone1_Terminal a bmcs:Face_Bypass_Terminal_Unit ;
    brick:isPartOf bldg:AHU-West ;
    skos:definition "Conference room zone - constant volume with temperature control" ;
    brick:feeds bldg:Conference_Room_Zone ;
    brick:hasPart
        bldg:Zone1_Face_Damper,
        bldg:Zone1_Bypass_Damper ;
    brick:hasPoint
        bldg:Zone1_Discharge_Temp,
        bldg:Zone1_Zone_Temp_Setpoint,
        bldg:Zone1_Airflow_Sensor .

# Zone 2: Simple damper for storage area (VAV, no reheat)
bldg:AHU-West_Zone2_Terminal a bmcs:Damper_Only_Terminal_Unit ;
    brick:isPartOf bldg:AHU-West ;
    skos:definition "Storage area - variable volume only" ;
    brick:feeds bldg:Storage_Zone ;
    brick:hasPart bldg:Zone2_Damper ;
    brick:hasPoint
        bldg:Zone2_Damper_Position,
        bldg:Zone2_Airflow_Setpoint .

# Zone 3: VAV with heating for perimeter office
bldg:AHU-West_Zone3_Terminal a bmcs:Heating_Terminal_Unit ;
    brick:isPartOf bldg:AHU-West ;
    skos:definition "Perimeter office - VAV with hot water reheat" ;
    brick:feeds bldg:North_Office_Zone ;
    brick:hasPart
        bldg:Zone3_Damper,
        bldg:Zone3_Hot_Water_Coil ;
    brick:hasPoint
        bldg:Zone3_Discharge_Temp,
        bldg:Zone3_Zone_Temp_Setpoint,
        bldg:Zone3_Valve_Position .

# Zone 5: Dual mode for lab space
bldg:AHU-West_Zone5_Terminal a bmcs:Dual_Mode_Terminal_Unit ;
    brick:isPartOf bldg:AHU-West ;
    skos:definition "Laboratory - CAV during occupied, VAV during unoccupied" ;
    brick:feeds bldg:Lab_Zone ;
    brick:hasPart
        bldg:Zone5_Damper,
        bldg:Zone5_Electric_Heater ;
    brick:hasPoint
        bldg:Zone5_Mode_Command,  # CAV/VAV mode
        bldg:Zone5_Occupied_Flow_Setpoint,
        bldg:Zone5_Unoccupied_Flow_Setpoint .

# Zone 6: Full heating/cooling for computer room
bldg:AHU-West_Zone6_Terminal a bmcs:Heating_Cooling_Terminal_Unit ;
    brick:isPartOf bldg:AHU-West ;
    skos:definition "Computer room - precise temperature control" ;
    brick:feeds bldg:Computer_Room_Zone ;
    brick:hasPart
        bldg:Zone6_Damper,
        bldg:Zone6_DX_Cooling_Coil,
        bldg:Zone6_Electric_Heater ;
    brick:hasPoint
        bldg:Zone6_Discharge_Temp,
        bldg:Zone6_Zone_Temp_Setpoint,
        bldg:Zone6_Cooling_Enable,
        bldg:Zone6_Heating_Enable .

# ============================================
# SHACL Shapes for Validation
# ============================================

@prefix sh: <http://www.w3.org/ns/shacl#> .

bmcs:FaceBypassTerminalShape a sh:NodeShape ;
    sh:targetClass bmcs:Face_Bypass_Terminal_Unit ;
    sh:property [
        sh:path brick:hasPart ;
        sh:qualifiedValueShape [ sh:class brick:Damper ] ;
        sh:qualifiedMinCount 2 ;
        sh:message "Face/Bypass terminal must have at least 2 dampers"
    ] .

bmcs:DamperOnlyTerminalShape a sh:NodeShape ;
    sh:targetClass bmcs:Damper_Only_Terminal_Unit ;
    sh:property [
        sh:path brick:hasPart ;
        sh:qualifiedValueShape [ sh:class brick:Damper ] ;
        sh:qualifiedMinCount 1 ;
        sh:qualifiedMaxCount 1 ;
        sh:message "Damper-only terminal must have exactly 1 damper"
    ] .



Chris Schneider

unread,
Jul 25, 2025, 4:45:40 PMJul 25
to Brick User Forum (Unified Building Metadata Schema)
what do people think about this approach?
Chris Schneider 
General Manager
0411 641 450  
59 Steel St, Capalaba QLD 4157

"This Electronic Mail Message and its attachments are confidential.  If you are not the intended recipient, you may not disclose or use the information contained in it.  If you have received this Electronic Mail Message in error, please advise the sender immediately by replying to this email and delete the message and any associated attachments.  While every care is taken, it is recommended that you scan any attachments for viruses."


On Wed, 9 Jul 2025 at 06:55, Chris Schneider <cschn...@bar-tech.com.au> wrote:
I also found out controller is deprecated... HUH? Why, this is quite important.

Gabriel Fierro

unread,
Jul 29, 2025, 9:57:33 AMJul 29
to Chris Schneider, Brick User Forum (Unified Building Metadata Schema)
Hi Chris:

I like the approach! I think it cleanly fits into the Brick modeling philosophy. If you wanted, you could also introduce face/bypass damper subclasses, and then require those inside the SHACL shapes. Would you want to submit this as a patch to Brick?

Also: Controller is not deprecated…it’s still there! https://ontology.brickschema.org/brick/Controller.html . Just the REC Controller class is deprecated, but it just means to use the Brick version of that.

Message has been deleted

Chris Schneider

unread,
Jul 30, 2025, 10:26:03 AMJul 30
to Brick User Forum (Unified Building Metadata Schema)
I have a few things that would be hugely beneficial for us if they were part of brick. Is there an official way to submit? Also yes sorry I found the controller was working through a lot of stuff at the time and I got a depreciation warning.

Gabe Fierro

unread,
Jul 30, 2025, 10:43:44 AMJul 30
to Chris Schneider, Brick User Forum (Unified Building Metadata Schema)
Yes! You can submit pull requests at https://github.com/brickschema/Brick. We have some contributing instructions at https://github.com/BrickSchema/Brick/blob/master/CONTRIBUTING.md you can follow. Let me know if you have any questions or run into any issues. We do point releases every few months but you can get your changes into a nightly release pretty quickly.

Reply all
Reply to author
Forward
0 new messages