Heat Recovery Chillers

Hi All,

In high performance buildings, heat recovery chillers is one of common energy saving strategies to save heating energy. However, it is generally difficult to model this chiller (central heat pump) via current OpenStudio App, and there aren’t any examples that others can really check for reference.

There are a couple of posts on UnmetHours mentioned the idf examples that come from the EnergyPlus installation.

I have spent some time to replicate this example in GH, and feel free to check it out.
20191113_HeatRecoveryChiller.gh (689.7 KB)
In this file, I created two VAV systems, with and without heat recovery chillers for comparison. In heat recovery chiller option, the heat recovery chiller is hard-sized to work with regular water cooled chiller, and I have added a backup boiler to ensure the hot water supply in cold seasons.

Please let met know if you have any comments.


Hi @MingboPeng This new function is a powerful component . I loved it.I just tested it with little question.
Here is the readme:

Current document units is in Meters
Conversion to Meters will be applied = 1.000
Current working directory is set to: c:\ladybug\WithHXChiller\OpenStudio
Model saved to: c:\ladybug\WithHXChiller\OpenStudio\WithHXChiller.osm
OSM > IDF: c:/ladybug/WithHXChiller/OpenStudio/WithHXChiller/ModelToIdf/in.idf
Program Version,EnergyPlus, Version 8.9.0-eba93e8e1b, YMD=2019.11.19 15:45,

** Severe ** [ChillerHeaterPerformance:Electric:EIR][Chiller Heater Performance Electric EIR 1] - Missing required property ‘cooling_mode_electric_input_to_cooling_output_ratio_function_of_part_load_ratio_curve_name’.

** Severe ** [ChillerHeaterPerformance:Electric:EIR][Chiller Heater Performance Electric EIR 1] - Missing required property ‘heating_mode_electric_input_to_cooling_output_ratio_function_of_part_load_ratio_curve_name’.

** Fatal ** Errors occurred on processing input file. Preceding condition(s) cause termination.

…Summary of Errors that led to program termination:

… Reference severe error count=2

… Last severe error=[ChillerHeaterPerformance:Electric:EIR][Chiller Heater Performance Electric EIR 1] - Missing required property ‘heating_mode_electric_input_to_cooling_output_ratio_function_of_part_load_ratio_curve_name’.

************* Warning: Node connection errors not checked - most system input has not been read (see previous warning).

************* Fatal error – final processing. Program exited before simulations began. See previous error messages.

************* EnergyPlus Warmup Error Summary. During Warmup: 0 Warning; 0 Severe Errors.

************* EnergyPlus Sizing Error Summary. During Sizing: 0 Warning; 0 Severe Errors.

************* EnergyPlus Terminated–Fatal Error Detected. 0 Warning; 2 Severe Errors; Elapsed Time=00hr 00min 0.25sec

I checked the EnergyPlus IDF file and found this setting as below:

1 Like

Great job, thanks @MingboPeng! I usually use this energyplus system with a “trick” to simulate a multi-purpose air to water air cooled chillers like this:
“the trick” is to use the condenser plant with a supply side temperature source that reads the outside temperature … Do you think it is correct? If so, can it be implemented in Ironbug?

@minggangyin I guess you are using the OpenStudio 2.5. If yes, please upgrade it to 2.8 or above.

@MingboPeng Yeah, you are right. Thanks for your reply.

Hi @MassimilianoBusnelli, it looks like it is a heating and cooling independent operation system.
EnergyPlus also has an example for this type of system, and you can do it in Ironbug as well if I understand your system correctly.

Hi @MingboPeng thx for reply. I have used exactly the example you showing, considering to model it using the object “Central Heat Pump System” and definitions of the reference guide, only water cooled solutions seem to be allowed. The unit I’m modeling is air cooled: I forced the input using the “temperature source” object (to consider the real temperatures entering in the condenser/evaporator) I’m wondering what happens when external temperatures go below zero.
Generaly this is the scheme:

And generale description of the system:
The multipurpose 4-pipe units have been made for applications with 4 pipe terminals, e.g. shopping centres, offices or facilities with large windows where there can be the simultaneous demand for hot and cold water with a system which does not require season changeover and therefore is a valid alternative to traditional systems based on the chiller-boiler combination.
The multipurpose unit acts as a classical refrigerator: cool water to the system and condensation heat disposal outside through finned coils.
The multipurpose unit acts as a heat pump, exploiting the heat of the outside air, through the finned coil (evaporator) it raises the temperature of the water to be sent to the system through a plate heat exchanger (condenser). The main difference from traditional cycle reverse heat pumps is that the heated water is produced in different heat exchanger from the one used to produce cold water. This separates the two hot-cold sections required for 4-pipe systems.
If the utility requires simultaneous hot and cold water, the unit acts as a water heat pump, controlling condensation and evaporation on two distinct plate heat exchangers associated to circulation of cold and hot water in the system.
It automatically changes from one configuration to another to optimise the spent energy depending on the demand by the utility.

Also I’m in doubt about the input of the field “Number of the chiller heater modules”. I’m considering a system based on a single standard unit (EU market). I’d fill the field with 1.
Probably I’m confused because of the diagram in the reference guide that shows a solution made of three modules (but I suppose it is to explain the typical configuration made of more than one module). Anyway I want just to make sure the term “module” is referred to the “packaged unit”(able to work stand-alone) and not to internal components (e.g. number of circuits/compressors).

I appreciate your help

Hi @MassimilianoBusnelli, I’m picking up this old conversation because I’m modelling an air cooled heat pump as well, I don’t understand where do I need to force the input for the temperature source that you mentioned, to reflect that the system is not water cooled. Probably the question is not that smart but I’m quite new in energy modelling.

Thank you

In this case the temperature source is the component I have used in the supply emi-loop because I have modeled a multipurpose heat pump. This component is simple. I have used the schedule input with a simple EMS that read the site outdoor dry bulb temperature and write a schedule.
Best regards

Hi @MassimilianoBusnelli, thank you for your answer. I’m sorry to bother you, but I don’t really get how to model this in gh. I attach my script to this post, if by chance you could give it a look it would be helpful.

Thank you!

144_modello.gh (713.9 KB)

Hi @mich.dimart ,
I don’t use ironbug, simply because I don’t use openstudio for the plant engineering part, but I write the loops directly from the idfeditor. However for the multipurpose heat pump you must also set a condenser loop and define a supply class for this loop, I used the temperature source class. Then through an EMS script (the programming language of EnergyPlus) I replaced the values ​​of the schedule that reads this class.
Best regards