# Energyplus with Julia

**URL:** <https://discourse.julialang.org/t/energyplus-with-julia/134637>\
**Category:** New to Julia\
**Tags:** question, modelingtoolkit\
**Created:** [December 19, 2025, 3:36am UTC](https://discourse.julialang.org/t/energyplus-with-julia/134637 "2025-12-19T03:36:10Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![junsin0106](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/junsin0106/32/218493_2.png) [@junsin0106](https://discourse.julialang.org/u/junsin0106)\
**Post date:** [December 19, 2025, 3:36am UTC](https://discourse.julialang.org/t/energyplus-with-julia/134637/1 "2025-12-19T03:36:10Z")

</div>

Hello,

I understand that Dyad provides core capabilities such as a fluid library and built-in HVAC components (e.g., heat exchangers). From an HVAC control perspective, accurately capturing the dynamic behavior of the refrigerant cycle is essential. At the same time, outdoor conditions and indoor thermal loads also vary over time, and integrating these time-varying effects seems equally important from a system-level simulation standpoint.

In the Modelica ecosystem, for example, some projects couple detailed HVAC models with EnergyPlus through FMI/FMU (such as [Spawn](https://lbl-srg.github.io/soep/)). Given the maturity and openness of the Modelica Buildings library, this type of co-simulation framework appears to be a very powerful and practical approach.

I was wondering whether anyone has explored a similar workflow using Julia. More specifically, has anyone tried building a refrigerant cycle using a 1D finite-volume formulation at the ModelingToolkit (MTK) level, and then coupling it with EnergyPlus?

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [December 19, 2025, 11:58pm UTC](https://discourse.julialang.org/t/energyplus-with-julia/134637/2 "2025-12-19T23:58:38Z")

</div>

Perhaps worth mentioning: [https://energyplus.net/](https://energyplus.net/) appears to be open-source.

I think you should try to ask a more specific question:

- what are you trying to achieve
- what did you try
- what didn’t work

to get a useful answer.

---

<div class="post-metadata">

**Author:** ![Jake](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jake/32/46007_2.png) [@Jake](https://discourse.julialang.org/u/Jake)\
**Post date:** [December 20, 2025, 2:13am UTC](https://discourse.julialang.org/t/energyplus-with-julia/134637/3 "2025-12-20T02:13:02Z")

</div>

[esp-r](https://www.strath.ac.uk/research/energysystemsresearchunit/applications/esp-r/) is also open source. It also has a good library of climate files. And if my memory serves, it has a conversion utility to convert between energyplus and esp-r climate file formats. Given that it is written in Fortran is should be callable by Julia. Also if memory serves, it includes WATSUN, a program developed by my solar prof and his students at University of Waterloo.

---

<div class="post-metadata">

**Author:** ![langestefan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/langestefan/32/207923_2.png) [@langestefan](https://discourse.julialang.org/u/langestefan)\
**Post date:** [December 21, 2025, 12:44am UTC](https://discourse.julialang.org/t/energyplus-with-julia/134637/4 "2025-12-21T00:44:02Z")

</div>

Maybe not entirely what you’re looking for. For work I use [GitHub - terion-io/BOPTestAPI.jl: Julia functions for calling the BOPTEST REST API.](https://github.com/terion-io/BOPTestAPI.jl) with the BOPtest framework. This way the controller and the building simulator are independent of eachother.

---

<div class="post-metadata">

**Author:** ![junsin0106](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/junsin0106/32/218493_2.png) [@junsin0106](https://discourse.julialang.org/u/junsin0106)\
**Post date:** [December 22, 2025, 3:57pm UTC](https://discourse.julialang.org/t/energyplus-with-julia/134637/5 "2025-12-22T15:57:27Z")

</div>

Hello. At the moment, I am not seeking a detailed methodology. My intention is simply to inquire whether there are any studies or examples where a dynamic refrigerant cycle model built in ModelingToolkit has been coupled with EnergyPlus or OpenStudio via co-simulation, effectively replacing the built-in HVAC models.

---

<div class="post-metadata">

**Author:** ![junsin0106](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/junsin0106/32/218493_2.png) [@junsin0106](https://discourse.julialang.org/u/junsin0106)\
**Post date:** [December 22, 2025, 4:05pm UTC](https://discourse.julialang.org/t/energyplus-with-julia/134637/6 "2025-12-22T16:05:53Z")

</div>

Thank you. To my understanding, EnergyPlus and OpenStudio appear to be the standard tools, so I am mainly focusing on them for now. I will also look into ESP-r.

---

<div class="post-metadata">

**Author:** ![junsin0106](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/junsin0106/32/218493_2.png) [@junsin0106](https://discourse.julialang.org/u/junsin0106)\
**Post date:** [December 22, 2025, 4:32pm UTC](https://discourse.julialang.org/t/energyplus-with-julia/134637/7 "2025-12-22T16:32:05Z")

</div>

Thank you for introducing BOPTEST. It seems useful for evaluating whole-building control logic. I’ll look into it as well.

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [January 6, 2026, 11:57am UTC](https://discourse.julialang.org/t/energyplus-with-julia/134637/8 "2026-01-06T11:57:47Z")

</div>

We are currently working on a complete translation of the Modelica buildings library and will share more in the coming months.
