Skip to content

Commit 264dc63

Browse files
committed
Merge branch 'develop' into RAFN-CheckEquipName-Issue
2 parents 1698d9b + fcc6cf2 commit 264dc63

File tree

167 files changed

+8059
-6693
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

167 files changed

+8059
-6693
lines changed

doc/ems-application-guide/src/ems-actuators/internal-gains-and-exterior-lights.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ \subsection{Other Equipment}\label{other-equipment}
3030

3131
\subsection{Indoor Living Wall}\label{indoor-living-wall}
3232

33-
An actuator called ``IndoorLivingWall'' is available with a control type called ``Evapotranspiration Rate'' (in \unit{\kilo\gram\per\square\meter\per\second}). This allows you to set the evapotranspiration rates for each IndoorLivingWall object directly using EMS, Python PlugIns, or Python API. The unique identifier is the name of the IndoorLivingWall input object.
33+
An actuator called ``IndoorLivingWall'' is available with a control type called ``Evapotranspiration Rate'' (in \si{\evapotranspirationRate}). This allows you to set the evapotranspiration rates for each IndoorLivingWall input object. The unique identifier is the name of the IndoorLivingWall input object.
3434

3535
\subsection{Baseboard}\label{baseboard}
3636

doc/engineering-reference/src/simulation-models-encyclopedic-reference-003/indoor-living-wall.tex

Lines changed: 124 additions & 97 deletions
Large diffs are not rendered by default.

doc/header.tex

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,8 @@
109109
\DeclareSIUnit\wattperVolumeFlowRate{\watt\s\per\m\cubed} % Displays "W s/m^3"
110110
\DeclareSIUnit\volumeFlowRateperArea{\volumeFlowRate\per\area} % Unused
111111
\DeclareSIUnit\volumeFlowRateperWatt{\volumeFlowRate\per\watt} % Displays "m^3/(s W)"
112+
\DeclareSIUnit\umolperAreaperSecond{\umol\per\area\per\s} % Displays "µmol/(m^2 s)"
113+
\DeclareSIUnit\evapotranspirationRate{\kg\per\area\per\s} % Displays "kg / (m^2 s)"
112114

113115
% Make alias, so its clear these are IP units
114116
\let\DeclareIPUnit\DeclareSIUnit

doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex

Lines changed: 46 additions & 45 deletions
Large diffs are not rendered by default.

idd/Energy+.idd.in

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -22671,8 +22671,8 @@ OtherEquipment,
2267122671
\default General
2267222672

2267322673
IndoorLivingWall,
22674-
\memo Indoor greenery systems such as indoor living walls are panels of plants, which grow hydroponically or from substrates.
22675-
\memo The living wall structures can be either free-standing or attached to walls.
22674+
\memo Indoor greenery systems such as indoor living walls are panels of plants, which grow hydroponically or from substrates.
22675+
\memo The living wall structures can be either free-standing or attached to walls.
2267622676
\memo The IndoorLivingWall module directly connects with inside surface heat balance, zone air heat balance, and zone air moisture balance.
2267722677
A1 , \field Name
2267822678
\required-field
@@ -22700,42 +22700,42 @@ IndoorLivingWall,
2270022700
\key LED
2270122701
\key Daylight
2270222702
\key LED-Daylight
22703-
A6 , \field LED Intensity Schedule Name
22703+
A6 , \field LED Intensity Schedule Name
2270422704
\type object-list
2270522705
\object-list ScheduleNames
2270622706
A7 , \field Daylighting Control Name
22707-
\note If daylighting is used in the selected lighting methods (Daylight or LED-Daylight),
22708-
\note users should define an object of Daylighting:Control to obtain the daylighting illumance level
22709-
\note and an object for Daylighing:ReferencePoint for the daylighting sensor location in the thermal zone.
22710-
\note The name of the object of Daylighting:Controls should be specified in this field.
22711-
\type alpha
22707+
\note If daylighting is used in the selected lighting methods (Daylight or LED-Daylight),
22708+
\note users should define an object of Daylighting:Control to obtain the daylighting illumance level
22709+
\note and an object for Daylighing:ReferencePoint for the daylighting sensor location in the thermal zone.
22710+
\note The name of the object of Daylighting:Controls should be specified in this field.
22711+
\type alpha
2271222712
A8 , \field LED-Daylight Targeted Lighting Intensity Schedule Name
22713-
\note This field defines targeted LED intensity level for indoor living wall systems.
22714-
\note The schedule values can be any positive number representing targeted photosynthetic photon flux density (PPFD).
22715-
\note Based on the available daylighting, the required LED lighting level and power will be automatically adjusted to meet the targeted LED intensity level.
22713+
\note This field defines targeted LED intensity level for indoor living wall systems.
22714+
\note The schedule values can be any positive number representing targeted photosynthetic photon flux density (PPFD).
22715+
\note Based on the available daylighting, the required LED lighting level and power will be automatically adjusted to meet the targeted LED intensity level.
2271622716
\type object-list
2271722717
\object-list ScheduleNames
2271822718
N1 , \field Total Leaf Area
22719-
\note The value is the one-sided leaf area of an indoor living wall.
22720-
\note Based on the users’ input, LAI is calculated as the ratio of the total leaf area and the partition wall area.
22721-
\note Typical LAIs are 1.0 for grass and 3.0 for bushes and shrubs. The maximum LAI is 2.0 for the IndoorLivingWall module in EnergyPlus.
22722-
\note If the calculated LAI is greater than 2.0, the maximum value of 2.0 is used for LAI in the simulation.
22719+
\note The value is the one-sided leaf area of an indoor living wall.
22720+
\note Based on the users’ input, LAI is calculated as the ratio of the total leaf area and the partition wall area.
22721+
\note Typical LAIs are 1.0 for grass and 3.0 for bushes and shrubs. The maximum LAI is 2.0 for the IndoorLivingWall module in EnergyPlus.
22722+
\note If the calculated LAI is greater than 2.0, the maximum value of 2.0 is used for LAI in the simulation.
2272322723
\units m2
2272422724
\type real
2272522725
\ip-units ft2
22726-
N2 , \field LED Nominal Intensity
22727-
\note The value represents photosynthetic photon flux density (PPFD) of LED grow light.
22728-
\note PPFD is measured in micro-mole per m2 per second (umol_m2s) which establishes exactly how many photosynthetically active radiation (PAR) photons are landing on a specific area.
22726+
N2 , \field LED Nominal Intensity
22727+
\note The value represents photosynthetic photon flux density (PPFD) of LED grow light.
22728+
\note PPFD is measured in micro-mole per m2 per second (umol/m2-s) which establishes exactly how many photosynthetically active radiation (PAR) photons are landing on a specific area.
2272922729
\units umol/m2-s
2273022730
\type real
2273122731
\ip-units umol/ft2-s
2273222732
N3 , \field LED Nominal Power
22733-
\note This field defines nominal total LED power for an indoor living wall system.
22733+
\note This field defines nominal total LED power for an indoor living wall system.
2273422734
\units W
2273522735
\type real
2273622736
\ip-units W
2273722737
N4 ; \field Radiant Fraction of LED Lights
22738-
\note This field defines the fraction of radiation from LED lights
22738+
\note This field defines the fraction of radiation from LED lights
2273922739
\type real
2274022740
\minimum 0.0
2274122741
\maximum 1.0
@@ -63493,7 +63493,7 @@ AirLoopHVAC:UnitarySystem,
6349363493
\key Yes
6349463494
\key No
6349563495
\default Yes
63496-
\note This field is not used when Design Specification Multispeed Object Type input is present
63496+
\note This field is not used when Design Specification Multispeed Object Type input is present
6349763497
\note When Yes is selected the minimum air flow rate is used.
6349863498
\note When No is selected the maximum air flow rate is used.
6349963499
N17, \field Maximum Supply Air Temperature

