GMLC-TDC / HELICS

Hierarchical Engine for Large-scale Infrastructure Co-Simulation (HELICS)
https://docs.helics.org/en/latest/
BSD 3-Clause "New" or "Revised" License
127 stars 40 forks source link

Release 2.6 gives junk real value at certain time step #1587

Closed xcosmos6 closed 2 years ago

xcosmos6 commented 4 years ago

The same federation worked when using release 2.5.2. After upgrade to 2.6.0, at time step "900" which is the third step, 2 variables published from EnergyPlus in the simulation shows a junk value like -1e+48. This only happens at this certain time step and only to these 2 variable. All other time step or variables are correct. The cpp98 wrapper is used in EnergyPlus. It looks like something changed in the memory.

I am using ubuntu 18.04.

Thank you very much!

phlptp commented 4 years ago

That particular value is a null value used inside HELICS so I doubt it is anything with memory corruption. It would be used in cases when the value being requested doesn't exist or cannot be converted for some reason.

xcosmos6 commented 4 years ago

I wonder what was changed from 2.5.2 to 2.6 as it was fine before. Also, this variable was produced in energyplus and published, the time step before it is OK. I don’t know how it could become null at this step, will look into it.

xcosmos6 commented 4 years ago

Another thing is that the same setting if we use FNCS instead of HELICS, as we do have both interfaces in energyplus, the numbers are fine.

phlptp commented 4 years ago

What kind of data are your sending? Type of value being sent in and the definition of the publication and subscription/input?

xcosmos6 commented 4 years ago

The data are numbers, and it is defined in energyplus as real64. But I defined the value as double in my config file, which is used to create a value federate in energyplus. I will go and check what real64 exactly is.