Skip to content
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

Pump:ConstantSpeed operating at less than full flow but consuming full power #10821

Open
1 of 3 tasks
mjwitte opened this issue Nov 13, 2024 · 0 comments
Open
1 of 3 tasks

Comments

@mjwitte
Copy link
Contributor

mjwitte commented Nov 13, 2024

Issue overview

User file has an Intermittent Pump:ContantSpeed on the primary ChW loop with an HX serving the secondary ChW loop. Even though it's constant speed, the pump mass flow rate varies, but the pump power consumption is always at full power.

image

In Pumps::SetupPumpMinMaxFlows constant speed pumps only force full flow when set to Continuous (contrary to the docs).

case PumpType::ConSpeed: {
if (thisPump.PumpControl == PumpControlType::Continuous) {
PumpMassFlowRateMin = PumpMassFlowRateMax;
thisInNode.MassFlowRateRequest = PumpMassFlowRateMin;
}

But then later in Pumps::CalcPumps, the power calc is the same for variable speed and constant speed pumps:

case PumpType::ConSpeed:
case PumpType::VarSpeed:
case PumpType::Cond: {
VolFlowRate = daPumps->PumpMassFlowRate / LoopDensity;
PartLoadRatio = min(1.0, (VolFlowRate / thisPump.NomVolFlowRate));
FracFullLoadPower = thisPump.PartLoadCoef[0] + thisPump.PartLoadCoef[1] * PartLoadRatio + thisPump.PartLoadCoef[2] * pow_2(PartLoadRatio) +
thisPump.PartLoadCoef[3] * pow_3(PartLoadRatio);
daPumps->Power = FracFullLoadPower * thisPump.NomPowerUse;

But the PartLoadCoef for the constant speed pump are 1,0,0,0, so this results in full power regardless of flow rate.

thisPump.PartLoadCoef[0] = 1.0;
thisPump.PartLoadCoef[1] = 0.0;
thisPump.PartLoadCoef[2] = 0.0;
thisPump.PartLoadCoef[3] = 0.0;
// In a constant volume pump we previously set the minimum to the nominal capacity
// Now we model the pump as constant speed and set flow by riding the pump curve.
thisPump.MinVolFlowRate = 0.0;

Maybe that last comment about riding the pump curve is clue?

For this file, there are bypass pipes available on both the supply side and demand side, so it seems the pump should be running at full flow.

  1. Why is the pump running at less that full flow when there are bypass pipes available?
  2. Why is intermittent vs continuous pump handled differently in SetupPumpMinMaxFlows?
  3. Maybe this isn't an issue with the pump, but with something else in this plant loop?

Details

Some additional details for this issue (if relevant):

  • Version of EnergyPlus 24.2
  • User email

Checklist

Add to this list or remove from it as applicable. This is a simple templated set of guidelines.

  • Defect file added EnergyPlusDevSupport\DefectFiles, run with AUS_NSW.Sydney.947670_IWEC.epw
  • Ticket added to EnergyPlus Defect Complexity (Github Project)
  • Pull request created (the pull request will have additional tasks related to reviewing changes that fix this defect)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant