Advanced Scripting/Custom Default Question - Change Space Property based on System?

5 posts / 0 new
Last post

Hello all,

I'm modeling a hospital building with some areas that are 24/7 and others that are on a typical 8-5 M-F schedule. There are numerous AHUs and each AHU operates on one of these two schedules. What I'd like to do is write a default script that sets the space interior load schedules (lighting, occupancy, equipment) based on which AHU that space's thermal zone is assigned to.

I often use the trick of assigning a unique min. humidity ratio for each system in a model and then writing a switch() script to change zone properties, but I am having trouble figuring out the syntax to use this trick to change space properties. There's something in the BDL hierarchy that I'm not getting.

Has anyone had success with this before?

Thanks,

Coles Jennings PE, BEMP, LEED AP BD+C
Sr. Energy Engineer, Building Sciences Manager | Mason & Hanger
A Day & Zimmermann Company
D 804.521.7045 | O 804.285.4171 | F 804.217.8520
4880 Sadler Road, Suite 300 | Glen Allen, VA 23060
Mason & Hanger
We do what we say.(r)

Jennings, Coles's picture
Offline
Joined: 2017-10-20
Reputation: 0

Hi Coles,
Spaces are defined in the BDL before systems and zones. Systems are neither parents nor children of spaces, so there is no way for spaces to reference them.
You could reference the floors of the spaces if there is a relationship of systems to floors.
What you could do is include the name of the system in the space description (C-ACTIVITY-DESC) and then reference the space description with a SWITCH statement.
Regards,
~Bill

William Bishop, PE, BEMP, BEAP, CEM, LEED AP | Pathfinder Engineers & Architects LLP
Senior Energy Engineer

[cid:image007.jpg at 01D35C6E.641F09B0] [cid:image008.jpg at 01D35C6E.641F09B0]

134 South Fitzhugh Street Rochester, NY 14608

T: (585) 698-1956 F: (585) 325-6005

bbishop at pathfinder-ea.com www.pathfinder-ea.com

[http://png-5.findicons.com/files/icons/977/rrze/720/globe.png]Carbon Fee and Dividend - simple, effective, and market-based.

Bill Bishop's picture
Offline
Joined: 2012-02-25
Reputation: 7

Thanks Bill, that makes sense. Unfortunately there is no clean relationship between floors and systems, but I think adding a system number prefix to the space description as you suggest will still provide some time savings. Very much appreciate your feedback.

Coles Jennings PE, BEMP, LEED AP BD+C
Sr. Energy Engineer, Building Sciences Manager | Mason & Hanger
A Day & Zimmermann Company
D 804.521.7045 | O 804.285.4171 | F 804.217.8520
4880 Sadler Road, Suite 300 | Glen Allen, VA 23060
Mason & Hanger
We do what we say.(r)

Jennings, Coles's picture
Offline
Joined: 2017-10-20
Reputation: 0

I have used the BDL code below to reference the SPACE input indicated to control a ZONE input for Exhaust Air. You could code the 'Activity Description' for the AHU served by it. Just a thought.

switch(#LR("SPACE","C-ACTIVITY-DESC"))
CASE "Rest": (#LR("SPACE","AREA"))/4
CASE "Break": (#LR("SPACE","AREA"))/2
CASE "REle": (#LR("SPACE","AREA"))
CASE "Elec": (#LR("SPACE","AREA"))/2
CASE "Jani": (#LR("SPACE","AREA"))/2
CASE "Mech": (#LR("SPACE","AREA"))/2
default: no_def
endswitch

[ARCH | NEXUS]
DAVID W. GRIFFIN II
BEMP
ENERGY ANALYST
2505 E Parleys Way
Salt Lake City, UT 84109
Office 801.924.5028
archnexus.com
[Twitter][Facebook][Youtube][LinkedIn]

David Griffin II's picture
Joined: 2015-01-03
Reputation: 0

Just to address something mentioned in the initial prompt: using parent "minimum humidity" as a workaround to distinguish zone inputs is clever from a MacGyver perspective, but could be clunky/inflexible when you have actual humidity setpoints to maintain someday.

Using David's example as a probably-not-so-contextually-appropriate launch pad for an example, this illustrates an alternative allowing you to define an exhaust rate per zone based upon the parent system's order in the INP (component tree):

switch(#SV(#PS()))
case 1: (#LR("SPACE","AREA"))/4 $The 1st SYSTEM
case 2: (#LR("SPACE","AREA"))/2 $The 2nd SYSTEM
case 3: (#LR("SPACE","AREA")) $The 3rd SYSTEM
case 4: (#LR("SPACE","AREA"))/2 $etcetera
default: no_def
endswitch

Full kudos to Mr. Bill below, who clued me into that trick.

Also worth noting: #SV(#PS()) has a related cousin #SV(#LS()), which returns the "list position" of the local component (i.e. a ZONE for a zonal input) instead of the parent (i.e. a SYSTEM for a zonal input). The reference manual also touches on #P2S() for grandparents and ??? (I'm guessing #P3S) for great-grandparents but I haven't had cause to trial this just yet, to assert those work.

The other major method I'm aware of for distinguishing SYSTEMS within ZONE expressions involved using the SYSTEM name string, which is nicer for self-documentation (human readability) in the expression, but can introduce inflexibilities with wanting to re-name your systems down the line... I think that approach is findable the archives but can detail if requested.

~Nick

[cid:image004.png at 01D35CA0.99E8CD10]
Nick Caton, P.E., BEMP
Senior Energy Engineer
Regional Energy Engineering Manager
Energy and Sustainability Services
Schneider Electric

D 913.564.6361
M 785.410.3317
F 913.564.6380
E nicholas.caton at schneider-electric.com

15200 Santa Fe Trail Drive
Suite 204
Lenexa, KS 66219
United States

[cid:image005.png at 01D35CA0.99E8CD10]

Nicholas.Caton at schneider-electric.com's picture
Joined: 2016-02-26
Reputation: 0