Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question

Modeling plenums in Openstudio

asked 2014-09-18 07:35:03 -0600

Suley's avatar

updated 2015-07-10 21:22:43 -0600

I've observed how plenums are added in the HVAC systems tab for OS. In my model though, I'm having problems with intersection and surface matching when actually adding plenums to the geometry: there are mis-assigned surface(s), some are lost, and sometimes new problem(s) arise when I re-open the file. Any suggestions on ways/systematic approaches to minimize or eliminate surface intersection and matching problems? I'm careful with making nice orthogonal lines and using the Create Spaces option or New Space before drawing new spaces. Any alternate approaches on plenums, i.e. setting adjacencies properly if not including the plenum geometry in the model?

edit retag flag offensive close merge delete


@Suley. retag 'plunums' to 'plenums' to get this sorted correctly.

__AmirRoth__'s avatar __AmirRoth__  ( 2014-09-27 10:33:58 -0600 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2014-09-18 08:06:57 -0600

I haven't modeled plenums in OS yet, but I've had plenty of of experience troubleshooting geometry errors. First, if you aren't using the most recent stable release (currently 1.4.0) I would suggest updating your model. Second, you've already mentioned it, but I will echo the need to be very careful when creating OS geometry in the SketchUp Plugin. Make sure you entirely delete any mistakes and if you're adjusting spaces/zones make sure your lines recognize adjacent ones otherwise you might be left with surfaces that don't recognize each other - i.e. do not have complimentary outside boundary conditions. In general, I use the following workflow:

  1. Create geometry in SU, intersect surfaces, match surfaces, and visually check outside boundary conditions
  2. Create thermal zones either manually in SU, using the SU user script, or manually in OS
  3. Move to OS and run without HVAC by setting ideal air loads on to test the geometry. This can be done manually for all zones or by writing a measure to do it if your model has a lot of zones (happy to share mine if you need).
  4. Use the measure "Add Output Diagnostics" with "DisplayAllWarnings" selected - this will give additional details in the ERR file to troubleshoot any severe errors.
  5. If there are geometry-related errrors, you can use the "Search Surfaces" feature in SU to find those mentioned in the ERR file and fix.
  6. In extreme cases, I may manually delete OS objects from the OSM file, but this should be avoided because it can cause additional errors.

...hope that helps.

edit flag offensive delete link more


Yes that's my approach too although the Add Output is a good thing to add routinely. One note, is if I have adjacency problems during the Match and an internal wall is still defined as external, they can be manually edited via the Inspector, by assigning whatever surface that mates up against the adjacent one as the Outdoors Boundary Condition, then both become internal.

Suley's avatar Suley  ( 2014-09-18 09:59:53 -0600 )edit

I like Item #3 a lot. It is a good idea to continually run simulations as your model developed, so you aren't surprised at the 11th hour either by unexpected simulation errors or simulation run-time.

David Goldwasser's avatar David Goldwasser  ( 2014-09-18 12:34:12 -0600 )edit

Matt, Further to your #3, how is the measure you mention different than using the Set Attributes to Selected Spaces button? It's pretty easy and handy button. However, tell me more about your measure as I'm sure you have some enhancements that I can't think of at the moment :)

Suley's avatar Suley  ( 2014-09-19 08:23:49 -0600 )edit

@Suley - the measure simply automates the process of manually switching ideal air loads from off (default) to on which can be time consuming/tedious if your model has many zones. I'm not sure if the BCL allows the public to upload measures yet, so if you'd like a copy I can send it to you. I generally try to move from SU to OS as soon as I can so I can start running the model through EP. Also, as of OS 1.4.0 you can intersect and match geometry in OS using the "Apply Measure Now" menu feature.

MatthewSteen's avatar MatthewSteen  ( 2014-09-24 20:00:15 -0600 )edit

answered 2014-09-18 12:29:22 -0600

updated 2014-09-18 12:30:22 -0600

Suley, We are aware of the stability problems in the OpenStudio SketchUp Plugin, in particular with the intersect feature. We are currently using a native SketchUp method for this. It has issues in particular it seems with geometry that was initially imported from other cad tools, but I have also seen issues in native SketchUp geometry. We are developing native OpenStudio intersect methods that could then be used within SketchUp or as stand alone measures in the OpenStudio application. This should be both faster and more stable. We are also investigating other enhancements to creating and editing geometry in OpenStudio.

