Skip to content

Commit 4392c54

Browse files
committed
Merge branch 'develop' into EnergyPlusEssentialsDocumentation
2 parents 5fb6121 + 8b35103 commit 4392c54

File tree

10 files changed

+537
-139
lines changed

10 files changed

+537
-139
lines changed

idd/Energy+.idd.in

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@
240240
! GJ => ton-hrs 78.9889415481832
241241
! J => Wh 0.000277777777777778
242242
! J/K => Btu/F 526.565
243-
! J/kg => Btu/lb 0.00042986
243+
! J/kg => Btu/lb 0.00042986 (plus 7.686)
244244
! J/kg-K => Btu/lb-F 0.000239005736137667
245245
! J/kg-K2 => Btu/lb-F2 0.000132889924714692
246246
! J/kg-K3 => Btu/lb-F3 7.38277359526066E-05
@@ -65078,6 +65078,7 @@ Connector:Splitter,
6507865078
\memo within a single Splitter list.
6507965079
A1, \field Name
6508065080
\required-field
65081+
\reference PlantConnectors
6508165082
A2, \field Inlet Branch Name
6508265083
\required-field
6508365084
\type object-list
@@ -65432,6 +65433,7 @@ Connector:Mixer,
6543265433
\memo a single mixer list.
6543365434
A1 , \field Name
6543465435
\required-field
65436+
\reference PlantConnectors
6543565437
A2 , \field Outlet Branch Name
6543665438
\required-field
6543765439
\type object-list
@@ -65792,11 +65794,15 @@ ConnectorList,
6579265794
\key Connector:Mixer
6579365795
A3, \field Connector 1 Name
6579465796
\required-field
65797+
\type object-list
65798+
\object-list PlantConnectors
6579565799
A4, \field Connector 2 Object Type
6579665800
\type choice
6579765801
\key Connector:Splitter
6579865802
\key Connector:Mixer
6579965803
A5; \field Connector 2 Name
65804+
\type object-list
65805+
\object-list PlantConnectors
6580065806

6580165807
NodeList,
6580265808
\min-fields 2
@@ -68107,6 +68113,7 @@ Boiler:HotWater,
6810768113
\autosizable
6810868114
\ip-units gal/min
6810968115
\minimum 0.0
68116+
\default autosize
6811068117
N4 , \field Minimum Part Load Ratio
6811168118
\type real
6811268119
\minimum 0.0
@@ -68144,6 +68151,7 @@ Boiler:HotWater,
6814468151
\type real
6814568152
\units W
6814668153
\minimum 0.0
68154+
\default 0.0
6814768155
N9, \field Sizing Factor
6814868156
\note Multiplies the autosized capacity and flow rates
6814968157
\type real
@@ -89496,6 +89504,7 @@ Curve:Linear,
8949689504
\key Dimensionless
8949789505
\key Capacity
8949889506
\key Power
89507+
\key Temperature
8949989508
\default Dimensionless
8950089509

8950189510
Curve:QuadLinear,
@@ -89653,6 +89662,7 @@ Curve:Quadratic,
8965389662
\key Dimensionless
8965489663
\key Capacity
8965589664
\key Power
89665+
\key Temperature
8965689666
\default Dimensionless
8965789667

8965889668
Curve:Cubic,
@@ -89707,6 +89717,7 @@ Curve:Cubic,
8970789717
\key Dimensionless
8970889718
\key Capacity
8970989719
\key Power
89720+
\key Temperature
8971089721
\default Dimensionless
8971189722

8971289723
Curve:Quartic,
@@ -89765,6 +89776,7 @@ Curve:Quartic,
8976589776
\key Dimensionless
8976689777
\key Capacity
8976789778
\key Power
89779+
\key Temperature
8976889780
\default Dimensionless
8976989781

8977089782
Curve:Exponent,
@@ -89820,6 +89832,7 @@ Curve:Exponent,
8982089832
\key Dimensionless
8982189833
\key Capacity
8982289834
\key Power
89835+
\key Temperature
8982389836
\default Dimensionless
8982489837

8982589838
Curve:Bicubic,
@@ -89910,6 +89923,7 @@ Curve:Bicubic,
8991089923
\key Dimensionless
8991189924
\key Capacity
8991289925
\key Power
89926+
\key Temperature
8991389927
\default Dimensionless
8991489928

8991589929
Curve:Biquadratic,
@@ -89987,6 +90001,7 @@ Curve:Biquadratic,
8998790001
\key Dimensionless
8998890002
\key Capacity
8998990003
\key Power
90004+
\key Temperature
8999090005
\default Dimensionless
8999190006

8999290007
Curve:QuadraticLinear,
@@ -90064,6 +90079,7 @@ Curve:QuadraticLinear,
9006490079
\key Dimensionless
9006590080
\key Capacity
9006690081
\key Power
90082+
\key Temperature
9006790083
\default Dimensionless
9006890084

9006990085
Curve:CubicLinear,
@@ -90261,6 +90277,7 @@ Curve:Triquadratic,
9026190277
\key Dimensionless
9026290278
\key Capacity
9026390279
\key Power
90280+
\key Temperature
9026490281
\default Dimensionless
9026590282

9026690283
Curve:Functional:PressureDrop,
@@ -90807,6 +90824,7 @@ Table:OneIndependentVariable,
9080790824
\key Dimensionless
9080890825
\key Capacity
9080990826
\key Power
90827+
\key Temperature
9081090828
\default Dimensionless
9081190829
N5 , \field Normalization Reference
9081290830
\type real
@@ -90923,6 +90941,7 @@ Table:TwoIndependentVariables,
9092390941
\key Dimensionless
9092490942
\key Capacity
9092590943
\key Power
90944+
\key Temperature
9092690945
\default Dimensionless
9092790946
N7 , \field Normalization Reference
9092890947
\type real
@@ -91159,6 +91178,7 @@ Table:MultiVariableLookup,
9115991178
\key Dimensionless
9116091179
\key Capacity
9116191180
\key Power
91181+
\key Temperature
9116291182
\default Dimensionless
9116391183
N17, \field Number of Independent Variables
9116491184
\type integer
@@ -91556,6 +91576,7 @@ FluidProperties:GlycolConcentration,
9155691576
\memo glycol and what concentration it is
9155791577
A1, \field Name
9155891578
\required-field
91579+
\reference FluidAndGlycolNames
9155991580
A2, \field Glycol Type
9156091581
\required-field
9156191582
\type choice

src/ConvertESOMTR/convert.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ conv,J,MMBtu,9.4845E-10,0
2525
! (1 J / 1 W-s) * (1 hr/3600 s) * (1 ton / 3516.853 W)
2626
conv,J,ton-hr,7.89847E-08,0
2727
! (1 Btu/1054.35 J) * (1 kBtu/1000 Btu) * (0.4535924 kg / 1 lb)
28-
conv,J/kg,kBtu/lb,4.302105E-07,0
28+
conv,J/kg,kBtu/lb,4.2986E-07,0.007686
2929
! (1 Btu/1054.35 J) * (1 kBtu/1000 Btu) * (0.09290304 m2 / 1 ft2)
3030
conv,J/m2,kBtu/sqft,8.811404E-08,0
3131
! (1 Btu/1054.35 J) * (1 kBtu/1000 Btu) * (1000 J / 1 kJ)

