-
Notifications
You must be signed in to change notification settings - Fork 389
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add object-level output variables for ZoneInfiltration #8858
Conversation
…iltration-reporting
Also, while you are coding this it might be good to do the same for the Ventilation objects. |
…iltration-reporting
…iltration-reporting
…iltration-reporting
Real64 InfilVdotStdDensity; // Volume flow rate of Air {m3/s} due to infiltration standard density (adjusted elevation) | ||
Real64 InfilMdot; // Mass flow rate {kg/s} due to infiltration for reporting | ||
Real64 InfilMass; // Mass of Air {kg} due to infiltration | ||
Real64 InfilAirChangeRate; // Infiltration air change rate {ach} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add output variables in the data struct.
@@ -2429,6 +2430,7 @@ void ReportAirHeatBalance(EnergyPlusData &state) | |||
state.dataHVACMgr->ReportAirHeatBalanceFirstTimeFlag = false; | |||
} | |||
|
|||
ReportInfiltrations(state); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Update object-level reporting variables right before zone level reporting, to ensure consistency
ZnAirRpt(ZoneLoop).InfilMdot = (state.dataHeatBalFanSys->MCPI(ZoneLoop) / CpAir) * ADSCorrectionFactor; | ||
ZnAirRpt(ZoneLoop).VentilMass = | ||
(state.dataHeatBalFanSys->MCPV(ZoneLoop) / CpAir) * TimeStepSys * DataGlobalConstants::SecInHour * ADSCorrectionFactor; | ||
ZnAirRpt(ZoneLoop).InfilMass = ZnAirRpt(ZoneLoop).InfilMdot * TimeStepSys * DataGlobalConstants::SecInHour; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor cleanups.
@@ -6084,6 +6084,7 @@ void CalcAirFlowSimple(EnergyPlusData &state, | |||
if (state.dataHeatBal->Infiltration(j).QuadratureSum) { | |||
state.dataHeatBal->ZoneAirBalance(state.dataHeatBal->Infiltration(j).OABalancePtr).InfMassFlowRate += MCpI_temp / CpAir; | |||
} else { | |||
state.dataHeatBal->Infiltration(j).MCpI_temp = MCpI_temp; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Store MCpI_temp to object-level data struct for later reporting.
@@ -6337,6 +6338,100 @@ void AutoCalcDOASControlStrategy(EnergyPlusData &state) | |||
} | |||
} | |||
|
|||
void ReportInfiltrations(EnergyPlusData &state) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This function is created to update object-level reporting data, it follows the same equations used in zone reporting.
@mjwitte @rraustad This is ready for review. It passes my local tests: 1. multiple infiltration objects serving the same zone; 2. One infiltration object serving a zone list; 3. Infiltration flow rate actuated by an EMS program. Summing up object-level outputs that serve the same zones give the same number as zone-level outputs. Wait until CI gives a pass. The AUD and RDD diffs are expected by adding new output vars. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is a nice addition to the current capability of reporting infiltration outputs at individual level. A few comments and suggestions were added there. But I think the implementation was done quite nicely and it is in a good shape overall.
I pulled this branch and merged develop and it tests just fine. The Windows and Linux CI bot has gone down and I'll need to reboot it, but Mac is now testing fine with the build warning gone. I would be OK with this going in right now, is there any reason to hold up? |
I took a final look and if I am correct, the IORef TeX might need a finishing touch---the newly added output variables' description should change from "Zone" to "HVAC" according to the change? @Myoldmopar @yzhou601 |
…iltration-reporting
Pulled develop one more time and built and ran tests fine. I verified the new IO ref changes match the output I see in the eplusout.rdd file for an input file with infiltration. I think this is good to go in. Thanks @yzhou601! Thanks @jcyuan2020 for the reviewing. |
Pull request overview
NOTE: ENHANCEMENTS MUST FOLLOW A SUBMISSION PROCESS INCLUDING A FEATURE PROPOSAL AND DESIGN DOCUMENT PRIOR TO SUBMITTING CODE
Pull Request Author
Add to this list or remove from it as applicable. This is a simple templated set of guidelines.
Reviewer
This will not be exhaustively relevant to every PR.