Skip to content

Commit

Permalink
Try to reduce html diffs.
Browse files Browse the repository at this point in the history
  • Loading branch information
rraustad committed Aug 12, 2021
1 parent 95f1036 commit 605d58e
Show file tree
Hide file tree
Showing 3 changed files with 115 additions and 114 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -74,11 +74,11 @@ \subsection{Sky Solar Radiation Diffusely Reflected from Obstructions}\label{sky

\({obs,i}\) denotes the obstruction hit by ray \emph{i},

\({Hit\(_{obs,i}}\) = 1 if ray \emph{i} hits an obstruction, = 0 otherwise,
\({Hit_{obs,i}}\) = 1 if ray \emph{i} hits an obstruction, = 0 otherwise,

\({ViewFacSky\(_{obs,i}}\) = unobstructed sky view factor of the obstruction = \((1 + \cos til{t_{obs}})/2\) ,
\({ViewFacSky_{obs,i}}\) = unobstructed sky view factor of the obstruction = \((1 + \cos til{t_{obs}})/2\) ,

\({DifShdgRatioIsoSky\(_{obs,i}}\) = (obstructed sky irradiance on obstruction)/(unobstructed sky irradiance on obstruction)
\({DifShdgRatioIsoSky_{obs,i}}\) = (obstructed sky irradiance on obstruction)/(unobstructed sky irradiance on obstruction)

In this equation, the product \emph{ViewFacSky*DifShdgRatioIsoSky} is the sky irradiance at the hit point divided by the horizontal sky irradiance taking into account shadowing of sky diffuse radiation on the obstruction by other obstructions, and assuming that the radiance of the sky is uniform. Note that we ignore secondary reflections here and in the following sections. In the present case this means that the irradiance at the hit point due to reflection of sky radiation from the ground or from other obstructions is not considered.

Expand Down
214 changes: 107 additions & 107 deletions idd/Energy+.idd.in
Original file line number Diff line number Diff line change
Expand Up @@ -49491,6 +49491,113 @@ Coil:Cooling:Water:DetailedGeometry,
\note higher than the coil design outlet air temperature, then the design inlet water temperature
\note value is reset to coil design outlet air temperature minus 5.0 DeltaC.

CoilSystem:Cooling:Water,
\memo Virtual container component that consists of a water cooling coil
\memo and its associated controls. This control object supports the
\memo available water coil types and may be placed directly on an
\memo air loop branch or in an outdoor air equipment list.
\min-fields 10
A1, \field Name
\required-field
\reference WaterCoilSystemName
\type alpha
\reference-class-name validBranchEquipmentTypes
\reference validBranchEquipmentNames
\reference-class-name validOASysEquipmentTypes
\reference validOASysEquipmentNames
A2, \field Air Inlet Node Name
\required-field
\type node
A3, \field Air Outlet Node Name
\required-field
\type node
A4, \field Availability Schedule Name
\note Availability schedule name for this system. Schedule value > 0
\note means the system is available.
\note If this field is blank, the system is always available.
\type object-list
\object-list ScheduleNames
A5, \field Cooling Coil Object Type
\type choice
\required-field
\key Coil:Cooling:Water
\key Coil:Cooling:Water:DetailedGeometry
\key CoilSystem:Cooling:Water:HeatExchangerAssisted
A6, \field Cooling Coil Name
\required-field
\type object-list
\object-list CoolingCoilsWater
A7, \field Dehumidification Control Type
\type choice
\key None
\key Multimode
\key CoolReheat
\default None
\note None = meet sensible load only
\note Multimode = activate water coil and meet sensible load.
\note If no sensible load exists, and Run on Latent Load = Yes, and a latent
\note load exists, the coil will operate to meet the latent load.
\note If the latent load cannot be met the heat exchanger will be activated.
\note IF Run on Latent Load = No, the heat exchanger will always be active.
\note This control mode either switches the coil mode or allows the heat exchanger to
\note be turned on and off based on the zone dehumidification requirements. Valid
\note only with cooling coil type CoilSystem:Cooling:Water:HeatExchangerAssisted.
\note CoolReheat = cool beyond the dry-bulb setpoint as required to meet the
\note humidity setpoint. Valid with all cooling coil types. When a heat exchanger
\note assisted cooling coil is used, the heat exchanger is locked on at all times.
\note For all dehumidification controls, the max
\note humidity setpoint on the Sensor Node is used.
\note SetpointManager:SingleZone:Humidity:Maximum,
\note SetpointManager:MultiZone:Humidity:Maximum, or
\note SetpointManager:MultiZone:MaximumHumidity:Average, and
\note SetpointManager:OutdoorAirPretreat (optional) objects.
A8, \field Run on Sensible Load
\type choice
\key Yes
\key No
\default Yes
\note If Yes, unit will run if there is a sensible load.
\note If No, unit will not run if there is only a sensible load.
\note Dehumidification controls will be active if specified.
A9, \field Run on Latent Load
\type choice
\key Yes
\key No
\default No
\note If Yes, unit will run if there is a latent load.
\note even if there is no sensible load.
\note If No, unit will not run only if there is a latent load.
\note Dehumidification controls will be active if specified.
N1, \field Minimum Air To Water Temperature Offset
\note Coil will turn on as required when inlet air temperature is above
\note water temperature by amount of offset. To model a waterside
\note economizer connect to condenser loop and increase offset as desired.
\type real
\units C
\minimum 0.0
\default 0.0
A10, \field Economizer Lockout
\type choice
\key Yes
\key No
\default Yes
\note Yes means that the heat exchanger will be locked out (off)
N2, \field Minimum Water Loop Temperature For Heat Recovery
\note Only used for heat recovery loops.
\note Loop will turn off below this temperature.
\type real
\units C
\default 0.0
A11; \field Companion Coil Used For Heat Recovery
\note Only used for heat recovery loops.
\note Entering a coil name indicates a heat recovery loop is specified.
\note Coil listed is connected in series with this objects coil on demand side
\note branch of a plant loop. A dedicated plant loop with no supply side
\note equipment, other than a pump, is currently required.
\note Only Coil:Cooling:Water coil type is currently allowed for heat recovery loops.
\type object-list
\object-list CoolingCoilsWater

Coil:Cooling:DX,
\memo New general DX cooling coil supporting on or more speeds and one or or operating modes.
\memo Includes DX evaporator coil, compressor, and condenser.
Expand Down Expand Up @@ -57669,113 +57776,6 @@ Coil:WaterHeating:Desuperheater,
\note Off-cycle parasitic power is 0 when the availability schedule is 0.
\ip-units W

CoilSystem:Cooling:Water,
\memo Virtual container component that consists of a water cooling coil
\memo and its associated controls. This control object supports the
\memo available water coil types and may be placed directly on an
\memo air loop branch or in an outdoor air equipment list.
\min-fields 10
A1, \field Name
\required-field
\reference WaterCoilSystemName
\type alpha
\reference-class-name validBranchEquipmentTypes
\reference validBranchEquipmentNames
\reference-class-name validOASysEquipmentTypes
\reference validOASysEquipmentNames
A2, \field Air Inlet Node Name
\required-field
\type node
A3, \field Air Outlet Node Name
\required-field
\type node
A4, \field Availability Schedule Name
\note Availability schedule name for this system. Schedule value > 0
\note means the system is available.
\note If this field is blank, the system is always available.
\type object-list
\object-list ScheduleNames
A5, \field Cooling Coil Object Type
\type choice
\required-field
\key Coil:Cooling:Water
\key Coil:Cooling:Water:DetailedGeometry
\key CoilSystem:Cooling:Water:HeatExchangerAssisted
A6, \field Cooling Coil Name
\required-field
\type object-list
\object-list CoolingCoilsWater
A7, \field Dehumidification Control Type
\type choice
\key None
\key Multimode
\key CoolReheat
\default None
\note None = meet sensible load only
\note Multimode = activate water coil and meet sensible load.
\note If no sensible load exists, and Run on Latent Load = Yes, and a latent
\note load exists, the coil will operate to meet the latent load.
\note If the latent load cannot be met the heat exchanger will be activated.
\note IF Run on Latent Load = No, the heat exchanger will always be active.
\note This control mode either switches the coil mode or allows the heat exchanger to
\note be turned on and off based on the zone dehumidification requirements. Valid
\note only with cooling coil type CoilSystem:Cooling:Water:HeatExchangerAssisted.
\note CoolReheat = cool beyond the dry-bulb setpoint as required to meet the
\note humidity setpoint. Valid with all cooling coil types. When a heat exchanger
\note assisted cooling coil is used, the heat exchanger is locked on at all times.
\note For all dehumidification controls, the max
\note humidity setpoint on the Sensor Node is used.
\note SetpointManager:SingleZone:Humidity:Maximum,
\note SetpointManager:MultiZone:Humidity:Maximum, or
\note SetpointManager:MultiZone:MaximumHumidity:Average, and
\note SetpointManager:OutdoorAirPretreat (optional) objects.
A8, \field Run on Sensible Load
\type choice
\key Yes
\key No
\default Yes
\note If Yes, unit will run if there is a sensible load.
\note If No, unit will not run if there is only a sensible load.
\note Dehumidification controls will be active if specified.
A9, \field Run on Latent Load
\type choice
\key Yes
\key No
\default No
\note If Yes, unit will run if there is a latent load.
\note even if there is no sensible load.
\note If No, unit will not run only if there is a latent load.
\note Dehumidification controls will be active if specified.
N1, \field Minimum Air To Water Temperature Offset
\note Coil will turn on as required when inlet air temperature is above
\note water temperature by amount of offset. To model a waterside
\note economizer connect to condenser loop and increase offset as desired.
\type real
\units C
\minimum 0.0
\default 0.0
A10, \field Economizer Lockout
\type choice
\key Yes
\key No
\default Yes
\note Yes means that the heat exchanger will be locked out (off)
N2, \field Minimum Water Loop Temperature For Heat Recovery
\note Only used for heat recovery loops.
\note Loop will turn off below this temperature.
\type real
\units C
\default 0.0
A11; \field Companion Coil Used For Heat Recovery
\note Only used for heat recovery loops.
\note Entering a coil name indicates a heat recovery loop is specified.
\note Coil listed is connected in series with this objects coil on demand side
\note branch of a plant loop. A dedicated plant loop with no supply side
\note equipment, other than a pump, is currently required.
\note Only Coil:Cooling:Water coil type is currently allowed for heat recovery loops.
\type object-list
\object-list CoolingCoilsWater

CoilSystem:Cooling:DX,
\memo Virtual container component that consists of a DX cooling coil and its associated
\memo controls. This control object supports several different types of DX cooling coils
Expand Down
9 changes: 5 additions & 4 deletions src/EnergyPlus/UnitarySystem.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1326,7 +1326,7 @@ namespace UnitarySystems {
}

// re-set water-side economizer flags each time step
if (this->m_TemperatureOffsetControlActive) {
if (this->m_TemperatureOffsetControlActive && !this->m_WaterHRPlantLoopModel) {
if (state.dataLoopNodes->Node(this->CoolCoilFluidInletNode).Temp >
(state.dataLoopNodes->Node(this->AirInNode).Temp - this->m_minAirToWaterTempOffset)) {
// disable coilsystem if entering fluid temp is > entering air temp minus user specified temp offset
Expand Down Expand Up @@ -3244,7 +3244,7 @@ namespace UnitarySystems {
}

// Early calls to ATMixer don't have enough info to pass GetInput. Need to get the data next time through.
if (sysNum == -1 && !state.dataZoneEquip->ZoneEquipInputsFilled) {
if (sysNum == -1 || !state.dataZoneEquip->ZoneEquipInputsFilled) {
return;
}

Expand Down Expand Up @@ -7233,8 +7233,6 @@ namespace UnitarySystems {
// set water-side economizer flag
if (thisSys.m_minAirToWaterTempOffset > 0.0) thisSys.m_TemperatureOffsetControlActive = true;

thisSys.processInputSpec(state, input_specs, sysNum, errorsFound, ZoneEquipment, ZoneOAUnitNum);

// heat recovery loop inputs
if (fields.find("minimum_water_loop_temperature_for_heat_recovery") != fields.end()) {
thisSys.m_minWaterLoopTempForHR = fields.at("minimum_water_loop_temperature_for_heat_recovery");
Expand Down Expand Up @@ -7273,6 +7271,9 @@ namespace UnitarySystems {
errorsFound = errorsFound || errFound;
}
// end heat recovery loop inputs

thisSys.processInputSpec(state, input_specs, sysNum, errorsFound, ZoneEquipment, ZoneOAUnitNum);

if (sysNum == -1) {
int thisSysNum = state.dataUnitarySystems->numUnitarySystems - 1;
state.dataUnitarySystems->unitarySys[thisSysNum] = thisSys;
Expand Down

1 comment on commit 605d58e

@nrel-bot-3
Copy link

Choose a reason for hiding this comment

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

NFP-runaround-heat-recovery-loop (rraustad) - x86_64-MacOS-10.15-clang-11.0.0: OK (3120 of 3122 tests passed, 1 test warnings)

Messages:\n

  • 3 tests had: EIO diffs.
  • 1 test had: ERR diffs.
  • 1 test had: ESO big diffs.
  • 1 test had: MTR big diffs.
  • 2 tests had: Table big diffs.
  • 1 test had: AUD diffs.
  • 1 test had: ESO small diffs.
  • 1 test had: MTR small diffs.
  • 1 test had: Table small diffs.

Failures:\n

regression Test Summary

  • Passed: 723
  • Failed: 2

Build Badge Test Badge

Please sign in to comment.