src/EnergyPlus/DataHVACGlobals.cc

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -503,8 +503,7 @@ namespace DataHVACGlobals {
503503
bool SimZoneEquipmentFlag; // True when zone equipment components need to be (re)simulated
504504
bool SimNonZoneEquipmentFlag; // True when non-zone equipment components need to be (re)simulated
505505
bool ZoneMassBalanceHVACReSim; // True when zone air mass flow balance and air loop needs (re)simulated
506-
int MinAirLoopIterationsAfterFirst(
507-
1); // minimum number of HVAC iterations after FirstHVACIteration (must be at least 2 for sequenced loads to operate on air loops)
506+
int MinAirLoopIterationsAfterFirst(1); // minimum number of HVAC iterations after FirstHVACIteration
508507

509508
int const NumZoneHVACTerminalTypes(38);
510509

src/EnergyPlus/DataZoneEquipment.cc

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,6 @@ namespace DataZoneEquipment {
327327
Array1D_string cNumericFields; // Numeric field names
328328
Array1D_bool lAlphaBlanks; // Logical array, alpha field input BLANK = .TRUE.
329329
Array1D_bool lNumericBlanks; // Logical array, numeric field input BLANK = .TRUE.
330-
bool IdealLoadsOnEquipmentList;
331330
int maxEquipCount;
332331
int numEquipCount;
333332
int overallEquipCount;
@@ -577,9 +576,6 @@ namespace DataZoneEquipment {
577576
ZoneEquipList(ControlledZoneNum).CoolingCapacity = 0;
578577
ZoneEquipList(ControlledZoneNum).HeatingCapacity = 0;
579578

580-
IdealLoadsOnEquipmentList = false;
581-
int countAirTermsInZone = 0;
582-
583579
for (ZoneEquipTypeNum = 1; ZoneEquipTypeNum <= ZoneEquipList(ControlledZoneNum).NumOfEquipTypes; ++ZoneEquipTypeNum) {
584580
ZoneEquipList(ControlledZoneNum).EquipType(ZoneEquipTypeNum) = AlphArray(2 * ZoneEquipTypeNum + 1);
585581
ZoneEquipList(ControlledZoneNum).EquipName(ZoneEquipTypeNum) = AlphArray(2 * ZoneEquipTypeNum + 2);
@@ -624,11 +620,9 @@ namespace DataZoneEquipment {
624620

625621
if (SELECT_CASE_var == "ZONEHVAC:AIRDISTRIBUTIONUNIT") {
626622
ZoneEquipList(ControlledZoneNum).EquipType_Num(ZoneEquipTypeNum) = AirDistUnit_Num;
627-
++countAirTermsInZone;
628623

629624
} else if (SELECT_CASE_var == "AIRTERMINAL:SINGLEDUCT:UNCONTROLLED") {
630625
ZoneEquipList(ControlledZoneNum).EquipType_Num(ZoneEquipTypeNum) = DirectAir_Num;
631-
++countAirTermsInZone;
632626

633627
} else if (SELECT_CASE_var == "ZONEHVAC:WINDOWAIRCONDITIONER") { // Window Air Conditioner
634628
ZoneEquipList(ControlledZoneNum).EquipType_Num(ZoneEquipTypeNum) = WindowAC_Num;
@@ -738,8 +732,6 @@ namespace DataZoneEquipment {
738732
}
739733
}
740734
}
741-
// If there are two or more air terminals in a zone, then set minimum iterations to number of air terminals
742-
DataHVACGlobals::MinAirLoopIterationsAfterFirst = max(MinAirLoopIterationsAfterFirst, countAirTermsInZone);
743735

744736
for (ZoneEquipTypeNum = 1; ZoneEquipTypeNum <= ZoneEquipList(ControlledZoneNum).NumOfEquipTypes; ++ZoneEquipTypeNum) {
745737
if (count_eq(ZoneEquipList(ControlledZoneNum).CoolingPriority, ZoneEquipTypeNum) > 1) {
@@ -1825,6 +1817,24 @@ namespace DataZoneEquipment {
18251817
break;
18261818
}
18271819
}
1820+
// Set MinAirLoopIterationsAfterFirst for equipment that uses sequenced loads, based on zone equip load distribution scheme
1821+
int minIterations = DataHVACGlobals::MinAirLoopIterationsAfterFirst;
1822+
if (this->LoadDistScheme == DataZoneEquipment::LoadDist::SequentialLoading) {
1823+
// Sequential needs one extra iterations up to the highest airterminal unit equipment number
1824+
minIterations = max(coolingPriority, heatingPriority, minIterations);
1825+
}
1826+
else if (this->LoadDistScheme == DataZoneEquipment::LoadDist::UniformLoading) {
1827+
// Uniform needs one extra iteration which is the default
1828+
}
1829+
else if (this->LoadDistScheme == DataZoneEquipment::LoadDist::UniformPLRLoading) {
1830+
// UniformPLR needs two extra iterations, regardless of unit equipment number
1831+
minIterations = max(2, minIterations);
1832+
}
1833+
else if (this->LoadDistScheme == DataZoneEquipment::LoadDist::SequentialUniformPLRLoading) {
1834+
// SequentialUniformPLR needs one extra iterations up to the highest airterminal unit equipment number plus one more
1835+
minIterations = max((coolingPriority + 1), (heatingPriority + 1), minIterations);
1836+
}
1837+
DataHVACGlobals::MinAirLoopIterationsAfterFirst = minIterations;
18281838
}
18291839

18301840
} // namespace DataZoneEquipment

src/EnergyPlus/HVACManager.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -889,7 +889,7 @@ namespace HVACManager {
889889
SimAirLoopsFlag = true;
890890
}
891891
if (HVACManageIteration < MinAirLoopIterationsAfterFirst) {
892-
// sequenced zone loads only work if there are at least two iterations after FirstHVACIteraion
892+
// sequenced zone loads for airloops may require extra iterations depending upon zone equipment order and load distribution type
893893
SimAirLoopsFlag = true;
894894
SimZoneEquipmentFlag = true;
895895
}

src/EnergyPlus/Pumps.cc

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -438,6 +438,17 @@ namespace Pumps {
438438
PumpEquip(PumpNum).MinVolFlowRate = rNumericArgs(10);
439439
if (PumpEquip(PumpNum).MinVolFlowRate == AutoSize) {
440440
PumpEquip(PumpNum).minVolFlowRateWasAutosized = true;
441+
} else if (!PumpEquip(PumpNum).NomVolFlowRateWasAutoSized &&
442+
(PumpEquip(PumpNum).MinVolFlowRate > PumpEquip(PumpNum).NomVolFlowRate)) {
443+
// Check that the minimum isn't greater than the maximum
444+
ShowWarningError(RoutineName + cCurrentModuleObject + "=\"" + PumpEquip(PumpNum).Name
445+
+ "\", Invalid '" + cNumericFieldNames(10) +"'");
446+
ShowContinueError("Entered Value=[" + General::TrimSigDigits(PumpEquip(PumpNum).MinVolFlowRate, 5) + "] is above the "
447+
+ cNumericFieldNames(1) + "=["
448+
+ General::TrimSigDigits(PumpEquip(PumpNum).NomVolFlowRate, 5) + "].");
449+
ShowContinueError("Reseting value of '" + cNumericFieldNames(10) + "' to the value of '" + cNumericFieldNames(1) +"'.");
450+
// Set min to roughly max, but not quite, otherwise it can't turn on, ever
451+
PumpEquip(PumpNum).MinVolFlowRate = 0.99 * PumpEquip(PumpNum).NomVolFlowRate;
441452
}
442453
// Probably the following two lines will be used if the team agrees on changing the F10 value from min flow rate to
443454
// minimum flow as a fraction of nominal flow.

0 commit comments

Comments
 (0)