Question-and-Answer Resource for the Building Energy Modeling Community
Get s tarted with the Help page

# Is there a simplified way to model the ground-surface-contact for a building in OpenStudio?

Is there a simplified way to model the ground-surface-contact for a building in OpenStudio? It seems like the posted answers explain how complicated it is, has there been any simplified methods people have found? What are the effects of neglecting this in an analysis.

edit retag close merge delete

Sort by ยป oldest newest most voted

The simplified method I've used when modeling commercial buildings involves assigning ground-contact surfaces the 'Ground' outside boundary condition (which you can do from the Skechup Plugin, or in the OS application) and an 'always run' EnergyPlus measure to add a Site:GroundTemperature:BuildingSurface object to define monthly ground temperatures. From the input description for that object: "a reasonable default value [of monthly ground temperature] is 2C less than the average indoor space temperature."

To make the ground temp measure flexible in case you do have monthly temperatures, you can write the measure to take a user argument for each monthly temperature, like:

#repeat for each month
jan_temp = OpenStudio::Ruleset::OSArgument::makeDoubleArgument("jan_temp",true)
jan_temp.setDisplayName("Ground Temperature in January")
jan_temp.setDefaultValue(20)
args << jan_temp


and in the run section, get the argument value(s), create the object and pass into the workspace:

#repeat for each
jan_temp = runner.getDoubleArgumentValue("jan_temp",user_arguments)

#create ground temp idf string
groundTemps = "
Site:GroundTemperature:BuildingSurface,
#{jan_temp},
#{feb_temp},
#{mar_temp},
#{apr_temp},
#{may_temp},
#{jun_temp},
#{jul_temp},
#{aug_temp},
#{sept_temp},
#{oct_temp},
#{nov_temp},
#{dec_temp};
"
#creat object and add to workspace
object = idfObject.get


This method should allow some heat transfer through ground-contact surfaces to be calculated by the program, although in simplifying the temperature inputs, the magnitude of that heat transfer might be over- or under-predicted. How significant these effects are on your model will depend largely on the number and type of spaces with ground contact surfaces, and how loads in these spaces compare to the rest of the building's envelope and internal loads.

more

How do I get the measure into the model? I do not see it on the BCL? Do I modify it manually? Building is in Colorado so monthly temps will be different

( 2016-03-21 13:23:25 -0500 )edit
2

I add the measure to the model in the measures tab under 'EnergyPlus measures' as described here. The measure is not on BCL. I've included basically the whole thing in my answer, but you can also get the file here. Copy the folder to your 'my measures' directory and it should be available in the library pane of the measure tab.

( 2016-03-21 13:49:47 -0500 )edit

Thank you. Very helpful. I am receiving a lot of unmet hours in heating now though. I have everything autosized, I don't understand why this happens!

( 2016-03-21 19:47:11 -0500 )edit

Oh no, is there a way to delete this measure once implemented?!

( 2016-03-24 20:50:45 -0500 )edit

You can delete the measure from the measures tab by clicking the 'x' on the measure you dropped into the workspace, and it won't be applied when you run a simulation. You can delete the object it created in the idf by opening in a text editor and deleting the Site:GroundTemperature:BuildingSurface object.

( 2016-03-24 23:09:36 -0500 )edit