A few more things to avoid when using the Plugin to keep your model clean.

  • Don't use the Undo button. If you make a mistake and drew something you didn't want to, use the eraser to delete it.
  • Unless you need to for other reasons, generally don't save the SKP file. I typically turn off autosave in the SketchUp preferences.
  • If something looks wrong, don't save, use SaveAs instead. Then quit SketchUp, re-launch it and then open the model to see if there are still problems. If there are problems and they can't be easily fixed, you can back up to a previous model.

Things you should do when using the Plugin.

  • Use SaveAs often so you can roll back to earlier versions of the model.
  • Always Save or SaveAs before a large batch operation, including intersect.
  • If your model is behaving oddly run the diagnostic user script script under "Reports / OSM Diagnostic Script". Set arguments for both errors and warnings to true. This doesn't run on your live model, but rather prompts you to brows for an OSM. If it finds things that need to be changed it will change a copy of the file. You can then load that copy. The ruby console will report out what was changed. This isn't comprehensive, but does fix a number of common issues.
  • Unless you have a reason not to, use the "Create Spaces From Diagram" tool instead of manually creating spaces. You can run this multiple times, or use it in conjunction with hand drawn spaces.

One last thought on plenums. We have users making models 100 spaces on each floor. In that case a single plenum spanning the floor will have more than 200 surfaces and will have a negative impact on simulation run time. You could break them plenum into 4-5 separate plenums to speed up the run, but you can also make the plenum floor and ceiling a single solid surface with an adiabatic boundary condition. Then you can set the adjacent surfaces in spaces above and below to adiabatic. The surface search tools can help you do this, as well as assigning a construction for adiabatic (currently the default construction set doesn't include a construction for this boundary condition). If you expect significant temperature difference between the plenum and spaces this may not be a good idea.

Let ... (more)

edit flag offensive delete link more


Hi David,

Thank you for the detailed response. I've learned tricks of SaveAs in lieu of Save, close project and restart in tandem with the Diagnostic script. A moving target but I know better when to stop, be careful, and preserve the preceeding work (most of the time! ha). You say, "You could break the plenum into 4-5 separate plenums..., but you can also make the plenum floor and ceiling a single solid adiabatic". Do you mean draw the plenum in place, but don't do an intersect or even a match, and just straight assign the top/bottom surface to adiabatic + set construction?

Suley's avatar Suley  ( 2014-09-19 08:18:13 -0600 )edit

"Do you mean draw the plenum in place, but don't do an intersect or even a match, and just straight assign the top/bottom surface to adiabatic + set construction?"

Yes, that is a possible approach I was suggesting. If you want suggestions on different approaches for batch setting the boundary conditions I can go into more details. With this approach while you don't have the conductive transfer across the plenum, you still have the airflow (assuming you have setup as return or supply plenum vs. just a dropped ceiling that isn't in hvac path.

David Goldwasser's avatar David Goldwasser  ( 2014-09-20 23:20:55 -0600 )edit

Hi David, This topic is very timely as I am modeling a mixed-use development consisting of office tower (42 floors) and mall (6 floors) for LEED certification. I have already drawn the building geometry without plenums and I just learned that the HVAC designer is using plenum for the return air. I would appreciate very much if you can share suggestions on possible approaches for batch setting the boundary conditions that you mentioned. I believe this will be very helpful once I add the plenums to the spaces.

dannyllim's avatar dannyllim  ( 2014-09-21 05:20:54 -0600 )edit

Danny, in the plugin you can use surface search to find class = OS:Surface, Type = RoofCeiling, Outside Boundary Condition = Surface. Then use the "Make Selected Surfaces Adiabatic and Add Construction" user script. Then repeat search and user script on floors, but this time will need to look for "Ground" vs. "Surface" boundary condition, as a result you will have to hand fix the first floor back to ground. Someone could modify this basement measure to work similar to the user script.

Also, use zone multipliers where possible, vs. modeling 42 floors.

David Goldwasser's avatar David Goldwasser  ( 2014-09-22 00:27:26 -0600 )edit

Thanks David. Yes, I used zone multipliers for floors with similar layout.

dannyllim's avatar dannyllim  ( 2014-09-22 18:08:55 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer


Question Tools



Asked: 2014-09-18 07:35:03 -0600

Seen: 1,439 times

Last updated: Sep 27 '14