Definitive right way to model a WSHP loop

asked 2017-08-25 10:46:38 -0600

updated 2017-08-28 03:50:19 -0600

I've checked all the available example files (especially 5ZoneWaterLoopHeatPump.idf and HospitalLowEnergy.idf), and done my own experimentation. I'm wondering what's really the best way to model a Water Source Heat Pump Loop with the following characteristics:

  • There is one heating element (a HeatExchanger:FluidToFluid with Control Type set to HeatingSetpointModulated, but could be a Boiler:HotWater)
  • There is one cooling element (a HeatExchanger:FluidToFluid set to CoolingSetpointModulated, but could be aChiller:Electric:EIR)
  • The loop temperature should be between 18C (heating dominated) and 26C (cooling dominated), nothing to do in between.

A few options emerge:

  • Should the heating element and cooling elements be:
    • in parallel, or,
    • on the same branch?
  • Should the Plant Loop Demand Calculation Scheme be:

    • DualSetpointWithDeadband: place a SetpointManager:Scheduled:DualSetpoint with a high temp schedule of 26C and a low temp schedule of 18C on the supply outlet of the plant loop, the heating element outlet node, and the cooling element outlet node (note: all SPMs must be DualSetpoint in this case, meaning SetpointManager:Scheduled isn't an option for each equipment outlet) (5ZoneWaterLoopHeatPump)
    • SingleSetpoint: place a SetpointManager:Scheduled on the supply outlet of the plant loop, actuate this setpoint schedule value with EMS by looking at the supply pump outlet temp: if pump outlet temp <= 18 then 18C, else if over 26C then 26C, in else plant supply outlet temp = pump outlet temp (HospitalLowEnergy). Should you place a SPM:Scheduled with a value of 18C after the heating element and one with 26C after the cooling element?
  • What PlantEquipmentOperationScheme to use? I'd use a PlantEquipmentOperation:HeatingLoad with the heating element on it, and a PlantEquipmentOperation:CoolingLoad with the cooling element on it. (HospitalLowEnergy also uses a PlantEquipmentOperation:ComponentSetpoint)

Thoughts? Proof that the loop temp is controlled properly?

edit retag flag offensive close merge delete