Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question

Intermittent Pumping With No Loop Demand

asked 2017-04-10 16:08:26 -0600

Adam Hilton's avatar

updated 2017-08-06 07:49:13 -0600

I have a Pump:ConstantSpeed on a heating plant loop serving nine Coil:Heating:Water. The Pump Control Type is set to intermittent...

  Hot Water Loop: Old: Pump - Constant Speed, !- Name
  Node 233,                               !- Inlet Node Name
  Node 239,                               !- Outlet Node Name
  Autosize,                               !- Design Flow Rate {m3/s}
  74726.673,                              !- Design Pump Head {Pa}
  Autosize,                               !- Design Power Consumption {W}
  0.84,                                   !- Motor Efficiency
  0,                                      !- Fraction of Motor Inefficiencies to Fluid Stream
  Intermittent;                           !- Pump Control Type

According to the input output reference for Pump:ConstantSpeed

If there is no load on the loop and the pump is operating intermittently, then the pump can shutdown.

There is a caveat about an availability manager being able to force the pump on/off, but I have no availability managers assigned to the loop.

  Hot Water Loop: Old,                    !- Name
  Water,                                  !- Fluid Type
  ,                                       !- User Defined Fluid Type
  Hot Water Loop: Old Operation Schemes,  !- Plant Equipment Operation Scheme Name
  Node 234,                               !- Loop Temperature Setpoint Node Name
  100,                                    !- Maximum Loop Temperature {C}
  0,                                      !- Minimum Loop Temperature {C}
  Autosize,                               !- Maximum Loop Flow Rate {m3/s}
  0,                                      !- Minimum Loop Flow Rate {m3/s}
  Autocalculate,                          !- Plant Loop Volume {m3}

  Optimal,                                !- Load Distribution Scheme
  ,                                       !- Availability Manager List Name
  SingleSetpoint,                         !- Plant Loop Demand Calculation Scheme
  ;                                       !- Common Pipe Simulation

And the operation scheme...

  Hot Water Loop: Old Operation Schemes,  !- Name
  PlantEquipmentOperation:HeatingLoad,    !- Control Scheme Object Type 1
  Plant Equipment Operation Heating Load 2, !- Control Scheme Name 1
  Always On Discrete;                     !- Control Scheme Schedule Name 1

  Plant Equipment Operation Heating Load 2, !- Name
  0,                                      !- Load Range Lower Limit 1 {W}
  1000000000,                             !- Load Range Upper Limit 1 {W}
  Plant Equipment Operation Heating Load 2 equipment list 1; !- Range Equipment List Name 1

So I'd expect that if there is no load on the demand side of the loop, then the pump would turn off, but this doesn't appear to be the case.

In August, the heating rate on all the relevant coils is 0.

image description

Which yields no demand on the plant.

image description

And yet we can see the pump turning on for the same schedule that the air loops associated with the coils are on.

image description

The only supply equipment for the loop is a HeatExchanger:FluidToFluid and my best guess is that this is somehow making a flow request, but that doesn't really make sense. The loop also realizes that it's above setpoint and there is 'cooling load' on the loop, so is it trying to cool the loop down even though there is no equipment that can satisfy a cooling load? Other ideas?

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted

answered 2017-04-10 22:02:20 -0600

I have seen this problem before. Both possible causes I can recall were related to the Controller:WaterCoil objects attached to the hot and chilled water coils. Not sure if either of these are the cause, but at least they're easy to test.

  1. The minimum actuated flow was slightly above zero in the IDF because OpenStudio has a default of 0.0000001 (taken from E+) instead of zero.

    • For a constant-speed pump, if the flow request > 0, it runs at full speed.
    • Check this field in the IDF. If it is not zero (exactly), change it to zero and see what happens.
    • Might be related to this E+ issue?
  2. The controller convergence tolerance was “Autosize,” which for some reason didn’t appear to be working.

    • I wrote code to change this field to 0.0001 for hot water coils (where controller action = Normal).
  3. I don’t have an explanation for this one, but at one point I suspected this was an un-reported E+ bug.
edit flag offensive delete link more


Thanks @aparker ! Unfortunately the Minimum Actuated Flow was already set to 0 and changing the Controller Convergence Tolerance to 0.0001 for all of them still yielded the same results. Something else potentially useful to point out is that the Coil:Heating:Waters all have an Availability Schedule assigned that has a value of 0 during the period of time shown above.

Adam Hilton's avatar Adam Hilton  ( 2017-04-11 07:56:37 -0600 )edit

From the E+ code it looks like the HeatExchanger:FluidtoFluid can indeed request flow depending on control type.

I'd suspect that these variables show 100% of the flow bypassing the the coils.

  • Fluid Heat Exchanger Loop Supply Side Mass Flow Rate
  • Fluid Heat Exchanger Loop Demand Side Mass Flow Rate
  • Debug Plant Loop Bypass Fraction
aparker's avatar aparker  ( 2017-04-11 09:40:16 -0600 )edit

I had checked the Debug Plant Loop Bypass Fraction for a couple different control types and it was always 0. It actually looks like the the heating coils in AirTerminal:SingleDuct:ConstantVolume:Reheat are getting water flow through them. I checked the inlet water node to the coil and it's showing a non-zero value, but since the coil is scheduled off there is no heat transfer to the air. The water controller for these is part of the terminal, right? It seems as though the Controller:WaterCoils don't request flow when the coil isn't available, but the terminal does.

Adam Hilton's avatar Adam Hilton  ( 2017-04-11 09:47:54 -0600 )edit

Yes, when a Coil:Heating:Water is inside of a terminal, there is not separate Controller:WaterCoil. My next step would be to check the terminal. The Minimum Hot Water or Steam Flow Rate should be zero and then play around with the Convergence Tolerance field in the terminal. Per the documentation, the flow required to meet load is determined numerically, so modifying this field may help.

aparker's avatar aparker  ( 2017-04-11 10:52:10 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2017-04-10 16:08:26 -0600

Seen: 426 times

Last updated: Apr 10 '17