Skip to content

Commit

Permalink
WIP on #7342
Browse files Browse the repository at this point in the history
  • Loading branch information
jmarrec committed Jul 30, 2019
1 parent 4f4f5d8 commit 8f0dd5a
Show file tree
Hide file tree
Showing 5 changed files with 41 additions and 14 deletions.
2 changes: 1 addition & 1 deletion src/EnergyPlus/DataSizing.hh
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ namespace DataSizing {
extern int const CondenserLoop;
extern int const SteamLoop;

// paramters for sizing
// parameters for sizing
extern int const NonCoincident;
extern int const Coincident;

Expand Down
3 changes: 3 additions & 0 deletions src/EnergyPlus/OutputReportPredefined.cc
Original file line number Diff line number Diff line change
Expand Up @@ -376,6 +376,7 @@ namespace OutputReportPredefined {
int pdchCoilDateTimeTotIdealPeak;
int pdchCoilDDnameAirFlowIdealPeak;
int pdchCoilDateTimeAirFlowIdealPeak;
int pdchCoilPeakLoadTypeToSizeOn;
int pdchCoilTotalCapIdealPeak;
int pdchCoilSensCapIdealPeak;
int pdchCoilAirMassFlowIdealPeak;
Expand Down Expand Up @@ -1158,6 +1159,7 @@ namespace OutputReportPredefined {
pdchCoilDateTimeTotIdealPeak = 0;
pdchCoilDDnameAirFlowIdealPeak = 0;
pdchCoilDateTimeAirFlowIdealPeak = 0;
pdchCoilPeakLoadTypeToSizeOn = 0;
pdchCoilTotalCapIdealPeak = 0;
pdchCoilSensCapIdealPeak = 0;
pdchCoilAirMassFlowIdealPeak = 0;
Expand Down Expand Up @@ -2072,6 +2074,7 @@ namespace OutputReportPredefined {
pdchCoilDateTimeTotIdealPeak = newPreDefColumn(pdstCoilSummaryCoilSelection, "Date/Time at Total Ideal Loads Peak");
pdchCoilDDnameAirFlowIdealPeak = newPreDefColumn(pdstCoilSummaryCoilSelection, "Design Day Name at Air Flow Ideal Loads Peak");
pdchCoilDateTimeAirFlowIdealPeak = newPreDefColumn(pdstCoilSummaryCoilSelection, "Date/Time at Air Flow Ideal Loads Peak");
pdchCoilPeakLoadTypeToSizeOn = newPreDefColumn(pdstCoilSummaryCoilSelection, "Peak Load Type to Size On");

pdchCoilTotalCapIdealPeak = newPreDefColumn(pdstCoilSummaryCoilSelection, "Coil Total Capacity at Ideal Loads Peak [W]");
pdchCoilSensCapIdealPeak = newPreDefColumn(pdstCoilSummaryCoilSelection, "Coil Sensible Capacity at Ideal Loads Peak [W]");
Expand Down
1 change: 1 addition & 0 deletions src/EnergyPlus/OutputReportPredefined.hh
Original file line number Diff line number Diff line change
Expand Up @@ -368,6 +368,7 @@ namespace OutputReportPredefined {
extern int pdchCoilDateTimeTotIdealPeak;
extern int pdchCoilDDnameAirFlowIdealPeak;
extern int pdchCoilDateTimeAirFlowIdealPeak;
extern int pdchCoilPeakLoadTypeToSizeOn;
extern int pdchCoilTotalCapIdealPeak;
extern int pdchCoilSensCapIdealPeak;
extern int pdchCoilOffRatingCapacityModifierIdealPeak;
Expand Down
46 changes: 33 additions & 13 deletions src/EnergyPlus/ReportCoilSelection.cc
Original file line number Diff line number Diff line change
Expand Up @@ -99,19 +99,19 @@ CoilSelectionData::CoilSelectionData( // constructor
std::string const &coilName)
: isCooling(false), isHeating(false), coilNum(-999), airloopNum(-999), oaControllerNum(-999), zoneEqNum(-999), oASysNum(-999), zoneHVACTypeNum(0),
zoneHVACIndex(0), typeof_Coil(-999), coilSizingMethodConcurrence(-999), coilSizingMethodCapacity(-999), coilSizingMethodAirFlow(-999),
capIsAutosized(false), volFlowIsAutosized(false), coilWaterFlowUser(-999.0), oaPretreated(false), isSupplementalHeater(false),
coilTotCapFinal(-999.0), coilSensCapFinal(-999.0), coilRefAirVolFlowFinal(-999.0), coilRefWaterVolFlowFinal(-999.0), coilTotCapAtPeak(-999.0),
coilSensCapAtPeak(-999.0), coilDesMassFlow(-999.0), coilDesVolFlow(-999.0), coilDesEntTemp(-999.0), coilDesEntWetBulb(-999.0),
coilDesEntHumRat(-999.0), coilDesEntEnth(-999.0), coilDesLvgTemp(-999.0), coilDesLvgWetBulb(-999.0), coilDesLvgHumRat(-999.0),
coilDesLvgEnth(-999.0), coilDesWaterMassFlow(-999.0), coilDesWaterEntTemp(-999.0), coilDesWaterLvgTemp(-999.0), coilDesWaterTempDiff(-999.0),
pltSizNum(-999), waterLoopNum(-999), oaPeakTemp(-999.00), oaPeakHumRat(-999.0), oaPeakWetBulb(-999.0), oaPeakVolFlow(-999.0),
oaPeakVolFrac(-999.0), oaDoaTemp(-999.0), oaDoaHumRat(-999.0), raPeakTemp(-999.0), raPeakHumRat(-999.0), rmPeakTemp(-999.0),
rmPeakHumRat(-999.0), rmPeakRelHum(-999.0), rmSensibleAtPeak(-999.0), rmLatentAtPeak(0.0), coilIdealSizCapOverSimPeakCap(-999.0),
coilIdealSizCapUnderSimPeakCap(-999.0), reheatLoadMult(-999.0), minRatio(-999.0), maxRatio(-999.0), cpMoistAir(-999.0), cpDryAir(-999.0),
rhoStandAir(-999.0), rhoFluid(-999.0), cpFluid(-999.0), coilCapFTIdealPeak(1.0), coilRatedTotCap(-999.0), coilRatedSensCap(-999.0),
ratedAirMassFlow(-999.0), ratedCoilInDb(-999.0), ratedCoilInWb(-999.0), ratedCoilInHumRat(-999.0), ratedCoilInEnth(-999.0),
ratedCoilOutDb(-999.0), ratedCoilOutWb(-999.0), ratedCoilOutHumRat(-999.0), ratedCoilOutEnth(-999.0), ratedCoilEff(-999.0),
ratedCoilBpFactor(-999.0), ratedCoilAppDewPt(-999.0), ratedCoilOadbRef(-999.0), ratedCoilOawbRef(-999.0),
isCoilSizingForTotalLoad(false), capIsAutosized(false), volFlowIsAutosized(false), coilWaterFlowUser(-999.0), oaPretreated(false),
isSupplementalHeater(false), coilTotCapFinal(-999.0), coilSensCapFinal(-999.0), coilRefAirVolFlowFinal(-999.0),
coilRefWaterVolFlowFinal(-999.0), coilTotCapAtPeak(-999.0), coilSensCapAtPeak(-999.0), coilDesMassFlow(-999.0), coilDesVolFlow(-999.0),
coilDesEntTemp(-999.0), coilDesEntWetBulb(-999.0), coilDesEntHumRat(-999.0), coilDesEntEnth(-999.0), coilDesLvgTemp(-999.0),
coilDesLvgWetBulb(-999.0), coilDesLvgHumRat(-999.0), coilDesLvgEnth(-999.0), coilDesWaterMassFlow(-999.0), coilDesWaterEntTemp(-999.0),
coilDesWaterLvgTemp(-999.0), coilDesWaterTempDiff(-999.0), pltSizNum(-999), waterLoopNum(-999), oaPeakTemp(-999.00), oaPeakHumRat(-999.0),
oaPeakWetBulb(-999.0), oaPeakVolFlow(-999.0), oaPeakVolFrac(-999.0), oaDoaTemp(-999.0), oaDoaHumRat(-999.0), raPeakTemp(-999.0),
raPeakHumRat(-999.0), rmPeakTemp(-999.0), rmPeakHumRat(-999.0), rmPeakRelHum(-999.0), rmSensibleAtPeak(-999.0), rmLatentAtPeak(0.0),
coilIdealSizCapOverSimPeakCap(-999.0), coilIdealSizCapUnderSimPeakCap(-999.0), reheatLoadMult(-999.0), minRatio(-999.0), maxRatio(-999.0),
cpMoistAir(-999.0), cpDryAir(-999.0), rhoStandAir(-999.0), rhoFluid(-999.0), cpFluid(-999.0), coilCapFTIdealPeak(1.0), coilRatedTotCap(-999.0),
coilRatedSensCap(-999.0), ratedAirMassFlow(-999.0), ratedCoilInDb(-999.0), ratedCoilInWb(-999.0), ratedCoilInHumRat(-999.0),
ratedCoilInEnth(-999.0), ratedCoilOutDb(-999.0), ratedCoilOutWb(-999.0), ratedCoilOutHumRat(-999.0), ratedCoilOutEnth(-999.0),
ratedCoilEff(-999.0), ratedCoilBpFactor(-999.0), ratedCoilAppDewPt(-999.0), ratedCoilOadbRef(-999.0), ratedCoilOawbRef(-999.0),

supFanModelTypeEnum(DataAirSystems::fanModelTypeNotYetSet), supFanNum(0), supFanVecIndex(-1), fanSizeMaxAirVolumeFlow(-999.0),
fanSizeMaxAirMassFlow(-999.0), fanHeatGainIdealPeak(-999.0), coilAndFanNetTotalCapacityIdealPeak(-999.0), plantDesMaxMassFlowRate(-999.0),
Expand All @@ -131,6 +131,7 @@ CoilSelectionData::CoilSelectionData( // constructor
coilSizingMethodConcurrenceName = "N/A";
coilSizingMethodCapacityName = "N/A";
coilSizingMethodAirFlowName = "N/A";
coilPeakLoadTypeToSizeOnName = "N/A";
coilCapAutoMsg = "unknown";
coilVolFlowAutoMsg = "unknown";
coilWaterFlowAutoMsg = "unknown";
Expand Down Expand Up @@ -212,6 +213,9 @@ void ReportCoilSelection::writeCoilSelectionOutput()
OutputReportPredefined::PreDefTableEntry(OutputReportPredefined::pdchCoilDateTimeTotIdealPeak, c->coilName_, c->coilTotalPeakHrMin);
OutputReportPredefined::PreDefTableEntry(OutputReportPredefined::pdchCoilDDnameAirFlowIdealPeak, c->coilName_, c->desDayNameAtAirFlowPeak);
OutputReportPredefined::PreDefTableEntry(OutputReportPredefined::pdchCoilDateTimeAirFlowIdealPeak, c->coilName_, c->airPeakHrMin);

OutputReportPredefined::PreDefTableEntry(OutputReportPredefined::pdchCoilPeakLoadTypeToSizeOn, c->coilName_, c->coilPeakLoadTypeToSizeOnName);

OutputReportPredefined::PreDefTableEntry(OutputReportPredefined::pdchCoilTotalCapIdealPeak, c->coilName_, c->coilTotCapAtPeak, 2);
OutputReportPredefined::PreDefTableEntry(OutputReportPredefined::pdchCoilSensCapIdealPeak, c->coilName_, c->coilSensCapAtPeak, 2);
if (c->coilDesMassFlow == -999.0 || c->coilDesMassFlow == -99999.0) {
Expand Down Expand Up @@ -695,6 +699,12 @@ void ReportCoilSelection::doFinalProcessingOfCoilData()
c->coilSizingMethodAirFlowName = "FractionOfAutosizedHeatingAirflow";
}

if (c->isCoilSizingForTotalLoad) {
c->coilPeakLoadTypeToSizeOnName = "Total";
} else {
c->coilPeakLoadTypeToSizeOnName = "Sensible";
}

if (c->capIsAutosized) {
c->coilCapAutoMsg = "Yes";
} else {
Expand Down Expand Up @@ -1179,6 +1189,12 @@ void ReportCoilSelection::setCoilCoolingCapacity(
getTimeText(DataSizing::SysSizPeakDDNum(curSysNum).TimeStepAtCoolFlowPk(DataSizing::SysSizPeakDDNum(curSysNum).CoolFlowPeakDD));
}

if (DataSizing::FinalSysSizing(curSysNum).CoolingPeakLoadType == DataSizing::TotalCoolingLoad) {
c->isCoilSizingForTotalLoad = true;
} else {
c->isCoilSizingForTotalLoad = false;
}

c->oaPeakTemp = DataSizing::FinalSysSizing(curSysNum).OutTempAtCoolPeak;
c->oaPeakVolFlow = DataSizing::FinalSysSizing(curSysNum).DesOutAirVolFlow;
c->oaPeakHumRat = DataSizing::FinalSysSizing(curSysNum).OutHumRatAtCoolPeak;
Expand Down Expand Up @@ -1391,6 +1407,10 @@ void ReportCoilSelection::setCoilHeatingCapacity(
c->coilSizingMethodConcurrence = DataSizing::FinalSysSizing(curSysNum).SizingOption;
c->coilSizingMethodCapacity = DataSizing::FinalSysSizing(curSysNum).HeatingCapMethod;
c->coilSizingMethodAirFlow = DataSizing::FinalSysSizing(curSysNum).ScaleHeatSAFMethod;

// Central Heating Coils are always sized at the conditions at the peak Sensible Heating Load
c->isCoilSizingForTotalLoad = false;

// DesOutAirVolFlow

// loop over heated zones attached to this airloop to find average Room condition, if none heated use cooled zones
Expand Down
3 changes: 3 additions & 0 deletions src/EnergyPlus/ReportCoilSelection.hh
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,9 @@ public: // data
// 5=FractionOfAutosizedHeatingAirflow, 6=FlowPerCoolingCapacity, 7=FlowPerHeatingCapacity
std::string coilSizingMethodAirFlowName;

bool isCoilSizingForTotalLoad; // Type of peak to size (cooling) coils on: True is TotalCoolingLoad, False is sensible
std::string coilPeakLoadTypeToSizeOnName;

// Real64 coilDesCapUser; // coil capacity original input value [W]; -999 means field not applicable to this coil
bool capIsAutosized; // true if the coil's capacity was autosized
std::string coilCapAutoMsg; // Yes if user cap was autosized, No if hard value entered
Expand Down

0 comments on commit 8f0dd5a

Please sign in to comment.