-
Notifications
You must be signed in to change notification settings - Fork 397
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
Correction of Inconsistent Flow Rates from Swimming Pools #10303
Conversation
Includes code changes for making the pool a plant component rather than a zone equipment component. Testing has been done for pools with constant speed pump with and without a bypass and a variable speed pump. All of those seem to work. Running into a snag with multiple pools.
Fixed a few issues with the change of the swimming pool to become a true plant component rather than zone equipment.
Two new unit tests for routines that underwent significant change. No docs changes needed. No new input files being added due to the fact that two swimming pool input files already exist. Potential pull request candidate.
Description says it all...
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.
I think this needs at least one change in plant to set the flow priority. I'll add that and test it out with latest develop locally.
this_comp.CurOpSchemeType = OpScheme::Demand; | ||
this_comp.compPtr = SwimmingPool::SwimmingPoolData::factory(state, CompNames(CompNum)); | ||
break; | ||
} |
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 looks exactly right. I think there should be one more spot in PlantManager where we need to switch on equipment type. Down where we assign the flow request priority. If that's the only change needed here, I can add that while I'm doing final testing.
ShowFatalError(state, | ||
format("LocalSwimmingPoolFactory: Error getting inputs or index for swimming pool named: {}", objectName)); // LCOV_EXCL_LINE | ||
// Shut up the compiler | ||
return nullptr; // LCOV_EXCL_LINE |
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.
Yep, looks like a typical plant factory. I like that it returns a SwimmingPoolData* instead of a PlantComponent*. That makes things easier.
// Now the power consumption of miscellaneous equipment | ||
Real64 Density = FluidProperties::GetDensityGlycol(state, "WATER", this->PoolWaterTemp, this->GlycolIndex, | ||
RoutineName); // density of water | ||
if (Density > MinDensity) { |
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.
Hmm. I'm not sure GetDensityGlycol will ever give back zero density, but this check is fine I guess.
// Test 4: First Pool | ||
factoryResult = SwimmingPoolData::factory(*state, poolData(4).Name); | ||
EXPECT_NE(factoryResult, nullptr); | ||
} |
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.
Auf allen steht „First Pool“, aber ansonsten sieht der test gut aus.
Real64 expectedMakeUpWaterMass = 6.0; | ||
Real64 expectedEvapEnergyLoss = 0.96; | ||
Real64 expectedMakeUpWaterVolFlowRate = 0.0001003; | ||
Real64 expectedMakeUpWaterVol = 0.0060018; |
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.
Are these based on a specific controlled calculation?
Ohh, that was already there, which makes sense (I was confused why it was passing happily). This is actually good to go from that standpoint. I'm marking my review as approved but still testing it out now. |
And it's all happy here, merging. Thanks for the extra work here @RKStrand, it's great to have the swimming pool as a first-class PlantComponent. |
Pull request overview
NOTE: ENHANCEMENTS MUST FOLLOW A SUBMISSION PROCESS INCLUDING A FEATURE PROPOSAL AND DESIGN DOCUMENT PRIOR TO SUBMITTING CODE
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.