Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 17 additions & 12 deletions idd/Energy+.idd.in
Original file line number Diff line number Diff line change
Expand Up @@ -52276,12 +52276,17 @@ Coil:Cooling:DX:CurveFit:OperatingMode,
\minimum 0.0
\maximum 3000.0
\default 0.0
A2, \field Apply Latent Degradation to Speeds Greater than 1
A2, \field Apply Part Load Fraction to Speeds Greater than 1
\type choice
\key Yes
\key No
\default Yes
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was thinking that the default should be the same as the Multispeed object and the transition could insert Yes. What do you think?

Coil:Cooling:DX:MultiSpeed,
    A9 , \field Apply Part Load Fraction to Speeds Greater than 1
       \type choice
       \key Yes
       \key No
       \default No

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree that No should be the default. And I personally think the transition should use the default (even though it will result in diffs), but I can see arguments for both sides.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would not have a problem with using the default of No.

A3, \field Apply Latent Degradation to Speeds Greater than 1
\type choice
\key Yes
\key No
\default No
A3, \field Condenser Type
A4, \field Condenser Type
\type choice
\key AirCooled
\key EvaporativelyCooled
Expand All @@ -52297,35 +52302,35 @@ Coil:Cooling:DX:CurveFit:OperatingMode,
\note Must be lower than or equal to the highest speed number.
\note If blank, defaults to the highest speed number used.
\type integer
A4, \field Speed 1 Name
A5, \field Speed 1 Name
\required-field
\type object-list
\object-list DXCoolingSpeedNames
A5, \field Speed 2 Name
A6, \field Speed 2 Name
\type object-list
\object-list DXCoolingSpeedNames
A6, \field Speed 3 Name
A7, \field Speed 3 Name
\type object-list
\object-list DXCoolingSpeedNames
A7, \field Speed 4 Name
A8, \field Speed 4 Name
\type object-list
\object-list DXCoolingSpeedNames
A8, \field Speed 5 Name
A9, \field Speed 5 Name
\type object-list
\object-list DXCoolingSpeedNames
A9, \field Speed 6 Name
A10, \field Speed 6 Name
\type object-list
\object-list DXCoolingSpeedNames
A10, \field Speed 7 Name
A11, \field Speed 7 Name
\type object-list
\object-list DXCoolingSpeedNames
A11, \field Speed 8 Name
A12, \field Speed 8 Name
\type object-list
\object-list DXCoolingSpeedNames
A12, \field Speed 9 Name
A13, \field Speed 9 Name
\type object-list
\object-list DXCoolingSpeedNames
A13; \field Speed 10 Name
A14; \field Speed 10 Name
\type object-list
\object-list DXCoolingSpeedNames

