You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
User file with HybridModel:Zone reports multipliers of 1.0.
Here's the helpdesk ticket response which summarizes the problems.
This was interesting.
I ran your file in the debugger.
All capacity multiplier calculations were skipped, because SumSysMCpT (the system flow times supply temp) was never zero.
If I understand correctly, the system should be off during setback until the zone cools down. The Unitary systems were both set to continuous fan operation, so I changed this in both systems to be always off:
AirLoopHVAC:UnitarySystem
Always Off Discrete, !- Supply Air Fan Operating Mode Schedule Name
The calculations are also skipped if the change in measured temperature from the previous timestep is <0.05C.
With cycling fan, now the block that calculates the capacity multiplier was entered, but the calculations were still skipped, because of this line:
if ((MultpHM < 1.0) || (MultpHM > 30.0) MultpHM = 1.0;
I was seeing values here of 40-60, so that says your model has much less capacitance than the actual measured building.
I changed the code to eliminate the >30 condition and I still didn't get anything other than 1.0 in the table output.
That's because the code is poorly structured so that then end of simulation average calculation only happens if the system is off during the last timestep of the hybrid simulation.
Fixing that results in reported multiplers:
The Engineering Reference section about "Inverse algorithm for zone capacitance multiplier":
a) Discusses system on vs system off, but it implies that calculations are done for both conditions.
b) Mentions the 0.05C condition.
c) Does not mention the limits on the multiplier.
So, how can you get results with the current release verrsion?
Set the unitary systems to cycling fan.
Force the system to be off the last hour the the final day so that the average will be calculated.
Add some internal mass so that the multiplier won't be >30.
I will post a new issue to get the documentation fixed and to fix the code. I don't know where the >30 limit comes from, but I think it should be eliminated but throw a warning if the average result is >30. I will need to consult the hybrid model developer about that.
Pertinent code is in ZoneTempPredictorCorrector::InverseModelTemperature.
Code needs fixing to calculate average regardless of system operation.
Suggest that the >30 limit be removed but perhaps generate a warning if the average result is >30. Try to find out why 30 was chosen as a limit?
I/O Ref and Engineering ref need updates to explain limitations.
Details
Some additional details for this issue (if relevant):
Version of EnergyPlus 23.2 (same results in 24.2)
Helpdesk ticket number 16643
Checklist
Add to this list or remove from it as applicable. This is a simple templated set of guidelines.
Issue overview
User file with HybridModel:Zone reports multipliers of 1.0.
Here's the helpdesk ticket response which summarizes the problems.
This was interesting.
I ran your file in the debugger.
All capacity multiplier calculations were skipped, because SumSysMCpT (the system flow times supply temp) was never zero.
If I understand correctly, the system should be off during setback until the zone cools down. The Unitary systems were both set to continuous fan operation, so I changed this in both systems to be always off:
AirLoopHVAC:UnitarySystem
Always Off Discrete, !- Supply Air Fan Operating Mode Schedule Name
The calculations are also skipped if the change in measured temperature from the previous timestep is <0.05C.
With cycling fan, now the block that calculates the capacity multiplier was entered, but the calculations were still skipped, because of this line:
if ((MultpHM < 1.0) || (MultpHM > 30.0) MultpHM = 1.0;
I was seeing values here of 40-60, so that says your model has much less capacitance than the actual measured building.
I changed the code to eliminate the >30 condition and I still didn't get anything other than 1.0 in the table output.
That's because the code is poorly structured so that then end of simulation average calculation only happens if the system is off during the last timestep of the hybrid simulation.
Fixing that results in reported multiplers:
The Engineering Reference section about "Inverse algorithm for zone capacitance multiplier":
a) Discusses system on vs system off, but it implies that calculations are done for both conditions.
b) Mentions the 0.05C condition.
c) Does not mention the limits on the multiplier.
So, how can you get results with the current release verrsion?
I will post a new issue to get the documentation fixed and to fix the code. I don't know where the >30 limit comes from, but I think it should be eliminated but throw a warning if the average result is >30. I will need to consult the hybrid model developer about that.
ZoneTempPredictorCorrector::InverseModelTemperature
.Details
Some additional details for this issue (if relevant):
Checklist
Add to this list or remove from it as applicable. This is a simple templated set of guidelines.
Defect file attached:
10508-HybridModel_ThemalMass.zip
Ticket added to Pivotal for defect (development team task)
Pull request created (the pull request will have additional tasks related to reviewing changes that fix this defect)
The text was updated successfully, but these errors were encountered: