Skip to content

Commit

Permalink
Merge pull request #3978 from NREL/3976_MinOATempCompressor
Browse files Browse the repository at this point in the history
Fix #3976 - Add 'Minimum Outdoor Dry-Bulb Temperature for Compressor Operation' to all Coil:Cooling:DX:XXX objects
  • Loading branch information
tijcolem authored May 18, 2020
2 parents d773c4e + 1134c59 commit be8fd4c
Show file tree
Hide file tree
Showing 41 changed files with 1,962 additions and 129 deletions.
92 changes: 61 additions & 31 deletions resources/model/OpenStudio.idd
Original file line number Diff line number Diff line change
Expand Up @@ -15126,7 +15126,11 @@ OS:Coil:Cooling:DX:SingleSpeed,
\type object-list
\required-field
\object-list QuadraticCubicCurves
N6, \field Nominal Time for Condensate Removal to Begin
N6 , \field Minimum Outdoor Dry-Bulb Temperature for Compressor Operation
\type real
\required-field
\units C
N7, \field Nominal Time for Condensate Removal to Begin
\note The nominal time for condensate to begin leaving the coil's condensate
\note drain line at the coil's rated air flow rate and temperature conditions.
\note Nominal time is equal to the ratio of the energy of the coil's maximum
Expand All @@ -15137,7 +15141,7 @@ OS:Coil:Cooling:DX:SingleSpeed,
\minimum 0
\maximum 3000
\default 0.0
N7, \field Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity
N8, \field Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity
\note Ratio of the initial moisture evaporation rate from the cooling coil (when
\note the compressor first turns off) and the coil's steady state latent capacity
\note at rated air flow rate and temperature conditions. Suggested value is 1.5; zero value
Expand All @@ -15147,15 +15151,15 @@ OS:Coil:Cooling:DX:SingleSpeed,
\minimum 0
\maximum 5
\default 0.0
N8, \field Maximum Cycling Rate
N9, \field Maximum Cycling Rate
\note The maximum on-off cycling Rate for the compressor, which occurs at 50% run time
\note fraction. Suggested value is 3; zero value means latent degradation model is disabled.
\type real
\units cycles/hr
\minimum 0
\maximum 5
\default 0.0
N9, \field Latent Capacity Time Constant
N10, \field Latent Capacity Time Constant
\note Time constant for the cooling coil's latent capacity to reach steady state after
\note startup. Suggested value is 45; zero value means latent degradation model is disabled.
\type real
Expand All @@ -15172,32 +15176,32 @@ OS:Coil:Cooling:DX:SingleSpeed,
\default AirCooled
\key AirCooled
\key EvaporativelyCooled
N10, \field Evaporative Condenser Effectiveness
N11, \field Evaporative Condenser Effectiveness
\type real
\units dimensionless
\minimum 0
\maximum 1
\default 0.9
N11, \field Evaporative Condenser Air Flow Rate
N12, \field Evaporative Condenser Air Flow Rate
\note Used to calculate evaporative condenser water use
\type real
\autosizable
\units m3/s
\minimum> 0
N12, \field Evaporative Condenser Pump Rated Power Consumption
N13, \field Evaporative Condenser Pump Rated Power Consumption
\note Rated power consumed by the evaporative condenser's water pump
\type real
\autosizable
\units W
\minimum 0
\default 0.0
N13, \field Crankcase Heater Capacity
N14, \field Crankcase Heater Capacity
\type real
\units W
\ip-units Btu/h
\minimum 0
\default 0.0
N14, \field Maximum Outdoor Dry-Bulb Temperature for Crankcase Heater Operation
N15, \field Maximum Outdoor Dry-Bulb Temperature for Crankcase Heater Operation
\type real
\units C
\minimum 0
Expand All @@ -15208,7 +15212,7 @@ OS:Coil:Cooling:DX:SingleSpeed,
A14, \field Condensate Collection Water Storage Tank Name
\type object-list
\object-list WaterStorageTankNames
N15, \field Basin Heater Capacity
N16, \field Basin Heater Capacity
\note This field is only used for Condenser Type = EvaporativelyCooled and for periods
\note when the basin heater is available (field Basin Heater Operating Schedule Name).
\note For this situation, the heater maintains the basin water temperature at the basin heater
Expand All @@ -15218,7 +15222,7 @@ OS:Coil:Cooling:DX:SingleSpeed,
\units W/K
\minimum 0
\default 0.0
N16, \field Basin Heater Setpoint Temperature
N17, \field Basin Heater Setpoint Temperature
\note This field is only used for Condenser Type = EvaporativelyCooled.
\note Enter the outdoor dry-bulb temperature when the basin heater turns on.
\type real
Expand Down Expand Up @@ -15304,7 +15308,11 @@ OS:Coil:Cooling:DX:TwoStageWithHumidityControlMode,
A11, \field Condensate Collection Water Storage Tank
\type object-list
\object-list WaterStorageTankNames
N5, \field Basin Heater Capacity
N5, \field Minimum Outdoor Dry-Bulb Temperature for Compressor Operation
\type real
\required-field
\units C
N6, \field Basin Heater Capacity
\type real
\units W/K
\minimum 0.0
Expand All @@ -15314,7 +15322,7 @@ OS:Coil:Cooling:DX:TwoStageWithHumidityControlMode,
\note For this situation, the heater maintains the basin water temperature at the basin heater
\note setpoint temperature when the outdoor air temperature falls below the setpoint temperature.
\note The basin heater only operates when the DX coil is off.
N6, \field Basin Heater Setpoint Temperature
N7, \field Basin Heater Setpoint Temperature
\type real
\units C
\minimum 2.0
Expand Down Expand Up @@ -15546,6 +15554,10 @@ OS:Coil:Cooling:DX:MultiSpeed,
\key AirCooled
\key EvaporativelyCooled
\required-field
N1 , \field Minimum Outdoor Dry-Bulb Temperature for Compressor Operation
\type real
\required-field
\units C
A8 , \field Supply Water Storage Tank
A9 , \field Condensate Collection Water Storage Tank
A10 , \field Apply Part Load Fraction to Speeds Greater than 1
Expand All @@ -15558,23 +15570,23 @@ OS:Coil:Cooling:DX:MultiSpeed,
\key Yes
\key No
\default No
N1 , \field Crankcase Heater Capacity
N2 , \field Crankcase Heater Capacity
\type real
\minimum 0.0
\units W
\ip-units W
\required-field
N2 , \field Maximum Outdoor Dry-Bulb Temperature for Crankcase Heater Operation
N3 , \field Maximum Outdoor Dry-Bulb Temperature for Crankcase Heater Operation
\type real
\minimum 0.0
\units C
\required-field
N3, \field Basin Heater Capacity
N4, \field Basin Heater Capacity
\type real
\units W/K
\minimum 0.0
\required-field
N4, \field Basin Heater Setpoint Temperature
N5, \field Basin Heater Setpoint Temperature
\type real
\units C
\minimum 2.0
Expand Down Expand Up @@ -15757,6 +15769,16 @@ OS:Coil:Cooling:DX:TwoSpeed,
\autosizable
\units m3/s
\minimum> 0
N5 , \field Unit Internal Static Air Pressure
\note Enter pressure drop for the unit containing the coil.
\note This value is only used to calculate Energy Efficiency Ratio
\note (EER), Integrated Energy Efficiency Ratio (IEER), and the
\note Standard Rating (Net) Cooling Capacity. This value is not
\note used for modeling the evaporator fan during simulations.
\type real
\units Pa
\minimum> 0.0
\required-field
A4, \field Air Inlet Node Name
\type object-list
\required-field
Expand Down Expand Up @@ -15800,7 +15822,7 @@ OS:Coil:Cooling:DX:TwoSpeed,
\type object-list
\required-field
\object-list QuadraticCubicCurves
N5, \field Rated Low Speed Total Cooling Capacity
N6, \field Rated Low Speed Total Cooling Capacity
\note gross capacity excluding supply air fan heat
\note rating point: air entering the cooling coil at 26.7 C dry-bulb/19.4 C wet-bulb, and
\note air entering the outdoor condenser coil at 35 C dry-bulb/23.9 C wet-bulb
Expand All @@ -15809,22 +15831,22 @@ OS:Coil:Cooling:DX:TwoSpeed,
\autosizable
\units W
\minimum> 0
N6, \field Rated Low Speed Sensible Heat Ratio
N7, \field Rated Low Speed Sensible Heat Ratio
\note Rated sensible heat ratio (gross sensible capacity/gross total capacity)
\note sensible and total capacities do not include supply fan heat
\type real
\required-field
\autosizable
\minimum 0.5
\maximum 1
N7, \field Rated Low Speed COP
N8, \field Rated Low Speed COP
\note Gross cooling capacity divided by power input to the compressor and outdoor fan,
\note does not include supply fan heat or supply fan electrical energy input
\type real
\units W/W
\minimum> 0
\default 3.0
N8, \field Rated Low Speed Air Flow Rate
N9, \field Rated Low Speed Air Flow Rate
\note Flow rate corresponding to rated total cooling capacity, Rated SHR
\note and Rated COP. Should be between 0.00004027 m3/s and .00006041 m3/s per watt
\note of rated total cooling capacity.
Expand Down Expand Up @@ -15856,37 +15878,41 @@ OS:Coil:Cooling:DX:TwoSpeed,
\default AirCooled
\key AirCooled
\key EvaporativelyCooled
N9, \field High Speed Evaporative Condenser Effectiveness
N10, \field Minimum Outdoor Dry-Bulb Temperature for Compressor Operation
\type real
\required-field
\units C
N11, \field High Speed Evaporative Condenser Effectiveness
\type real
\units dimensionless
\minimum 0
\maximum 1
\default 0.9
N10, \field High Speed Evaporative Condenser Air Flow Rate
N12, \field High Speed Evaporative Condenser Air Flow Rate
\note Used to calculate evaporative condenser water use
\type real
\autosizable
\units m3/s
\minimum> 0
N11, \field High Speed Evaporative Condenser Pump Rated Power Consumption
N13, \field High Speed Evaporative Condenser Pump Rated Power Consumption
\note Rated power consumed by the evaporative condenser's water pump at high speed
\type real
\autosizable
\units W
\minimum 0
N12, \field Low Speed Evaporative Condenser Effectiveness
N14, \field Low Speed Evaporative Condenser Effectiveness
\type real
\units dimensionless
\minimum 0
\maximum 1
\default 0.9
N13, \field Low Speed Evaporative Condenser Air Flow Rate
N15, \field Low Speed Evaporative Condenser Air Flow Rate
\note Used to calculate evaporative condenser water use
\type real
\autosizable
\units m3/s
\minimum> 0
N14, \field Low Speed Evaporative Condenser Pump Rated Power Consumption
N16, \field Low Speed Evaporative Condenser Pump Rated Power Consumption
\note Rated power consumed by the evaporative condenser's water pump at low speed
\type real
\autosizable
Expand All @@ -15898,7 +15924,7 @@ OS:Coil:Cooling:DX:TwoSpeed,
A16, \field Condensate Collection Water Storage Tank Name
\type object-list
\object-list WaterStorageTankNames
N15, \field Basin Heater Capacity
N17, \field Basin Heater Capacity
\note This field is only used for Condenser Type = EvaporativelyCooled and for periods
\note when the basin heater is available (field Basin Heater Operating Schedule Name).
\note For this situation, the heater maintains the basin water temperature at the basin heater
Expand All @@ -15908,7 +15934,7 @@ OS:Coil:Cooling:DX:TwoSpeed,
\units W/K
\minimum 0
\default 0.0
N16, \field Basin Heater Setpoint Temperature
N18, \field Basin Heater Setpoint Temperature
\note This field is only used for Condenser Type = EvaporativelyCooled.
\note Enter the outdoor dry-bulb temperature when the basin heater turns on.
\type real
Expand Down Expand Up @@ -17594,18 +17620,22 @@ OS:Coil:Cooling:DX:VariableSpeed,
\type real
\minimum 0.0
\units C
N9, \field Minimum Outdoor Dry-Bulb Temperature for Compressor Operation
\type real
\required-field
\units C
A8, \field Supply Water Storage Tank Name
\type object-list
\object-list WaterStorageTankNames
A9, \field Condensate Collection Water Storage Tank Name
\type object-list
\object-list WaterStorageTankNames
N9, \field Basin Heater Capacity
N10, \field Basin Heater Capacity
\required-field
\type real
\units W/K
\minimum 0.0
N10, \field Basin Heater Setpoint Temperature
N11, \field Basin Heater Setpoint Temperature
\required-field
\type real
\units C
Expand Down
4 changes: 4 additions & 0 deletions src/energyplus/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -583,7 +583,11 @@ set(${target_name}_test_src
Test/CentralHeatPumpSystem_GTest.cpp

Test/CoilHeatingGas_GTest.cpp
Test/CoilCoolingDXSingleSpeed_GTest.cpp
Test/CoilCoolingDXMultiSpeed_GTest.cpp
Test/CoilCoolingDXTwoSpeed_GTest.cpp
Test/CoilCoolingDXTwoStageWithHumidityControlMode_GTest.cpp
Test/CoilCoolingDXVariableSpeed_GTest.cpp
Test/Construction_GTest.cpp
Test/DaylightingControl_GTest.cpp
Test/DaylightingDeviceShelf_GTest.cpp
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,11 @@ boost::optional<IdfObject> ForwardTranslator::translateCoilCoolingDXMultiSpeed(
idfObject.setString(Coil_Cooling_DX_MultiSpeedFields::ApplyLatentDegradationtoSpeedsGreaterthan1,"No");
}

// Minimum Outdoor Dry-Bulb Temperature for Compressor Operation
if( (value = modelObject.minimumOutdoorDryBulbTemperatureforCompressorOperation()) ) {
idfObject.setDouble(Coil_Cooling_DX_MultiSpeedFields::MinimumOutdoorDryBulbTemperatureforCompressorOperation,value.get());
}

// CrankcaseHeaterCapacity
if( (value = modelObject.crankcaseHeaterCapacity()) ) {
idfObject.setDouble(Coil_Cooling_DX_MultiSpeedFields::CrankcaseHeaterCapacity,value.get());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,9 @@ boost::optional<IdfObject> ForwardTranslator::translateCoilCoolingDXSingleSpeedW
idfObject.setDouble(Coil_Cooling_DX_SingleSpeedFields::NominalTimeforCondensateRemovaltoBegin,*d);
}

idfObject.setDouble(Coil_Cooling_DX_SingleSpeedFields::MinimumOutdoorDryBulbTemperatureforCompressorOperation,
modelObject.minimumOutdoorDryBulbTemperatureforCompressorOperation());

d=modelObject.getRatioOfInitialMoistureEvaporationRateAndSteadyStateLatentCapacity();
if(d)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,12 @@ boost::optional<IdfObject> ForwardTranslator::translateCoilCoolingDXTwoSpeedWith
idfObject.setString(Coil_Cooling_DX_TwoSpeedFields::HighSpeedRatedAirFlowRate,"Autosize");
}

