algorithmic modeling for Rhino

Developing a component for PCMs in HB, I need help + other questions

Hi Mostapha, Chris and other developers!

Basically, I need help with how I should proceed from here....

I've already created the main component that concatenates the strings for the "MaterialProperty:PhaseChange" class, I think that should be majority of what's necessary.

I have no idea though how to go about adding this to the EPLibrary. I've been referencing through the code of HB_HB based on some components but I can't seem to get how the Library works and how this new feature would fit in.

I went ahead and added some code into the main HB_HB component


under the EPObjectsAux.addEPObjectToLib method, i added "MaterialProperty:PhaseChange" : "honeybee_PhaseCHange" to HBLibrarieNames dictionary and some other things within the EPObjectsAux class, I bet that's not how it works though


I'm also not sure if the remaining classes (


) should be written as a separate component... How do you usually do these things? It'd probably be impractical to have one component per class right? Ultimately, my goal is to enable parametric simulations for PCMs available in HB.


Also, do I need to edit some things within Run EP Simulation?

I noticed WriteIDF has methods such as EPHeatBalanceAlgorithm and EPHeatBalanceAlgorithm, although it seems they're turned off at the moment


Just to clarify.. when the RunEP component writes the idf file.. the order the classes are written doesn't matter right? i.e. SimulationControl can go first, it can also go last?

Thank you in advance!

Views: 274


Replies are closed for this discussion.

Replies to This Discussion

Hi Pin, I will hopefully get back to you with more detailed answer soon but for now, 1- the objects that you're listed, if the values are not assigned EP will use the default values. 2- The order in an idf file doesn't make a difference.

Hi Mostapha, I'll be back in a day or two. In the meantime I'll leave this updated definition of my attempt. Looks like the simulation took off but the results were not what I expected (I expected the surface temperatures to vary depending on the melting point of the PCM but they didn't, i.e. exactly the same values were popping up even with different melting points). I definitely went wrong somewhere. (also tried asking at unmet ///


Hi Pin, very nice work with these components, I was looking into PCM-s lately as well, this makes it much easier than manually with "additional strings", and setting heatbalance algorithm.

I noticed in your example, that your enthalpy values were very low, I think you meant kJ/kg, when the input is J/kg? (that is x1000 ) when I checked the required cooling, there was definitely about 5-7% change, depending on the phasechange C setpoint, with the values like 50000 J/kg at 20C  etc , see page 47 here:

Which version of honeybee&ladybug did you use? I get error reports of version mismatch with 0.60 hb and 0.63 lb, if I try to add certain components.






  • Add Photos
  • View All

© 2020   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service