HVAC Geothermal Heat Pump with Floor Radiant ASHRAE 90.1

Hi all,

I have been modeling an HVAC system GSHP + Floor Radiant with IronBug.
I think there is something of wrong in my workflow, operative temperature is very high.
Comparison of three scenario with max operative temperature values for the three thermal zones:

GSHP + Floor Radiant

Packaged VAV with reheat

Plenum zones test

General details:

  • Heating System: Zone 0-1-2; Radiant panel supply by 1 Central Geothermal Heat Pump - no DOAS
  • Zone Serice Water: Only Zone 0; BoilerTank (mixed) + Hot Water by Geothermal Hot Water Loop

a) Do you have any idea? @mingopeng and HVAC experts.
b) How can I set “heating only” in this case?

Ironbug_HVAC_test00_GSHP.gh (823.3 KB)


@AntonelloDiNunzio I would take a closer investigation to the system.

  1. is the system big enough for your building.

A couple tests to verify this by: check the supply water flow rate and temperature to see if they are able to keep its maximum value relative constant throughout the year. You can add a probe at the end of supply side of water loop.

if you are seeing a pattern that temperature of supply water is increasing month by month, it might be an indicator that the your Central heat pump is overloading.
If this is the case, you just just do a simple test by replacing the central heat pump by district heating and cooling system to provide unlimited hot/chilled water to test if the rest system is working correctly.
If this improves your situation dramatically, then you should be looking into how to design and use a Central Heat Pump correctly. I will leave this up to you unless you want to discuss about this in detail if this is the case.

  1. to increase your testing speed, you can just use one simple zone, no window, all surfaces adiabatic, but the same space program type to ensure you have only internal load for system to deal with.
    Make sure your system work for this room first, and then apply it to your building. We want to isolate the problem with minimum variables.

Hi @MingboPeng,

I had a test.

  1. I have set a simple box with all adiabatic surfaces, space type “Office::OpenOffice”.
  2. I have added a probe to check supply exit node.
  3. I have added a switcher to change supply type: Geothermal Heat Pump or District Heating cooling.

GSHP Results:

  1. Series of warning because inner air temperature is extreme.
  2. Probe results:

District Heating/Cooling results:

  1. Series of warning because inner air temperature is extreme.
  2. Probe results:

Other tests:

  1. Plenum zone test:
  2. Packaged VAV with reheat

At this point, I am pretty sure there are some errors in how I have modeled plant loops and setpoint.
Could you take a look at this new file and give me a feedback about results above?

Ironbug_HVAC_test00_GSHP_probe_test.gh (818.2 KB)


Hi @AntonelloDiNunzio,

I looked at your file, one thing that I found is not correct is your construction setting for radiant floor. You have an insulation layer next to radiant source layer at inner side, which prevents heat exchanges between room and radiant system.

Here is I moved the insulation layer to outside of radiant source:

In terms of radiance system, to simplify the question problem here, I am only including the equipment and lighting loads here to be the only internal load for radiant system to deal with. More importantly, they are sensible loads, which is the type of load that radiant system only takes care of.

Here is indoor temperature I got with radiant system.

Here is data from chilled water loop’s pump, which is return water temperature/flow from room. These are all making sense.

Now set the capacity of Cooling source to 0, to see if it has direct impacts to room. And the room temperature goes up to crazy 100C.

Here is file I simplified your file for above tests. Hope this will get you started.
Ironbug_HVAC_test00_GSHP_probe_test_MP.gh (631.1 KB)

Thanks, and stay safe.

Hi @MingboPeng

Thanks for review and fixing my mistake.

Is it possible to set it in way it works also with other kind of loads? E.g. People loads contain also a fraction of sensible heat.
I have enabled it and inner temperature goes up to 100C.


Is it possible to set it in way it works also with other kind of loads? E.g. People loads contain also a fraction of sensible heat.

Hi @AntonelloDiNunzio
You can try to add a DOAS system, or other types of air system that could deal with humidity.

Thanks @MingboPeng,

So the problem is because radiant system handle only sensible loads. For this reason, it is usually combined with an air system that can handle latent loads and ventilation.
Here is hybrid system, radiant panel + DOAS:

1 Like