scripts/dev/check_for_malformed_enums.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ def process_enum_str(input_str: str, file_name: str, line_no: int, print_errors:
167167
error_str += "\tenum keys must begin with upper case letter\n"
168168

169169
if difflib.get_close_matches(name, keys, cutoff=0.7):
170-
exceptions = ["DataGlobalConstants.hh:HeatOrCool"]
170+
exceptions = ["DataGlobalConstants.hh:HeatOrCool", "DataHVACGlobals.hh:UnitarySysType"]
171171
if f"{file_name}:{name}" not in exceptions:
172172
error_str += "\tenum keys are too similar to enum name\n"
173173

src/EnergyPlus/AirLoopHVACDOAS.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -632,7 +632,7 @@ namespace AirLoopHVACDOAS {
632632
if (thisOutsideAirSys.compPointer[CompNum] == nullptr) {
633633
UnitarySystems::UnitarySys thisSys;
634634
thisOutsideAirSys.compPointer[CompNum] =
635-
UnitarySystems::UnitarySys::factory(state, HVAC::UnitarySys_AnyCoilType, CompName, false, 0);
635+
UnitarySystems::UnitarySys::factory(state, HVAC::UnitarySysType::Unitary_AnyCoilType, CompName, false, 0);
636636
}
637637
thisOutsideAirSys.InletNodeNum(CompNum) =
638638
thisOutsideAirSys.compPointer[CompNum]->getAirInNode(state, CompName, 0, InletNodeErrFlag);

src/EnergyPlus/AirflowNetwork/include/AirflowNetwork/Solver.hpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
#include <EnergyPlus/Data/BaseData.hh>
6565
#include <EnergyPlus/EPVector.hh>
6666
#include <EnergyPlus/EnergyPlus.hh>
67+
#include <EnergyPlus/SystemAvailabilityManager.hh>
6768

6869
namespace EnergyPlus {
6970

@@ -324,8 +325,8 @@ namespace AirflowNetwork {
324325
Array1D<Real64> MA;
325326
Array1D<Real64> MV;
326327
Array1D_int IVEC;
327-
int VentilationCtrl = 0; // Hybrid ventilation control type
328-
int NumOfExhaustFans = 0; // Number of exhaust fans
328+
Avail::VentCtrlStatus ventCtrlStatus = Avail::VentCtrlStatus::NoAction; // Hybrid ventilation control type
329+
int NumOfExhaustFans = 0; // Number of exhaust fans
329330
int NumAirflowNetwork = 0;
330331
int AirflowNetworkNumOfDetOpenings = 0;
331332
int AirflowNetworkNumOfSimOpenings = 0;
@@ -548,7 +549,7 @@ namespace AirflowNetwork {
548549
MA.deallocate();
549550
MV.deallocate();
550551
IVEC.deallocate();
551-
VentilationCtrl = 0;
552+
ventCtrlStatus = Avail::VentCtrlStatus::NoAction;
552553
NumOfExhaustFans = 0;
553554
NumAirflowNetwork = 0;
554555
AirflowNetworkNumOfDetOpenings = 0;

src/EnergyPlus/AirflowNetwork/src/Elements.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -715,10 +715,10 @@ namespace AirflowNetwork {
715715
int AirLoopNum = state.afn->AirflowNetworkLinkageData(i).AirLoopNum;
716716

717717
if (fanType == HVAC::FanType::OnOff) {
718-
if (state.dataAirLoop->AirLoopAFNInfo(AirLoopNum).LoopFanOperationMode == CycFanCycComp &&
718+
if (state.dataAirLoop->AirLoopAFNInfo(AirLoopNum).LoopFanOperationMode == HVAC::FanOp::Cycling &&
719719
state.dataLoopNodes->Node(InletNode).MassFlowRate == 0.0) {
720720
NF = GenericDuct(0.1, 0.001, LFLAG, PDROP, propN, propM, F, DF);
721-
} else if (state.dataAirLoop->AirLoopAFNInfo(AirLoopNum).LoopFanOperationMode == CycFanCycComp &&
721+
} else if (state.dataAirLoop->AirLoopAFNInfo(AirLoopNum).LoopFanOperationMode == HVAC::FanOp::Cycling &&
722722
state.dataAirLoop->AirLoopAFNInfo(AirLoopNum).LoopSystemOnMassFlowrate > 0.0) {
723723
F[0] = state.dataAirLoop->AirLoopAFNInfo(AirLoopNum).LoopSystemOnMassFlowrate;
724724
} else {
@@ -3293,7 +3293,7 @@ namespace AirflowNetwork {
32933293
// Treat the component as an exhaust fan
32943294
F[0] = state.dataLoopNodes->Node(InletNode).MassFlowRate;
32953295
DF[0] = 0.0;
3296-
if (state.dataAirLoop->AirLoopAFNInfo(AirLoopNum).LoopFanOperationMode == CycFanCycComp &&
3296+
if (state.dataAirLoop->AirLoopAFNInfo(AirLoopNum).LoopFanOperationMode == HVAC::FanOp::Cycling &&
32973297
state.dataAirLoop->AirLoopAFNInfo(AirLoopNum).LoopOnOffFanPartLoadRatio > 0.0) {
32983298
F[0] = F[0] / state.dataAirLoop->AirLoopAFNInfo(AirLoopNum).LoopOnOffFanPartLoadRatio;
32993299
}
@@ -3413,7 +3413,7 @@ namespace AirflowNetwork {
34133413
F[0] = state.afn->ReliefMassFlowRate;
34143414
} else {
34153415
F[0] = state.dataLoopNodes->Node(OutletNode).MassFlowRate;
3416-
if (state.dataAirLoop->AirLoopAFNInfo(AirLoopNum).LoopFanOperationMode == CycFanCycComp &&
3416+
if (state.dataAirLoop->AirLoopAFNInfo(AirLoopNum).LoopFanOperationMode == HVAC::FanOp::Cycling &&
34173417
state.dataAirLoop->AirLoopAFNInfo(AirLoopNum).LoopOnOffFanPartLoadRatio > 0.0) {
34183418
F[0] = F[0] / state.dataAirLoop->AirLoopAFNInfo(AirLoopNum).LoopOnOffFanPartLoadRatio;
34193419
}

0 commit comments

Comments
 (0)