-
Notifications
You must be signed in to change notification settings - Fork 389
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix chiller chilling when it is off #10793
base: develop
Are you sure you want to change the base?
Conversation
@rraustad @EnergyArchmage This condition occurs when the chiller has a load, but the chiller shuts down here due to zero condenser water flow and leaves EnergyPlus/src/EnergyPlus/ChillerElectricEIR.cc Lines 1957 to 1972 in ec7398a
This has been set before this exit: EnergyPlus/src/EnergyPlus/ChillerElectricEIR.cc Line 1939 in ec7398a
(which seems wrong, wouldn't you want to intialize outlet=inlet before that actual calcs happen?) After this, EnergyPlus/src/EnergyPlus/ChillerElectricEIR.cc Lines 2585 to 2594 in ec7398a
|
Oh, never mind the condenser flow rate comment, those lines are for aircooled condenser. |
|
Line 1939 does seem wrong as something to do before a potential return at line 1970. Also, as an observation, if the return at 1970 happens I would think the calc routine would want to inform other later functions that the chiller RunFlag = false, |
Given the arguments here
Perhaps |
Probably, because that return value for &CurLoad will be used by the calling routine (I think) to update the remaining load. |
If the calling routine does use &CurLoad then I would think that MyLoad should represent exactly what load the chiller met. I don't think I have ever considered that before. |
Yes, that is the idea. So it can update remaining load for dispatch to other machines if any. |
|
|
@@ -1962,6 +1962,8 @@ void ElectricEIRChillerSpecs::calculate(EnergyPlusData &state, Real64 &MyLoad, b | |||
state, this->CWPlantLoc, this->CondMassFlowIndex, this->CDPlantLoc, DataPlant::CriteriaType::MassFlowRate, this->CondMassFlowRate); | |||
|
|||
if (this->CondMassFlowRate < DataBranchAirLoopPlant::MassFlowTolerance) { | |||
// Shut chiller off if there is no condenser water flow | |||
MyLoad = 0.0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This does look like it boils down to this. I looked at PullCompInterconnectTrigger to see what that was trying to accomplish. This code looks like it can be deleted. I'm not asking for that to happen here but it's extra clock cycles. Removed in #10794,
// Check to make sure we didn't reuse the index in multiple components
if (CurCriteria.CallingCompLoopNum != plantLoc.loopNum || CurCriteria.CallingCompLoopSideNum != plantLoc.loopSideNum ||
CurCriteria.CallingCompBranchNum != plantLoc.branchNum || CurCriteria.CallingCompCompNum != plantLoc.compNum) {
// Diagnostic fatal: component does not properly utilize unique indexing
}
Pull request overview
MyLoad
to zero if lack of condenser water flow causes the chiller to be off. No more of the above warnings are produced (with a full annual regression).Pull Request Author
Add to this list or remove from it as applicable. This is a simple templated set of guidelines.
Reviewer
This will not be exhaustively relevant to every PR.