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

40% Glycol Fluid, OpenStudio Model [closed]

asked 2015-11-20 06:58:19 -0600

Dustin gravatar image

updated 2017-01-27 14:47:29 -0600

My questions stems off my recent question regarding district heating/cooling (

So I have this central plant that provides hot water and is used for some elements through the building such as radiant panels. The hot water is also sent to a heat exchanger that has a 40% glycol loop for the heating coils of the buildings AHUs. I am wondering how I would go about modelling this and if there is a way in OpenStudio to say that one side of the heat exchanger has water going through it and the other has glycol fluid going through it. I am assuming it will have to be two plant loops that are connected via this heat exchanger. Any help is appreciated.

edit retag flag offensive reopen merge delete

Closed for the following reason the question is answered, right answer was accepted by Dustin
close date 2016-02-18 06:52:17.696296

1 Answer

Sort by ยป oldest newest most voted

answered 2015-11-20 11:31:01 -0600

updated 2018-05-18 13:59:46 -0600

In EnergyPlus, you can define a FluidProperties:GlycolConcentration object and reference it as the working fluid of a plant loop. Currently this isn't exposed in OpenStudio, so you'd have to use an EnergyPlus measure to set the properties of your glycol loop, after you set them up in the model.

I put one together a while back to let you define arguments for the fluid loop and the glycol concentration:

loop_name = OpenStudio::Ruleset::OSArgument.makeStringArgument("loop_name", true)
loop_name.setDisplayName("Loop Name, e.g. 'GlycolLoop - Heating'")
loop_name.setDescription("Enter the loop to change the working fluid.")
args << loop_name

concentration = OpenStudio::Ruleset::OSArgument.makeDoubleArgument("concentration", true)
concentration.setDisplayName("Concentration of Propylene Glycol solution.")
args << concentration

Then in the run section, get the arguments:

#assign the user inputs to variables
loop_name = runner.getStringArgumentValue("loop_name",user_arguments)
concentration = runner.getDoubleArgumentValue("concentration", user_arguments)

Get the loop:

#get list of workspace objects named loop_name
loop = workspace.getObjectsByName(loop_name, true)

Create the idf string and pass it into the workspace:

conc_string = "
idfObject = OpenStudio::IdfObject::load(conc_string)
object = idfObject.get
wsObject = workspace.addObject(object)
new_conc = wsObject.get

And set your loop to reference the fluid property:

if not loop.empty?

EDIT: Fluid properties are now exposed in the Plant Loop settings in OpenStudio (as of at least v2.3.0)

edit flag offensive delete link more


Ok so thanks for the answer. I am pretty inexperienced when it comes to coding. I understand that I could probably just copy and run this but I have another questions. In my "Glycol Loop" should I change the fluid type to UserDefineFluidType and then run the EnergyPlus measure? Another question is when should I run the E+ measure, right before I go to run a simulation or while I am still modelling?

Dustin gravatar imageDustin ( 2015-11-30 08:14:58 -0600 )edit

could someone please turn this into a measure for people that don't know how to do this? I need ethylene glycol 20% in a model. Trace does this easily.

kramerica gravatar imagekramerica ( 2016-04-28 09:57:55 -0600 )edit

Sure. No guarantees though.

Extract that into your 'My Measures' folder and you can drag it into the EnergyPlus Measures section in your measure tab.

Eric Ringold gravatar imageEric Ringold ( 2016-04-28 10:23:02 -0600 )edit

Thanks @Eric Ringold! I'll test it out and let you know how it works.

kramerica gravatar imagekramerica ( 2016-04-28 11:01:04 -0600 )edit


Question Tools

1 follower


Asked: 2015-11-20 06:58:19 -0600

Seen: 303 times

Last updated: May 18 '18