GSHP+RadiantCoolingHeating.gh (123.5 KB)
Hi I’m trying to set this example but with 1.1 and 1.4 components.
Im getting an error about missing componen name and object type for my chiller water loop demand branch, i’ve tried many things without success. Any thoughts? @MingboPeng

Also, @AntonelloDiNunzio, per your post above, any ideas about how to implement a Ground Source Heat Pump + DOAS as well?

Did you find a solution?

Hi. I’m getting the same errors. @MingboPeng could you please comment on this? Thank you.

@CarlosKellyGro , I was running into the same errors you mention here, however, when I rebuilt the system with the latest version of the components (Ironbug v1.0), rather than the components from this example or from the Ironbug templates these errors go away. I am using LBT v1.4, OpenStudio 3.3, and Ironbug v1.0.

However, I still have an error in my similar model GSHP w/Radiant Floors (central heat pump) and DOAS that I’ve been unable to get past.

  1. Solution exception:expected string, got NoneType

@MingboPeng, I wonder if you would be willing to take a look at my file, and see where I may be going wrong creating this system? The gFunction, sizing and curves in this model are pulled from other examples I’ve found on this forum and are placeholders, so I am looking for feedback specifically on just getting the system set up correctly and without errors.

I am able to run other Ironbug template (like the VAV w/reheat) with no problem in this file, so I think it is an error with my GSHP system specifically. I get the same error when I remove the DOAS and use a ‘No Air Loop’ component such as in the other examples in this thread.

Any feedback is much appreciated. I have attached both my .gh and Rhino files because I was getting errors when trying to run the .gh flie without my Rhino model after I internalized the geometry.

GSHP to Radiant wDOAS_LBTForum.gh (273.1 KB)

Link to Rhino model:

1 Like

Hi @molly, I will check your model this weekend and will keep you posted.

Thank you, @MingboPeng, I really appreciate it.

I made a few fixes/revisions to my file, the updated version is found below. Unfortunately, I still am stuck on the ‘NoneType’ error so any suggestions would be helpful.

Two additional questions about modeling GSHP systems in Ironbug:

1 - A question about G Function data:
I also wonder if anyone has experience they could share regarding exporting the required G-Function data from Trane to the format that is needed for use in Ironbug ground heat exchangers. I asked an MEP I am working with if they could provide the G-Function data that is calculated in Trane (based on our specific system parameters) in order to input into Ironbug. However, they are not sure where to start finding that data in Trane and exporting it into the correct format. Any tips for collecting G-Function data from Trane or other HVAC load sizing programs? Is there any way around providing G-Function data that still allows GSHP systems to be run (like an auto-size capability)?

2 - A simpler way to model GSHP systems for early design process?
I’ve noticed when opening the LBT template ‘GSHP w/DOAS’ system in OpenStudio that the Ground Heat Exchanger is modeled as a custom component that looks like it is simply a ground temperature supply loop, simplifying and eliminating the need for detailed GSHP sizing inputs. I would like to take advantage of the customization options of GSHP feeding into various systems (beyond the current LBT templates) in Ironbug but frequently am getting stuck on the sizing (getting errors indicating runaway plant temperatures - either too hot or too cold and being unable to run the model). Is there a similar Ironbug shortcut for modeling GSHP’s as simply a constant supply temperature which could reasonably simulate the efficiency of a ground heat exchanger without the detailed sizing data and consequent errors?

Updated file:
GSHP to Radiant wDOAS_LBTForum_v2.gh (310.0 KB)

Relink to the Rhino file:

Hi @molly,

You didn’t set the GSHP correctly.

Here is a sample of the ground source heat pump with radiant system.
GSHP to Radiant wDOAS_LBTForum_v2_MP.gh (115.6 KB)

To your two questions:

  1. I don’t use Trane, I don’t what you can get from its output. It’s likely a question that you can post to UnMet Hours https://unmethours.com/

  2. I can try to replicate how LBT template models GSHP w/DOAS system when I get chance. But you can also try to open this GSHP w/DOAS system in OpenStudio Application which would help you to understand how it is set up visually. But if you want to see the code behind it, here GitHub - NREL/openstudio-standards is the place to find all system’s configurations.

1 Like