Expand Down
24 changes: 19 additions & 5 deletions src/EnergyPlus/Coils/CoilCoolingDXCurveFitOperatingMode.cc
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,11 @@ void CoilCoolingDXCurveFitOperatingMode::instantiateFromInputSpec(EnergyPlus::En
this->evapRateRatio = input_data.ratio_of_initial_moisture_evaporation_rate_and_steady_state_latent_capacity;
this->maxCyclingRate = input_data.maximum_cycling_rate;
this->latentTimeConst = input_data.latent_capacity_time_constant;
if (Util::SameString(input_data.apply_part_load_fraction_to_speeds_greater_than_1, "Yes")) {
this->applyPartLoadFractionAllSpeeds = true;
} else {
this->applyPartLoadFractionAllSpeeds = false;
}
if (Util::SameString(input_data.apply_latent_degradation_to_speeds_greater_than_1, "Yes")) {
this->applyLatentDegradationAllSpeeds = true;
} else {
Expand Down Expand Up @@ -157,11 +162,12 @@ CoilCoolingDXCurveFitOperatingMode::CoilCoolingDXCurveFitOperatingMode(EnergyPlu
input_specs.ratio_of_initial_moisture_evaporation_rate_and_steady_state_latent_capacity = state.dataIPShortCut->rNumericArgs(5);
input_specs.latent_capacity_time_constant = state.dataIPShortCut->rNumericArgs(6);
input_specs.nominal_time_for_condensate_removal_to_begin = state.dataIPShortCut->rNumericArgs(7);
input_specs.apply_latent_degradation_to_speeds_greater_than_1 = state.dataIPShortCut->cAlphaArgs(2);
input_specs.condenser_type = state.dataIPShortCut->cAlphaArgs(3);
input_specs.apply_part_load_fraction_to_speeds_greater_than_1 = state.dataIPShortCut->cAlphaArgs(2);
input_specs.apply_latent_degradation_to_speeds_greater_than_1 = state.dataIPShortCut->cAlphaArgs(3);
input_specs.condenser_type = state.dataIPShortCut->cAlphaArgs(4);
input_specs.nominal_evap_condenser_pump_power = state.dataIPShortCut->rNumericArgs(8);
input_specs.nominal_speed_number = state.dataIPShortCut->rNumericArgs(9);
for (int fieldNum = 4; fieldNum <= NumAlphas; fieldNum++) {
for (int fieldNum = 5; fieldNum <= NumAlphas; fieldNum++) {
if (state.dataIPShortCut->cAlphaArgs(fieldNum).empty()) {
break;
}
Expand Down Expand Up @@ -376,7 +382,11 @@ void CoilCoolingDXCurveFitOperatingMode::CalcOperatingMode(EnergyPlus::EnergyPlu
}

OpModeRTF = thisspeed.RTF;
OpModePower = thisspeed.fullLoadPower * thisspeed.RTF;
if ((!this->applyPartLoadFractionAllSpeeds) && (speedNum > 1)) {
OpModePower = thisspeed.fullLoadPower * speedRatio;
} else {
OpModePower = thisspeed.fullLoadPower * thisspeed.RTF;
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So either multiply by PLR when NOT including startup losses or use RTF when including startup losses. That does seem correct. And only do this for speeds > 1 because at low speed the compressor will obviously cycle on and off. To save me some investigation time, why is line 424 different (i.e., doesn't check for speedNum)?

OpModeWasteHeat = thisspeed.fullLoadWasteHeat * thisspeed.RTF;

if ((speedNum > 1) && (speedRatio < 1.0) && !singleMode) {
Expand Down Expand Up @@ -411,7 +421,11 @@ void CoilCoolingDXCurveFitOperatingMode::CalcOperatingMode(EnergyPlus::EnergyPlu
inletNode.MassFlowRate;
outletNode.Temp = Psychrometrics::PsyTdbFnHW(outletNode.Enthalpy, outletNode.HumRat);

this->OpModePower += (1.0 - thisspeed.RTF) * lowerspeed.fullLoadPower;
if (!this->applyPartLoadFractionAllSpeeds) {
this->OpModePower += (1.0 - speedRatio) * lowerspeed.fullLoadPower;
} else {
this->OpModePower += (1.0 - thisspeed.RTF) * lowerspeed.fullLoadPower;
}
this->OpModeWasteHeat += (1.0 - thisspeed.RTF) * lowerspeed.fullLoadWasteHeat;
this->OpModeRTF = 1.0; // if we are on greater than 1 speed, RTF *must* be 1
}
Expand Down
2 changes: 2 additions & 0 deletions src/EnergyPlus/Coils/CoilCoolingDXCurveFitOperatingMode.hh
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ struct CoilCoolingDXCurveFitOperatingModeInputSpecification
Real64 ratio_of_initial_moisture_evaporation_rate_and_steady_state_latent_capacity = 0.0;
Real64 latent_capacity_time_constant = 0.0;
Real64 nominal_time_for_condensate_removal_to_begin = 0.0;
std::string apply_part_load_fraction_to_speeds_greater_than_1;
std::string apply_latent_degradation_to_speeds_greater_than_1;
std::string condenser_type;
Real64 nominal_evap_condenser_pump_power = 0.0;
Expand Down Expand Up @@ -114,6 +115,7 @@ struct CoilCoolingDXCurveFitOperatingMode
Real64 maxCyclingRate = 0.0;
Real64 latentTimeConst = 0.0;
bool latentDegradationActive = false;
bool applyPartLoadFractionAllSpeeds = true;
bool applyLatentDegradationAllSpeeds = false;

// results from coil model at speed
Expand Down
6 changes: 6 additions & 0 deletions src/Transition/InputRulesFiles/Rules25-2-0-to-26-1-0.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,12 @@ See pull request [#11366](https://github.com/NatLabRockies/EnergyPlus/pull/11366

# Object Change: ObjectStartsWithC

# Object Change: Coil:Cooling:DX:CurveFit:OperatingMode

Insert new field A2 which is also TODO, "Apply Part Load Fraction to Speeds Greater than 1", defaulted to blank
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't this TODONE?


See pull request TODO.

# Object Change: ObjectStartsWithD

# Object Change: ObjectStartsWithE
Expand Down
1 change: 1 addition & 0 deletions testfiles/5Zone_Unitary_VSDesuperheater.idf
Original file line number Diff line number Diff line change
Expand Up @@ -2812,6 +2812,7 @@
0.0, !- Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity {dimensionless}
0.0, !- Latent Capacity Time Constant {s}
0.0, !- Nominal Time for Condensate Removal to Begin {s}
, !- Apply Part Load Fraction to Speeds Greater than 1
No, !- Apply Latent Degradation to Speeds Greater than 1
AirCooled, !- Condenser Type
, !- Nominal Evaporative Condenser Pump Power {W}
Expand Down
1 change: 1 addition & 0 deletions testfiles/CoilWaterDesuperheatingUnitaryCoilDX.idf
Original file line number Diff line number Diff line change
Expand Up @@ -1502,6 +1502,7 @@
, !- Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity {dimensionless}
, !- Latent Capacity Time Constant {s}
, !- Nominal Time for Condensate Removal to Begin {s}
, !- Apply Part Load Fraction to Speeds Greater than 1
, !- Apply Latent Degradation to Speeds Greater than 1
, !- Condenser Type
, !- Nominal Evaporative Condenser Pump Power {W}
Expand Down
1 change: 1 addition & 0 deletions testfiles/DXCoilSystemAuto.idf
Original file line number Diff line number Diff line change
Expand Up @@ -1744,6 +1744,7 @@
, !- Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity {dimensionless}
, !- Latent Capacity Time Constant {s}
, !- Nominal Time for Condensate Removal to Begin {s}
, !- Apply Part Load Fraction to Speeds Greater than 1
, !- Apply Latent Degradation to Speeds Greater than 1
, !- Condenser Type
, !- Nominal Evaporative Condenser Pump Power {W}
Expand Down
5 changes: 5 additions & 0 deletions testfiles/EMSLoadBasedMultiSpeedDXCoilOverrideControl.idf
Original file line number Diff line number Diff line change
Expand Up @@ -2532,6 +2532,7 @@
0, !- Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity {dimensionless}
0, !- Latent Capacity Time Constant {s}
0, !- Nominal Time for Condensate Removal to Begin {s}
, !- Apply Part Load Fraction to Speeds Greater than 1
No, !- Apply Latent Degradation to Speeds Greater than 1
AirCooled, !- Condenser Type
, !- Nominal Evaporative Condenser Pump Power {W}
Expand Down Expand Up @@ -2991,6 +2992,7 @@
0, !- Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity {dimensionless}
0, !- Latent Capacity Time Constant {s}
0, !- Nominal Time for Condensate Removal to Begin {s}
, !- Apply Part Load Fraction to Speeds Greater than 1
No, !- Apply Latent Degradation to Speeds Greater than 1
AirCooled, !- Condenser Type
, !- Nominal Evaporative Condenser Pump Power {W}
Expand Down Expand Up @@ -3460,6 +3462,7 @@
0, !- Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity {dimensionless}
0, !- Latent Capacity Time Constant {s}
0, !- Nominal Time for Condensate Removal to Begin {s}
, !- Apply Part Load Fraction to Speeds Greater than 1
No, !- Apply Latent Degradation to Speeds Greater than 1
AirCooled, !- Condenser Type
, !- Nominal Evaporative Condenser Pump Power {W}
Expand Down Expand Up @@ -4116,6 +4119,7 @@
0, !- Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity {dimensionless}
0, !- Latent Capacity Time Constant {s}
0, !- Nominal Time for Condensate Removal to Begin {s}
, !- Apply Part Load Fraction to Speeds Greater than 1
No, !- Apply Latent Degradation to Speeds Greater than 1
AirCooled, !- Condenser Type
, !- Nominal Evaporative Condenser Pump Power {W}
Expand Down Expand Up @@ -4772,6 +4776,7 @@
0, !- Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity {dimensionless}
0, !- Latent Capacity Time Constant {s}
0, !- Nominal Time for Condensate Removal to Begin {s}
, !- Apply Part Load Fraction to Speeds Greater than 1
No, !- Apply Latent Degradation to Speeds Greater than 1
AirCooled, !- Condenser Type
, !- Nominal Evaporative Condenser Pump Power {W}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2945,6 +2945,7 @@
0, !- Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity {dimensionless}
0, !- Latent Capacity Time Constant {s}
0, !- Nominal Time for Condensate Removal to Begin {s}
, !- Apply Part Load Fraction to Speeds Greater than 1
No, !- Apply Latent Degradation to Speeds Greater than 1
AirCooled, !- Condenser Type
, !- Nominal Evaporative Condenser Pump Power {W}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1493,6 +1493,7 @@
, !- Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity {dimensionless}
, !- Latent Capacity Time Constant {s}
, !- Nominal Time for Condensate Removal to Begin {s}
, !- Apply Part Load Fraction to Speeds Greater than 1
, !- Apply Latent Degradation to Speeds Greater than 1
, !- Condenser Type
, !- Nominal Evaporative Condenser Pump Power {W}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1759,6 +1759,7 @@
, !- Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity {dimensionless}
, !- Latent Capacity Time Constant {s}
, !- Nominal Time for Condensate Removal to Begin {s}
, !- Apply Part Load Fraction to Speeds Greater than 1
, !- Apply Latent Degradation to Speeds Greater than 1
, !- Condenser Type
, !- Nominal Evaporative Condenser Pump Power {W}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2532,6 +2532,7 @@
0, !- Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity {dimensionless}
0, !- Latent Capacity Time Constant {s}
0, !- Nominal Time for Condensate Removal to Begin {s}
, !- Apply Part Load Fraction to Speeds Greater than 1
No, !- Apply Latent Degradation to Speeds Greater than 1
AirCooled, !- Condenser Type
, !- Nominal Evaporative Condenser Pump Power {W}
Expand Down Expand Up @@ -2991,6 +2992,7 @@
0, !- Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity {dimensionless}
0, !- Latent Capacity Time Constant {s}
0, !- Nominal Time for Condensate Removal to Begin {s}
, !- Apply Part Load Fraction to Speeds Greater than 1
No, !- Apply Latent Degradation to Speeds Greater than 1
AirCooled, !- Condenser Type
, !- Nominal Evaporative Condenser Pump Power {W}
Expand Down Expand Up @@ -3460,6 +3462,7 @@
0, !- Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity {dimensionless}
0, !- Latent Capacity Time Constant {s}
0, !- Nominal Time for Condensate Removal to Begin {s}
, !- Apply Part Load Fraction to Speeds Greater than 1
No, !- Apply Latent Degradation to Speeds Greater than 1
AirCooled, !- Condenser Type
, !- Nominal Evaporative Condenser Pump Power {W}
Expand Down Expand Up @@ -4116,6 +4119,7 @@
0, !- Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity {dimensionless}
0, !- Latent Capacity Time Constant {s}
0, !- Nominal Time for Condensate Removal to Begin {s}
, !- Apply Part Load Fraction to Speeds Greater than 1
No, !- Apply Latent Degradation to Speeds Greater than 1
AirCooled, !- Condenser Type
, !- Nominal Evaporative Condenser Pump Power {W}
Expand Down Expand Up @@ -4772,6 +4776,7 @@
0, !- Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity {dimensionless}
0, !- Latent Capacity Time Constant {s}
0, !- Nominal Time for Condensate Removal to Begin {s}
, !- Apply Part Load Fraction to Speeds Greater than 1
No, !- Apply Latent Degradation to Speeds Greater than 1
AirCooled, !- Condenser Type
, !- Nominal Evaporative Condenser Pump Power {W}
Expand Down
1 change: 1 addition & 0 deletions testfiles/UnitarySystem_DXCoilSystemAuto.idf
Original file line number Diff line number Diff line change
Expand Up @@ -1771,6 +1771,7 @@
, !- Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity {dimensionless}
, !- Latent Capacity Time Constant {s}
, !- Nominal Time for Condensate Removal to Begin {s}
, !- Apply Part Load Fraction to Speeds Greater than 1
, !- Apply Latent Degradation to Speeds Greater than 1
, !- Condenser Type
, !- Nominal Evaporative Condenser Pump Power {W}
Expand Down
1 change: 1 addition & 0 deletions testfiles/UnitarySystem_FurnaceWithDXSystemRHcontrol.idf
Original file line number Diff line number Diff line change
Expand Up @@ -1359,6 +1359,7 @@
0.4, !- Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity {dimensionless}
45, !- Latent Capacity Time Constant {s}
1000, !- Nominal Time for Condensate Removal to Begin {s}
, !- Apply Part Load Fraction to Speeds Greater than 1
, !- Apply Latent Degradation to Speeds Greater than 1
, !- Condenser Type
, !- Nominal Evaporative Condenser Pump Power {W}
Expand Down
1 change: 1 addition & 0 deletions testfiles/UnitarySystem_HeatPumpAuto.idf
Original file line number Diff line number Diff line change
Expand Up @@ -1741,6 +1741,7 @@
, !- Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity {dimensionless}
, !- Latent Capacity Time Constant {s}
, !- Nominal Time for Condensate Removal to Begin {s}
, !- Apply Part Load Fraction to Speeds Greater than 1
, !- Apply Latent Degradation to Speeds Greater than 1
, !- Condenser Type
, !- Nominal Evaporative Condenser Pump Power {W}
Expand Down
1 change: 1 addition & 0 deletions testfiles/UnitarySystem_MultiSpeedCoils_SingleMode.idf
Original file line number Diff line number Diff line change
Expand Up @@ -2162,6 +2162,7 @@
1.5, !- Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity {dimensionless}
45.0, !- Latent Capacity Time Constant {s}
1000.0, !- Nominal Time for Condensate Removal to Begin {s}
, !- Apply Part Load Fraction to Speeds Greater than 1
No, !- Apply Latent Degradation to Speeds Greater than 1
AirCooled, !- Condenser Type
100, !- Nominal Evaporative Condenser Pump Power {W}
Expand Down
Loading