// Unit Internal Static Air Pressure
{
auto value = modelObject.unitInternalStaticAirPressure();
idfObject.setDouble(Coil_Cooling_DX_TwoSpeedFields::UnitInternalStaticAirPressure,value);
}

//A3 , \field Air Inlet Node Name
OptionalModelObject omo = modelObject.inletModelObject();
if( omo )
Expand Down Expand Up @@ -230,6 +236,12 @@ boost::optional<IdfObject> ForwardTranslator::translateCoilCoolingDXTwoSpeedWith
// A13, \field Condenser Type
idfObject.setString(Coil_Cooling_DX_TwoSpeedFields::CondenserType,modelObject.getCondenserType());

// Minimum Outdoor Dry-Bulb Temperature for Compressor Operation
{
auto value = modelObject.minimumOutdoorDryBulbTemperatureforCompressorOperation();
idfObject.setDouble(Coil_Cooling_DX_TwoSpeedFields::MinimumOutdoorDryBulbTemperatureforCompressorOperation,value);
}

// N9, \field High Speed Evaporative Condenser Effectiveness
d=modelObject.getHighSpeedEvaporativeCondenserEffectiveness();
if(d)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,12 @@ boost::optional<IdfObject> ForwardTranslator::translateCoilCoolingDXTwoStageWith
}
}

// Minimum Outdoor Dry-Bulb Temperature for Compressor Operation
{
auto value = modelObject.minimumOutdoorDryBulbTemperatureforCompressorOperation();
idfObject.setDouble(Coil_Cooling_DX_TwoStageWithHumidityControlModeFields::MinimumOutdoorDryBulbTemperatureforCompressorOperation,value);
}

// BasinHeaterCapacity
{
auto value = modelObject.basinHeaterCapacity();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,11 @@ boost::optional<IdfObject> ForwardTranslator::translateCoilCoolingDXVariableSpee
idfObject.setDouble(Coil_Cooling_DX_VariableSpeedFields::MaximumOutdoorDryBulbTemperatureforCrankcaseHeaterOperation,value.get());
}

// Minimum Outdoor Dry-Bulb Temperature for Compressor Operation
if( (value = modelObject.minimumOutdoorDryBulbTemperatureforCompressorOperation()) ) {
idfObject.setDouble(Coil_Cooling_DX_VariableSpeedFields::MinimumOutdoorDryBulbTemperatureforCompressorOperation,value.get());
}

// SupplyWaterStorageTankName

// CondensateCollectionWaterStorageTankName
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -274,6 +274,12 @@ OptionalModelObject result,temp;
coil.setNominalTimeForCondensateRemovalToBegin(*d);
}

d=workspaceObject.getDouble(Coil_Cooling_DX_SingleSpeedFields::MinimumOutdoorDryBulbTemperatureforCompressorOperation);
if(d)
{
coil.setMinimumOutdoorDryBulbTemperatureforCompressorOperation(*d);
}

d=workspaceObject.getDouble(Coil_Cooling_DX_SingleSpeedFields::RatioofInitialMoistureEvaporationRateandSteadyStateLatentCapacity);
if(d)
{
Expand Down
Loading

0 comments on commit be8fd4c

Please sign in to comment.