Transient heat transfer in gh

You can still get the installer for THERM 8:
https://windows-downloads.lbl.gov/software/window/Window8_0_06_SetupFull.exe

I’m not sure it is worth playing with, though, I guess there is a reason they took it off – it was labeled as “research version” when it was still available.

For transient HAM there is always WUFI (Wärme und Feuchte Instationär), it will take ages to run compared to conventional (not using the HAMT module) EnergyPlus simulations. You can use the Honeybee-PH plugin to transfer your model, but I haven’t used it:

Keep in mind, that you can always do 1D assessment with WUFI Pro, or in 2D with WUFI 2D.
They don’t have an interface to GH, as far as I know, @MingboPeng said in this thread, that Fraunhofer doesn’t have a plan to have a public API - maybe it has changed since then.

Getting back to OP, if you are reducing to 1D, you could (theoretically) use the above mentioned HAMT (Combined Heat and Moisture Finite Element) Heat Balance Algorithm in EnergyPlus with Honeybee. Keep in mind, that apart from changing the solver, you will have to provide a lot more information to provide enough data:

Essentially, the default EP material is a very simple representation of real world materials: not caring about the moisture and temperature dependency of e.g. the thermal conductivity, what you need for HAM: a reliable (and somewhat usably complete) source is the WUFI Light Pro database, in which you can enter the values by hand to the EP materials.

https://wufi.de/en/service/free-wufi-versions/

You can also factor in the temperature dependency e.g. using ISO 10456 to calculate other values based on the declared value. As a result, you would get something like this, where \lambda(T,\Phi) is displayed:

EnergyPlus’s HAMT module won’t care about it at this level of detail, only about \lambda(\Phi) (see the Github link above with the required objects, MaterialProperty objects do not describe temperature dependence).

I’ve tried to set a small example with Honeybee:
I thought it should be doable by adding the relevant info to the Honeybee constructions like in this example (like adding the Material:RoofVegetation), but I cannot pass an .idf material to a construction. Is this still doable somehow, @chris? It says it cannot the material in the material library, but I fail to figure out how to add it to it. (In this case I wanted to copy an example material from the MoistureMaterials.idf in its entirety and use the Material definiton from there.)

1. Solution exception:

"Material,
Concrete,                !- Name
Rough,                   !- Roughness
0.1,                     !- Thickness {m}
1.6,                     !- Conductivity {W/m-K}
2300,                    !- Density {kg/m3}
850,                     !- Specific Heat {J/kg-K}
0.9,                     !- Thermal Absorptance
0.7,                     !- Solar Absorptance
0.7;                     !- Visible Absorptance" 

was not found in the opaque energy material library.

The original Hydra example:
http://hydrashare.github.io/hydra/viewer?owner=chriswmackey&fork=hydra_2&id=Green_Roof_In_Energy_Model&slide=0&scale=1.688801774847567&offset=-302.57248044492394,-263.36395413822993

What about the rest, the MaterialProperty objects should best be appended as additional strings, like @RafaelA did in this example?

Green panels are from the Github example from above (lines 101-170).

The blue panel is the object to set EnergyPlus to use HAMT, but I guess there is a reason it is having the prefix Advanced/Research Usage:

I thought this would work, but adding the Heat Balance Algorithm additional string breaks the simulation:

Program Version,EnergyPlus, Version 23.1.0-87ed9199d4, YMD=2023.11.14 00:51,
   ** Severe  ** <root>[HeatBalanceAlgorithm] - Object should have no more than 1 properties.
   **  Fatal  ** Errors occurred on processing input file. Preceding condition(s) cause termination.
   ...Summary of Errors that led to program termination:
   ..... Reference severe error count=1
   ..... Last severe error=<root>[HeatBalanceAlgorithm] - Object should have no more than 1 properties.
   ************* 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; 1 Severe Errors; Elapsed Time=00hr 00min  0.07sec

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

Traceback:
  line 269, in script

How should this be done with Honeybee (1.7 as of writing this post)?
Is this still applicable what is in this thread, that we need to change the .idf manually or do it via OpenStudio measures?

Playground GH file (unsuccessful run due to the things above): LBT_HAMTest.gh (54.9 KB)

1 Like