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

idf workflow in Openstudio

asked 2016-01-04 18:02:51 -0600

ngkhanh's avatar

updated 2021-05-07 09:57:00 -0600

Hi all, While the legacy plug-in are continuously updated to work with latest energyplus, The OS Apps is much better in creating geometry object and setup initial configuration with many template and user script measure. However, the OS Apps still lacks a lot HVAC objectives/fields and significant slower than E+ running time. I would like to ask about the good practice for from/to idf and osm especially after adding OS non-imported object to pdf file. Curretly OS cant not import anythings other than geometry, load and schedule. Thanks

edit retag flag offensive close merge delete


Which HVAC objects and fields are you missing?

ljbrackney's avatar ljbrackney  ( 2016-01-04 22:05:45 -0600 )edit

For examples : coil system DX cooling are not able to modified in OS. No info about model in SDK. Did not review Plant system

ngkhanh's avatar ngkhanh  ( 2016-01-06 12:14:26 -0600 )edit

@ngkhanh could you send us the model that runs much slower in OS than E+ so we can look into that? Also, besides CoilSystems, which other HVAC objects are missing that you need?

aparker's avatar aparker  ( 2016-01-06 14:00:32 -0600 )edit

Maybe i am wrong but the OS file with more than 20 zones takes a lot of times for setup. The graphical is useful but also slow with higher thermalzones count. The main issue with OS running process is it makes me waiting without any notice when they will finish while the EP+ gives all process indicator that make me feel more comfortable. The response of graphical interface is very annoying for me

ngkhanh's avatar ngkhanh  ( 2016-01-08 03:34:22 -0600 )edit

3 Answers

Sort by ยป oldest newest most voted

answered 2016-01-06 16:32:40 -0600

updated 2016-01-08 14:43:19 -0600

We are actively trying to make sure the feature gap between OS and E+ is almost negligible. That doesn't mean that we will expose every E+ object one for one in OpenStudio, but we are monitoring the feature set of E+ and trying to make sure that we capture the features via at least one modeling path. Sometimes we deliberately avoid adding certain E+ input objects because they are functionally duplicative to existing objects. OS has the benefit of hindsight in this regard. OS also eliminates some objects through abstractions in an attempt to remove redundancy in the input, make model creation easier, and OpenStudio's code easier to maintain internally. The classic example I use to make this point is the E+ Branch object, which does not exist in OS, but is created on translation to E+. There are plenty of other examples of this kind of abstraction. We try to have a light touch so there is some transparency with E+, but it is more art than science with clearly defined rules. In general HVAC components themselves (fans, coils, terminals, etc.) will mirror E+ almost verbatim, but connecting objects (ie. Branch, BranchList, Connector), and container objects (ie. coil system dx cooling) do not. We are plunging into this process object by object, asking what does this E+ input object offer and does its feature set already exist somewhere else. We are getting pretty near the end of this process with respect to HVAC, but E+ is a moving target because there is a healthy stream of continuous improvements to E+.

In general the path for accessing E+ features that are either not yet covered by the OS Model or (hopefully very rare) abstracted out, is OpenStudio's EnergyPlus Measure. Using an EnergyPlus Measure lets you access the entire set of EnergyPlus input objects in their entirety. You can read more about EnergyPlus Measures here.

I detect that this particular question is motivated by your related question here You are looking for access to the CoilSystem:Cooling:DX object to gain access to advanced dehumidification modes. The problem is that the coil system is one of those objects that OpenStudio abstracted away and generates as circumstances require during creation of the idf file. In E+, coil objects can't go directly on AirLoopHVAC systems, but instead have to be placed in a controlling container such as CoilSystem. OS just says, hey I'm not going to make you put coils inside this container, I'll take care of that for you. I think this is generally helpful but this is one area where we have probably abstracted away a feature( the advanced dehumidification mode). Like I said over here the AirLoopHVACUnitarySystem which is supported in OS can be used similarly as a coil wrapper, but I admit I have not personally used it to replicate advanced dehumidification and it may not be possible. So the simplest answer is use an EnergyPlus Measure to grab the CoilSystem object that ... (more)

edit flag offensive delete link more


Got it. There are 2 unnecessary files in folder. just delete them

ngkhanh's avatar ngkhanh  ( 2016-01-08 03:28:20 -0600 )edit

answered 2016-01-05 13:38:41 -0600

updated 2016-01-05 20:35:57 -0600

Here are a few measures that may be useful.

The Inject IDF Objects measure is a basic measure where you provide the path to an IDF file and it adds those objects in prior to simulation. This works fine when the objects you want to add don't need to interact with the model. Just as if you copied and pasted new content into your IDF after exporting from OpenStudio but before running it through EnergyPlus.

the Inject OSM Geometry into an External IDF measure has a different workflow, demonstrated in this video. The basic concept is to import an IDF file into OpenStudio to work on geometry, this could be in the plugin or using measures in the stand alone OpenStudio application. Then run this measure to merge that geometry back into your original IDF file. This basically allows you to use the new OpenStudio in place of the legacy plugin, but you get many of the benefits of the newer version of OpenStudio like measures.

To @ljbrackney's point, please let us know what HVAC objects you are trying to use.

edit flag offensive delete link more

answered 2016-01-05 11:26:27 -0600

It's possible to write a measure to import IDF objects (HVAC, etc) that OpenStudio currently doesn't import natively. If your workflow is dependent on migrating lots of existing IDF to OSMs, this is the route I would take. This answer includes a link to a measure that creates OpenStudio chiller objects from an IDF library of chiller objects, which you could easily extrapolate to other objects. The key parts of that measure are loading the idf into a Workspace with:

library = OpenStudio::Workspace::load("#{File.dirname(__FILE__)}/resources/chiller_library.idf").get

then getting the correct WorkspaceObject with the getObjectByTypeAndName method. Other 'get' methods that the Workspace class supports are listed here. Finally, the getString and getDouble methods take the index of the object input field and return the corresponding string or double value for that field. These are used with the OS 'set' methods to apply the IDF input values to the corresponding OpenStudio model object that you create.

edit flag offensive delete link more

Your Answer

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

Add Answer

Training Workshops

Question Tools

1 follower


Asked: 2016-01-04 18:02:51 -0600

Seen: 901 times

Last updated: Jan 08 '16