Skip to content

Fix to set the default per person outdoor air flow to zero when not used#4689

Merged
Myoldmopar merged 7 commits intodevelopfrom
84202576-DesSpecOA-PerPersonUsedWhenFlowArea
Feb 10, 2015
Merged

Fix to set the default per person outdoor air flow to zero when not used#4689
Myoldmopar merged 7 commits intodevelopfrom
84202576-DesSpecOA-PerPersonUsedWhenFlowArea

Conversation

@JasonGlazer
Copy link
Contributor

Set the default for per person flow to zero unless it is one of the outdoor air methods that is supposed to use the per person field, in that case let it default to 0.00944 as before. This appears to fix the issue found with GitHub #4378. No test file included yet.

…utdoor air methods that is supposed to use the per person field, in that case let it default to 0.00944 as before. This appears to fix the issue found with GitHub #4378. No test file included yet.
@mjwitte
Copy link
Contributor

mjwitte commented Jan 22, 2015

@JasonGlazer That just seems like it's masking the real problem that somewhere the method is not being applied correctly?

@JasonGlazer
Copy link
Contributor Author

@mjwitte I tried to hand trace the code and could not find a place that it was being used incorrectly but it is used many times and it is also moved into other data structures so I must have missed the problem.

@mjwitte
Copy link
Contributor

mjwitte commented Jan 22, 2015

@JasonGlazer That's not good. This may be fine as a bandaid, but maybe not. If this does not break anything, then we will need a followup issue to make sure this object gets used correctly everywhere. @rraustad I thought you did some consolidation a while back to create a central function to compute the airflow from designspecification:outdoorair

@rraustad
Copy link
Collaborator

See CalcDesignSpecificationOutdoorAir and use in ZoneEquipmentManager.

@JasonGlazer
Copy link
Contributor Author

@rraustad Thanks but the CalcDesignSpecificationOutdoorAir function looks like it already respects the OAFlowMethod flag and the problem is somewhere in the code that does not respect that flag. I will keep looking.

@rraustad
Copy link
Collaborator

Where in the code? Wouldn't a CalcVentilationMechanical function solve this issue? One where unused inputs are disregarded.

@mjwitte
Copy link
Contributor

mjwitte commented Jan 23, 2015

@JasonGlazer You first noticed this with a particular test file, correct? Was it a sizing problem or a control problem? The intent of the function @rraustad put in was to get rid of distributed duplicate (or apparently near-duplicate) code to process the OA specs. If you can find the code that went wrong for the test file and change it to use a central function, that would be a good fix for this issue.

@rraustad
Copy link
Collaborator

Probably right in here in around line 3448 of MixedAir:

// Get mechanical ventilation
VentMechObjectNum = OAController( OAControllerNum ).VentMechObjectNum;
if ( AirLoopNum > 0 && VentMechObjectNum != 0 ) {
....
in here somewhere...

@JasonGlazer
Copy link
Contributor Author

@mjwitte I noticed the problem because annual energy results were changing when they should not but it also shows up in the Std62 report.

…per person even if not using an appropriate OA flow method.
@JasonGlazer
Copy link
Contributor Author

@mjwitte No, OAFromArea does not need a similar check because it defaults to zero when not used. I chose to minimize the amount of code changes to just a few lines rather than introduce a function that I was not familiar with that might have unexpected side effects.

@mjwitte
Copy link
Contributor

mjwitte commented Jan 28, 2015

@JasonGlazer So, that's why you chose to do the same with the per person OA, I presume. But what happens if someone enter method = oaperperson and puts a nonzero value in the OA/area field? And these scattered places in the code - do they properly do the max option?

@JasonGlazer
Copy link
Contributor Author

@mjwitte Could you take a look at the refactoring of the GetInput routine, I was following your example.

@JasonGlazer
Copy link
Contributor Author

The ERR and EIO files of:
• 5ZoneVAV-ChilledWaterStorage-Mixed_DCV_MaxZd
• 5ZoneVAV-ChilledWaterStorage-Mixed_DCV_MultiPath
Show diffs.
When looking at 5ZoneVAV-ChilledWaterStorage-Mixed_DCV_MultiPath:

DesignSpecification:OutdoorAir,
SZ DSOA ZN_1_FLR_1_SEC_1,!- Name
FLOW/ZONE, !- Outdoor Air Method
, !- Outdoor Air Flow per Person {m3/s-person}
0.0, !- Outdoor Air Flow per Zone Floor Area {m3/s-m2}
0.0; !- Outdoor Air Flow per Zone {m3/s}

This should have triggered the error message all along and not use the hidden default value for flow per person so changes to this file are probably expected. The DSOA that have this type of input are also the ones in the error message and EIO as different:
• SZ DSOA ZN_1_FLR_1_SEC_1
• SZ DSOA ZN_1_FLR_1_SEC_2
• SZ DSOA ZN_1_FLR_1_SEC_3
• SZ DSOA ZN_1_FLR_1_SEC_4
• SZ DSOA ZN_1_FLR_1_SEC_5
This implies that these files were not simulating correctly in the baseline.
Based on this, I think the tests behaved as expected and the new code is working properly.

@Myoldmopar Myoldmopar self-assigned this Feb 5, 2015
@Myoldmopar
Copy link
Member

@jasondegraw I made some minor whitespace changes, added the unit test to the unit test CMakeLists file, and resolved the tiny conflict from develop. I'll let CI have a pass at it and it should be good to go.

@Myoldmopar
Copy link
Member

Errm @JasonGlazer ...

@Myoldmopar
Copy link
Member

@JasonGlazer So 2 files are showing diffs. The eio diffs are probably expected; air flow rates changed, and this caused some other small numeric diffs in sizing values.

But I'm guessing you didn't want these err diffs to be present in the 5ZoneVAV-ChilledWaterStorage-Mixed_DCV_MaxZd and 5ZoneVAV-ChilledWaterStorage-Mixed_DCV_MultiPath files. Do you anticipate making changes to the idfs to remedy this?

@JasonGlazer
Copy link
Contributor Author

@Myoldmopar if you look up the discussion on this issue, I think those two files were falling victim of the bug that was fixed and the results should change for them.

@Myoldmopar
Copy link
Member

The eio diffs are probably expected;

Yes, I'm fine with the diffs in the eio files. But we probably don't want to muddy up the error file in our examples. I'm just thinking we should fix the idfs so that they conform to proper behavior. Right?

@JasonGlazer
Copy link
Contributor Author

Ok, I can change the method to flow/person instead of flow/zone and probably put an explicit value in the flow/person field. That should take care of the new ERRs shown.

@Myoldmopar
Copy link
Member

Thanks, I was hoping it was a simple fix like that to clean up the err file.

@mjwitte
Copy link
Contributor

mjwitte commented Feb 9, 2015

@Myoldmopar These errors would hope with the code coverage stats! But I agree, we should probably clean these up. Question is, what was the intent?

@Myoldmopar
Copy link
Member

what was the intent?

Can you clarify what you are looking for? What was the intent of the example file inputs? What was the intent of the fix?

And yes, they would add to the coverage stats 👍, but not worth it... 👎

@mjwitte
Copy link
Contributor

mjwitte commented Feb 9, 2015

What was the intent of the example files?

@Myoldmopar
Copy link
Member

Errm, to demonstrate ChilledWaterStorage-Mixed_DCV features?

…o DSOA. The old versions of the example files showed as flow per zone but because the flow per person was field was defaulting to a value and being used in the calculations it was actually providing flow. The change to the example files explicitly is providing the same amount of flow and is shown as flow per person.
@JasonGlazer
Copy link
Contributor Author

@Myoldmopar I just updated the example files that were creating diffs in the err files. Does the CI get triggered to run when example files change or only when source changed?

@Myoldmopar
Copy link
Member

Triggered on every commit; you should be good to go.

@Myoldmopar
Copy link
Member

@wfbuhl @mjwitte @JasonGlazer As far as I can tell from looking over the CI results, the only issue remaining is the ExpandObjects update. Is anyone available to make those changes, or do I need to venture over there?

@Myoldmopar
Copy link
Member

@wfbuhl @mjwitte @JasonGlazer SORRY, wrong pull request page open...ignore the previous.

Myoldmopar added a commit that referenced this pull request Feb 10, 2015
…enFlowArea

Fix for 4378 that sets the default per person to zero when not used.
@Myoldmopar Myoldmopar merged commit 71f2179 into develop Feb 10, 2015
@Myoldmopar Myoldmopar deleted the 84202576-DesSpecOA-PerPersonUsedWhenFlowArea branch February 10, 2015 22:22
@Myoldmopar Myoldmopar changed the title Fix for 4378 that sets the default per person to zero when not used. Fix to set the default per person outdoor air flow to zero when not used Mar 7, 2015
@Myoldmopar Myoldmopar added the Defect Includes code to repair a defect in EnergyPlus label Mar 9, 2015
@JasonGlazer JasonGlazer restored the 84202576-DesSpecOA-PerPersonUsedWhenFlowArea branch January 29, 2016 14:29
@JasonGlazer JasonGlazer deleted the 84202576-DesSpecOA-PerPersonUsedWhenFlowArea branch January 29, 2016 14:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Defect Includes code to repair a defect in EnergyPlus

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants