[Equest-users] [Bldg-sim] How to mirror a building in eQUEST

via Equest-users equest-users at lists.onebuilding.org
Thu Apr 28 13:32:14 PDT 2016


Some clever thinking so far – fun to read!

 

Furthering idea #2 – what seems like a lot of work could possibly be automated with user-default expressions…

 

·         The “starting” Azimuth input for each exterior wall surface is determined the following doe2 default expression:

if( (#P("SHAPE")==#SI("NO-SHAPE","SPACE","SHAPE"))

.or.(#RV(#L("LOCATION"))!=0)) then  0.0

else

if(#P("SHAPE")==#SI("BOX","SPACE","SHAPE")) then

  switch (#SV(#L("LOCATION")))

   case 1 : 180.0

   case 2 :   0.0

   case 3 : 270.0

   case 4 :  90.0

   case 5 : 180.0

   case 6 :   0.0

   case 11: 180.0

   case 12:  90.0

   case 13:   0.0

   case 14: 270.0

   default :  0.0

  endswitch

else

  if (#SV(#L("LOCATION")) > 10) then

    CalcAz( #P("POLYGON"), #SV(#L("LOCATION"))-11 ) - 180.0

  else

   switch (#SV(#L("LOCATION")))

    case 1 : 180.0

    case 2 : 90.0

    case 3 : CalcAz( #P("POLYGON"), 3 ) - 180.0

    case 4 : CalcAz( #P("POLYGON"), 1 ) - 180.0

    case 5 : CalcAz( #P("POLYGON"), 0 ) - 180.0

    case 6 : CalcAz( #P("POLYGON"), 2 ) - 180.0

    default :  CalcAz( #P("POLYGON"), 0 ) - 180.0

   endswitch

  endif

endif

endif

 

·         For my own sanity I’m assuming like most (all?) wizard-generated models, your spaces are all defined using polygons, so we can substantially simplify the above default expression:

 

if (#SV(#L("LOCATION")) > 10) 

  then

    CalcAz( #P("POLYGON"), #SV(#L("LOCATION"))-11 ) - 180.0

  else

   switch (#SV(#L("LOCATION")))

    case 1 : 180.0

    case 2 : 90.0

    case 3 : CalcAz( #P("POLYGON"), 3 ) - 180.0

    case 4 : CalcAz( #P("POLYGON"), 1 ) - 180.0

    case 5 : CalcAz( #P("POLYGON"), 0 ) - 180.0

    case 6 : CalcAz( #P("POLYGON"), 2 ) - 180.0

    default :  CalcAz( #P("POLYGON"), 0 ) - 180.0

   endswitch

endif

 

·         In the above if/then & switch statements, #SV(#L("LOCATION")) is returning whatever you would be choosing in this dropdown:

 

o   “Top” à “Back” would return #SV(#L("LOCATION")) = 1 à 6

o   “V1 of Space Polygon” returns #SV(#L("LOCATION")) = 11,  V2=12, V3=13… etc.

o   Again falling back to wizard-generated models, I note walls normally  use vertices for locations, so we only need to mess with the first case (#SV(#L("LOCATION")) > 10) 

 

·         So… to “flip” azimuth (+180) for all the walls we just add 180 to the 3rd line:

 

if (#SV(#L("LOCATION")) > 10) 

  then

    CalcAz( #P("POLYGON"), #SV(#L("LOCATION"))-11 ) - 180.0 + 180

  else

   switch (#SV(#L("LOCATION")))

    case 1 : 180.0

    case 2 : 90.0

    case 3 : CalcAz( #P("POLYGON"), 3 ) - 180.0

    case 4 : CalcAz( #P("POLYGON"), 1 ) - 180.0

    case 5 : CalcAz( #P("POLYGON"), 0 ) - 180.0

    case 6 : CalcAz( #P("POLYGON"), 2 ) - 180.0

    default :  CalcAz( #P("POLYGON"), 0 ) - 180.0

   endswitch

endif

 

(yeah, I could also just remove the -180, but retaining for clarity at this point)

 

This makes a model go from this:

 

To this:

 

·         Notwithstanding some new concerns regarding X/Y positioning to ensure accurate building self-shading (I’ll circle back to this), we now have all walls & their children (windows/doors) facing a 180-degree “flipped” direction.  

 

·         This leaves the issue that you only want this “azimuth flip” applied to surfaces which are North/South (or East/West) facing.  There’s probably a few ways to do this, but I fell back to calculating “plan north” orientation using parent+grandparent inputs:

 

if (#SV(#L("LOCATION")) > 10) 

  then 

   switch(MOD(#P2("AZIMUTH") + #P("AZIMUTH"), 360))

    case 0   : CalcAz( #P("POLYGON"), #SV(#L("LOCATION"))-11 )

    case 180 : CalcAz( #P("POLYGON"), #SV(#L("LOCATION"))-11 )

    default  : CalcAz( #P("POLYGON"), #SV(#L("LOCATION"))-11 ) - 180

   endswitch 

  else

   switch (#SV(#L("LOCATION")))

    case 1 : 180.0

    case 2 : 90.0

    case 3 : CalcAz( #P("POLYGON"), 3 ) - 180.0

    case 4 : CalcAz( #P("POLYGON"), 1 ) - 180.0

    case 5 : CalcAz( #P("POLYGON"), 0 ) - 180.0

    case 6 : CalcAz( #P("POLYGON"), 2 ) - 180.0

    default :  CalcAz( #P("POLYGON"), 0 ) - 180.0

   endswitch

endif

 

Extra Notes:

o   I made a few failed attempts to leverage the function “DEG-FROM-NORTH,” but I sense that ends up being circular logic when applied to an exterior surface azimuth input... if it’s possible, I’d like to see an example! 

o   The specificed switch case values 0 (North) and 180 (South) should be independent of any global azimuth input, but check the results visually in 3D view for your case… if I’m wrong you may need to work #G("BUILD-PARAMETERS","AZIMUTH")  into the switch statement. 

o   If you have a “non-orthogonal” building with angled facets, you might instead want to specify the smaller number orientations for facets which DO NOT flip… if it’s a very complex footprint it may be easier to switch to if/then conditional ranges for orientation in lieu of a switch statement.

o   Ta-Da!

 

 

·         From here you could play with X/Y expressions to situate the walls more correctly to avoid oddball self-shading effects, but I suspect the moment your model stops looking like a square “box” that could get very tricky.  You could avoid the issue by just turning self-shading off if you don’t think it’s a big deal… you could also just push each modified wall a few hundred feet away from the building footprint using an X-input expression similar to (but simpler than) the above example.

 

Please let us know what your solution ends up looking like!

 

~Nick

 

------------------------------------------------------------------------------------------------------------------------------

Nick Caton, P.E.

  Senior Energy Engineer
  Energy and Sustainability Services
  North America Operations
  Schneider Electric

D  913.564.6361 
M  785.410.3317 
E  nicholas.caton at schneider-electric.com <mailto:nicholas.caton at schneider-electric.com> 
F  913.564.6380

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

 

 

 

From: Equest-users [mailto:equest-users-bounces at lists.onebuilding.org] On Behalf Of Xiangjin Yang via Equest-users
Sent: Thursday, April 28, 2016 9:33 AM
To: equest-users at lists.onebuilding.org
Subject: Re: [Equest-users] [Bldg-sim] How to mirror a building in eQUEST

 

Hello All,

Thanks for your help. Our energy modelling team got a heated discussion and come out two possible “easier” solutions:

 

1.     Rotate the building by 180 deg and change the Latitude from north to south – does not work, since the program does not take this revised Latitude in the simulation. The weather file needs to be modified to mirror the location of the building from northern hemisphere to south hemisphere. I will pull out the weather file to see how complicated it is.

2.     Edit azimuth values for all exposures in .inp files or in parametric run. The geometry is still the same, but the exposures have been changed.  But the problem is the azimuth values are relative to origin of each zone, not absolute. It will be a lot of work to flip the exposures 180 deg by checking what is the original azimuth values in the model. Say if the building is mirrored on an north-south axis, the north is still north, but east becomes west.  So the east and west exposures need to be edited, while the north and south exposures can be left untouched.

 

I am still on my way to solve it out completely. But these two approaches may give some hints to others who encounter the same situation. At the same time, you are always welcome to put your comments and suggestions.

 

Regards,

 

 

Xiangjin Yang Ph.D., P.Eng., LEED AP BD+C 

MCW Energy Modelling Centre of Excellence
Building Simulation Engineer 

 

MCW Consultants Ltd. <http://www.mcw.com> 

Queen’s Quay Terminal 
207 Queen’s Quay West, Suite 615 
Toronto, Ontario, Canada M5J 1A7 
Office: (416) 598-2920 ext:255 
Fax: (416) 598-5394 

 

This e-mail may be privileged and confidential. Any unauthorized use is strictly prohibited. If you received this e-mail in error, please contact the sender directly. 

 

P Please consider the environment before printing this e-mail 


______________________________________________________________________
This email has been scanned by the Symantec Email Security.cloud service.
______________________________________________________________________

 

 

 

From: Equest-users [mailto:equest-users-bounces at lists.onebuilding.org] On Behalf Of Keith Swartz via Equest-users
Sent: Thursday, April 28, 2016 8:14 AM
To: Xiangjin Yang
Cc: equest-users at lists.onebuilding.org
Subject: Re: [Equest-users] [Bldg-sim] How to mirror a building in eQUEST

 

Xiangjin,

 

If the building is mirrored on an east-west axis so that the north wall now faces south and south is now north, but east is still east and west is still west, how about changing the latitude from X degrees north to X degrees south? This won’t work if the building is mirrored on a north-south axis.

 

Keith Swartz, PE | Senior Energy Engineer

Seventhwave

608.210.7123 seventhwave.org

 

From: Julien Marrec via Bldg-sim [mailto:bldg-sim at lists.onebuilding.org] 
Sent: Wednesday, April 27, 2016 12:56 PM
To: Xiangjin Yang <XYang at mcw.com>
Cc: bldg-sim at lists.onebuilding.org
Subject: Re: [Bldg-sim] How to mirror a building in eQUEST

 

Hi,

 

That's a very interesting question, one where it seems simple but turns out it's going to be awful to redo from scratch in equest if you have a large model.

 

I don't have a solution that will work out of the box but if you're wiling to spend some time coding instead of drawing I have the start of a python object oriented model for equest where I can parse equests envelope and play with it. Offsetting all windows on a wall or copying them from floor to floors works for example.

 

The limit is that I haven't developed it enough to figure out "defaulted" attributes nor to include enough methods to allow the users to not have to figure out by themselves how the geometry is articulated in equest between floor and space polygons and the surface locations.

 

I also pretty much didn't write any documentation but I've commented the code (python) extensively.

 

I was planing on extending it to read and write between equest and sketchup but I've abandoned the project.(not using equest much anymore).

 

I can share that if you want.

 

There's also something called BTAP as part of the openstudio-standards that translate an equest model in the openstudio format, not sure if it can write the other way around as well (and it has a bunch of problems with "defaulted" attributes such as construction and will throw a hard error).

 

Frankly if your model isn't too big I'd just do it by hand..

 

Julien 

Envoyé de mon iPhone


Le 27 avr. 2016 à 17:18, Xiangjin Yang via Bldg-sim <bldg-sim at lists.onebuilding.org> a écrit :

Hello,

I have a two phases project. Phase 1 building has been modelled in eQUEST and Phase 2 is mirrored from Phase 1. Can any of you advise me how to mirror the Phase 1 so I can get the Phase 2 done without creating it from scratch. I thought of adding a negative sign to each vertex of each polygon in .inp file, but the polygons have to be defined in a CCW direction, which leaves the problem unsolved. 

 

Thanks for your helps.

Regards,

 

Xiangjin Yang Ph.D., P.Eng., LEED AP BD+C 

MCW Energy Modelling Centre of Excellence
Building Simulation Engineer 

 

MCW Consultants Ltd. <http://www.mcw.com> 

Queen’s Quay Terminal 
207 Queen’s Quay West, Suite 615 
Toronto, Ontario, Canada M5J 1A7 
Office: (416) 598-2920 ext:255 
Fax: (416) 598-5394 

 

This e-mail may be privileged and confidential. Any unauthorized use is strictly prohibited. If you received this e-mail in error, please contact the sender directly. 

 

P Please consider the environment before printing this e-mail 

_______________________________________________
Bldg-sim mailing list
http://lists.onebuilding.org/listinfo.cgi/bldg-sim-onebuilding.org
To unsubscribe from this mailing list send  a blank message to BLDG-SIM-UNSUBSCRIBE at ONEBUILDING.ORG


______________________________________________________________________
This email has been scanned by the Symantec Email Security.cloud service.
______________________________________________________________________

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.onebuilding.org/pipermail/equest-users-onebuilding.org/attachments/20160428/2f0927c1/attachment-0005.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 7893 bytes
Desc: image001.png
URL: <http://lists.onebuilding.org/pipermail/equest-users-onebuilding.org/attachments/20160428/2f0927c1/attachment-0025.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image002.png
Type: image/png
Size: 21477 bytes
Desc: image002.png
URL: <http://lists.onebuilding.org/pipermail/equest-users-onebuilding.org/attachments/20160428/2f0927c1/attachment-0026.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image004.png
Type: image/png
Size: 10832 bytes
Desc: image004.png
URL: <http://lists.onebuilding.org/pipermail/equest-users-onebuilding.org/attachments/20160428/2f0927c1/attachment-0027.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image005.png
Type: image/png
Size: 38139 bytes
Desc: image005.png
URL: <http://lists.onebuilding.org/pipermail/equest-users-onebuilding.org/attachments/20160428/2f0927c1/attachment-0028.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image003.png
Type: image/png
Size: 30056 bytes
Desc: image003.png
URL: <http://lists.onebuilding.org/pipermail/equest-users-onebuilding.org/attachments/20160428/2f0927c1/attachment-0029.png>


More information about the Equest-users mailing list