sound-data / DEER-Prototypes-EnergyPlus

14 stars 7 forks source link

Coil:Heating:Water UA autosizing issue. #26

Open amine-lazrak opened 9 months ago

amine-lazrak commented 9 months ago

This issue was created to share some findings related to the Coil:Heating:Water UA autosizing issue that is affecting a few known models and maybe others. The goal is to identify a working and reasonable solution, even if it is temporary.

Issue description

Either EnergyPlus fails to autosize the UA value due to a lack of heating loads during the design day and decides to use a default value of 1 W/K or decides to abort the simulation citing a bad starting point for UA sizing. See An external link was removed to protect your privacy. ) for more context. See this comment for more context.

Affected known models

Prototype Vintage Climate
Htl 2015 9
Htl 1975 13
NRs 1996 3

Temporary fix

The EnergyPlus error message The design coil load used for UA sizing is zero for Coil:Heating:Water suggests that at the winter design day, the heating loads are zero for the coil with issue. If this had been the actual problem, then a workaround fix would be to add artificial heating loads that can be added to the zone(s) served by the system during the sizing period only (see solution example below):

Create a new artificial loads template:

<%#INTERFACE
parameter "zone_name"
parameter "artificial_load_density", :default=>-5['W/ft2']
%>

Schedule:Compact,
    <%= zone_name %> Artificial Load Schedule,    !- Name
    Fraction,  !- Schedule Type Limits Name
    Through: 12/31,
    For: WinterDesignDay,
    Until: 24:00,1,
    For: AllOtherDays,
    Until: 24:00,0;

OtherEquipment,
    <%= zone_name %> Artificial Loads For Sizing Issue,          !- Name
    None, ! Fuel type
    <%= zone_name %>,                  !- Zone Name
    <%= zone_name %> Artificial Load Schedule,                !- SCHEDULE Name
    Power/Area,          !- Design Level calculation method
    ,                   !- Design Level {W}
    <%= artificial_load_density %>,                        !- Power per Zone Floor Area {watts/m2}
    ,                        !- Power per Person {watts/person}
    0,                       !- Fraction Latent
    0,                     !- Fraction Radiant
    0;                       !- Fraction Lost

Add the template to the prototype:

# Add artificial loads for heating coil sizing purposes. 
  zone_names_with_issue = [
    "Corridor EL4 Core Spc (G.C3)",
    "Patient EL4 North Perim Spc (G.N1)",
    "PatientRoom EL4 South Perim Spc (G.S2)"
  ]

  if zone_names_with_issue.any? { |zone_name_issue| zone_name.include?(zone_name_issue) }
    insert "zoneloads/artificial-zone-load.pxt",
          :zone_name => zone_name
  end`

However, the EnergyPlus Zone Sensible Heating report of simulated cases with issue clearly shows significant heating loads. The real issue seems to be related to the supply air temperature settings. EnergyPlus seems to size the reheat coils at the level of the terminal units to meet the total loads instead of the main coils on the distribution system. Changing the supply temperature from 60F to 70F such as in here fixes the issue. This change, as expected, will have some non negligible impact on energy consumption mainly for heating. The impact on unmet hours is minimal. The simulation success is sensitive to the supply temperature value since some higher values triggers the error message Bad starting values for UA. I changed the supply temperature for affected models in a separate branch.

Simulation timestep has some impact as well. The Htl 2015 CZ09 case fails with a 60min timestep but runs successfully, although still with UA sizing issue, if timestep is 10min. Per recommendation in this closed issue the chosen timestep from now on is 10min.

I'm planning to merge this branch with main as a temporary solution and would like to get some feedback.

Justin-DeBlois commented 9 months ago

Thanks for looking into this.

I think it is a zero load issue, but at the system coil instead of the zone. There is load on the zone coils, but the OA% is low enough that the mixed air T is greater than the coil setpoint. See the Coil Sizing Summary table in the HVAC Sizing Summary report, there is 0 Coil Total Capacity at Ideal Loads Peak [W] for the system heating coils.

I think your fix will let the models run, but it may also have significant effects on the energy consumption. The affected systems are MZ-VAV with warmest SAT control by default, and they tend to run at the warmest temperature most of the time. When I have changed sat_temp_max in the past it increased fan energy significantly. Right now the same parameter is used for sizing the coils and the warmest setpoint manager. Maybe it's possible to have a higher design max supply temp, and a lower one used in the setpoint managers.

Is it correct that your branch adds the option to the codes files and a column to the cohorts files, but will leave it to the measure developer to fill in that column for the appropriate cohorts?