I missed you guys and I feel like sharing

7 posts / 0 new
Last post

I've been too clueless to notice that I haven't gotten eQUEST-users messages since May. I blocked Rodrigo's vacation messages which we all got 500 of and everything else was blocked too...

So here's a random Tip-of-the-Day!
Create custom User-Defined Default Expressions that set system and/or zone defaults based on the occurrence number of the system.
Example:
Your project uses 12 systems - five PVAV systems, five PSZ systems, one HVSYS and one UVT, and the order you created them is PVAV-1, PVAV-2,...,PVAV-5, PSZ-1,...,PSZ-5, HVSYS, UVT
The corresponding occurrence numbers for these systems is 1,2,3,4,5,6,7,8,9,10,11,12.
Using the BDL function SymValue combined with LocalSym or ParentSym, you can create expressions such as this one, which assigns different zone cooling thermostat schedules based on the system the zone is assigned to:
COOL-TEMP-SCH =
{if (#SV(#PS())==1 .OR. #SV(#PS())==7) then
#SI("72F Cool Sch", "ZONE", "COOL-TEMP-SCH")
else if (#SV(#PS())>10) then unused
else #SI("74F Cool Sch", "ZONE", "COOL-TEMP-SCH")
endif
endif}

You could make the same assignments with a SWITCH statement:
COOL-TEMP-SCH =
{switch #SV(#PS())
case 1 : #SI("72F Cool Sch", "ZONE", "COOL-TEMP-SCH")
case 7 : #SI("72F Cool Sch", "ZONE", "COOL-TEMP-SCH")
case 11 : unused
case 12 : unused
default : #SI("74F Cool Sch", "ZONE", "COOL-TEMP-SCH")
endswitch}

You would use the BDL function LocalSym to assign SYSTEM keywords by system occurrence number. Since each system TYPE has its own keyword defaults, you would need to customize the expression for each system type, or copy the same expression into each of the system types you want to apply it to.
COOLING-EIR =
{switch #SV(#LS())
case 1 : 0.2945 $ PVAV-1
case 2 : 0.3051 $ PVAV-2
case 3 : 0.2945 $ PVAV-3
case 4 : 0.2945 $ PVAV-4
case 5 : 0.3051 $ PVAV-5
case 7 : 0.3283 $ PSZ-2
default : 0.2267 $ All other systems for which this expression is used
endswitch}

Regards,
~Bill

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

[cid:image002.jpg at 01D316A5.584E7CB0] [cid:image004.jpg at 01D316A5.584E7CB0]

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.

via Equest-users's picture
Joined: 2016-07-15
Reputation: 400

Thank you Bill,
I am wondering if there is a UDF means to determine the parent floor name of the spaces in the model?

Christopher R. Jones, P.Eng.
Technical Specialist
Sustainability & Energy

[cid:image001.png at 01D316A6.E688BEE0]
T +1 416-644-0252

2300 Yonge Street, Suite 2300
Toronto, ON M4P 1E4 Canada

wsp.com

Please consider the environment before printing...

Anonymous's picture
Anonymous

I was trying to say "user defined expression". Obviously I missed the mark. UDF is user defined function.

Christopher R. Jones, P.Eng.
Technical Specialist
Sustainability & Energy

[cid:image001.png at 01D316A9.9F5358C0]
T +1 416-644-0252

2300 Yonge Street, Suite 2300
Toronto, ON M4P 1E4 Canada

wsp.com

Please consider the environment before printing...

Anonymous's picture
Anonymous

Christopher,
I don't believe it is possible to reference U-NAMEs with a BDL function. Hopefully I said that right.
However, you can use the same method I described below with spaces and floors.
Here is a modification of the DOE-2 default expression for infiltration AIR-CHANGES/HR that sets ACH values based on the floor the space is assigned to:
switch (#SV(#L("INF-METHOD")))
case 0 : unused
case 1 : switch #SV(#PS())
case 1 : 1.0
case 2 : 1.5
case 3 : 2.0
case 4 : 3.0
default : 0.00 endswitch
case 2 : unused
case 3 : unused
case 4 : unused
default : unused
endswitch

~Bill

via Equest-users's picture
Joined: 2016-07-15
Reputation: 400

Chris,

Practically-speaking, are you asking whether it's possible to reference the textual name of a parent component (system/floor/etc) in an expression? If so I can answer that in the affirmative with an example or two.

~Nick

[cid:image001.png at 01D316B2.D93204C0]
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:image002.png at 01D316B2.D93204C0]

via Equest-users's picture
Joined: 2016-07-15
Reputation: 400

Thank you team.

I got this far - setting the lighting power density using the floor number but I could not find a way to reference the floor name.
switch SymValue(ParentSym())
case 1 : 1.85
case 2 : 1.5
default : 1.0
endswitch

The floor names:
"IceRink Floor 1" = FLOOR
"IceRink Floor 2" = FLOOR

At any rate, the question came to me wanting to use the floor number so I can respond with this solution. I would still like to know if you can reference the floor name in an expression?

Christopher R. Jones, P.Eng.
Technical Specialist
Sustainability & Energy

[cid:image003.png at 01D316C7.20102BB0]
T +1 416-644-0252

2300 Yonge Street, Suite 2300
Toronto, ON M4P 1E4 Canada

wsp.com

Please consider the environment before printing...

Anonymous's picture
Anonymous

Maybe a second set of eyes will help me missing some syntax here... but I think this should work (it doesn't!):

[cid:image001.png at 01D3173B.DBC0A0A0]
For those not receiving images (and the archives), the non-working expression I came up with is:
if(#PS()==#SI("1STFLOORNAME","FLOOR","POLYGON"))
then 1.85
else 1.50
endif
I get the following error message:
[cid:image002.png at 01D3173B.DBC0A0A0]
Entering just #PS() for LIGHTING-W/AREA does return a numerical value... it should seem possible to look up by symbol index value, but perhaps the symbol name is getting changed in the process of INP --> BDL?

I checked the corresponding *.BDL file for this model (not sure if this is the right way to confirm the above), and I see the name isn't being changed here:
[cid:image010.png at 01D3173E.D4CC3400]

Again, I sense this SHOULD work... and this framework does work for citing system names with zonal inputs. Perhaps I'm missing something or there's some extra quirk/trick involved on the space/floor side of things.

Can anyone else spot the issue here? The dummy model used for the above exploration is attached, in the interest of continuity and saving other interested parties a minute in setup - v3.65 build 7163.

~Nick

[cid:image004.png at 01D3173B.DBC0A0A0]
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 01D3173B.DBC0A0A0]

via Equest-users's picture
Joined: 2016-07-15
Reputation: 400