Skip to content
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

Corrected MultiSpeed DX Cooling Coil sizing variable names and capacity reporting issues #7495

Merged
merged 20 commits into from
Nov 14, 2019

Conversation

Nigusse
Copy link
Contributor

@Nigusse Nigusse commented Sep 10, 2019

Pull request overview

Fixes #7477. This fixes inconsistent reporting in multi-speed DX cooling and heating coils:

  • corrected inconsistent gross rated total capacity, SHR and rated flow rates names for different speeds
  • now the reporting includes for all speed level for multi-speed DX cooling coils
  • diffs are expected/justified based on this change in tabular reporting.
  • resolved design size values difference when DX coils are fully and partially autosized
  • SHR values now sized using the autosided capacities when design size values are available

Work Checklist

Add to this list or remove from it as applicable. This is a simple templated set of guidelines.

  • Title of PR should be user-synopsis style (clearly understandable in a standalone changelog context)
  • At least one of the following appropriate labels must be added to this PR to be consumed into the changelog:
    • Defect: This pull request repairs a github defect issue. The github issue should be referenced in the PR description
    • Performance: This pull request includes code changes that are directed at improving the runtime performance of EnergyPlus

Review Checklist

This will not be exhaustively relevant to every PR.

  • Functional code review (it has to work!)
  • If defect, results of running current develop vs this branch should exhibit the fix
  • CI status: all green or justified
  • Performance: CI Linux results include performance check
  • Unit Test(s)
  • C++ checks:
    • Argument types
    • If any virtual classes, ensure virtual destructor included, other things
  • If output changes, including tabular output structure, add to output rules file for interfaces

@Nigusse Nigusse added the Defect Includes code to repair a defect in EnergyPlus label Sep 10, 2019
@Nigusse
Copy link
Contributor Author

Nigusse commented Sep 13, 2019

This is ready for review.

@Nigusse
Copy link
Contributor Author

Nigusse commented Sep 13, 2019

@Myoldmopar @rraustad Note that I have merged in issue #7381 to this branch.

@Myoldmopar Myoldmopar added this to the EnergyPlus 9.2.0 milestone Sep 13, 2019
@Myoldmopar
Copy link
Member

Putting this as milestone 9.2 for now since it doesn't appear at first glance to change I/O in a structural manner, but I need to look at the details before making a final decision on that. We'll be freezing the code next week so it may be too late anyway, but if it is clean it would be nice to drop it in.

@Myoldmopar Myoldmopar self-assigned this Sep 18, 2019
@Myoldmopar
Copy link
Member

Unlikely to get this reviewed before we make final cutoff tomorrow afternoon. I'm going to shift the milestone back to future.

@Nigusse
Copy link
Contributor Author

Nigusse commented Sep 24, 2019

SQL output for develop: the rated sizing parameters (Capacity, flow rates, ...) are not reported for all speeds. Note also that the user specified variable naming is not consistent.

Develop_MultiSpeedDXCoils

@Nigusse
Copy link
Contributor Author

Nigusse commented Sep 24, 2019

SQL output for this branch: the rated sizing parameters (Capacity, flow rates, ...) are reported for all speeds of cooling and heating coils. Note also that the user specified sizing variables naming is now consistent.

ThisBranch_MultiSpeedDXCoils

@Myoldmopar
Copy link
Member

@Nigusse I believe this branch is good to go, but with the merge of #7436, there are conflicts. If you can resolve them I'll get this merged in.

@Nigusse
Copy link
Contributor Author

Nigusse commented Sep 30, 2019

@Myoldmopar working on it now.

@Nigusse
Copy link
Contributor Author

Nigusse commented Sep 30, 2019

@Myoldmopar Merged in develop and run the unit test suite. All happy.

@Nigusse
Copy link
Contributor Author

Nigusse commented Sep 30, 2019

The multi-speed DX cooling coil capacity sizing related report variable names were modified for consistency. Also the design rated capacity at lower speeds are now corrected, the lower speed design cooling capacity are fraction of the design capacity at maximum speed, instead of the user specified maximum speed capacity.

@mjwitte mjwitte assigned mjwitte and unassigned Myoldmopar Oct 10, 2019
@mjwitte mjwitte self-requested a review October 10, 2019 15:55
Copy link
Contributor

@mjwitte mjwitte left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Tested this vs develop and saw the expected changes using multispeed.idf as-is (moved to v9.2).
  2. The name re-ordering in the sizing labels warrants an entry in \src\Transition\OutputRulesFiles\OutputChanges9-2-0-to-9-3-0.md
  3. Added sizing objects to the defect file and expected to see a reported "Design Size . . . " for every "User-Specified . . .". This was true for all except "Speed 2 Gross Rated Heating Capacity", the design size output is missing for this one. See After-multispeed-AddSizing.eio
  4. Also made a fully autosized version of the defect file and compared to the hard-sized file with sizing. I was surprised that the Coil:Cooling:DX:MultiSpeed, ASHP CLG COIL, Design Size Speed 2 Gross Rated Total Cooling Capacity was not the same in both files. So maybe that's because the capacity design size is being calculated based on the hard airflow rate? So, I made the airflow rate and the shr autosize in both files and the design gross cooling capacity is still different between the two. Is it broken, or am I missing something? Compare the eio output for After-multispeed-AddSizing-AllAutosize vs After-multispeed-AddSizing-AutoSizeSHRAndAirFlow.

Test files attached: 7477-MulitSpeedDX.zip

@Nigusse
Copy link
Contributor Author

Nigusse commented Oct 11, 2019

"Added sizing objects to the defect file and expected to see a reported "Design Size . . . " for every "User-Specified . . .". This was true for all except "Speed 2 Gross Rated Heating Capacity", the design size output is missing for this one. See After-multispeed-AddSizing.eio"

@mjwitte I moved the cooling capacity sizing calc to Requestsizing() function. I think, this function does not report the design capacity (may be any design variable) unless the user specified value is different from the design value by more than 10%. This is a quick reply to item 3.

@mjwitte
Copy link
Contributor

mjwitte commented Oct 14, 2019

@Nigusse I may be wrong, but my understanding is that both values should always be reported, but the >10% difference triggers a warning (with DisplayExtraWarnings?).

@rraustad
Copy link
Contributor

If not autosized, and difference is greater than 0.1, both are reported, otherwise only user specified is reported.

            if (PrintWarningFlag) {
                if (IsAutoSize && SizingResult > 0.0) {
                    ReportSizingOutput(CompType, CompName, "Design Size " + SizingString, SizingResult);
                } else if (SizingResult > 0.0) {
                    AutosizeUser = SizingResult;
                    if ((std::abs(AutosizeDes - AutosizeUser) / AutosizeUser) > AutoVsHardSizingThreshold) {
                        ReportSizingOutput(
                            CompType, CompName, "Design Size " + SizingString, AutosizeDes, "User-Specified " + SizingString, AutosizeUser);
                    } else {
                        ReportSizingOutput(CompType, CompName, "User-Specified " + SizingString, AutosizeUser);
                    }

@mjwitte
Copy link
Contributor

mjwitte commented Oct 16, 2019

@rraustad @Nigusse I didn't realize the reporting was suppressed for <10% difference. So, OK, if I change that to exceed 10% then I see design reported for every user value. So, that part's ok.

Any thoughts on the other question about fully autosized capacity being different from the design values reported when user-specified?

@Nigusse
Copy link
Contributor Author

Nigusse commented Nov 1, 2019

@mjwitte addressed item 2. This branch was meant to include a final fix for issues #7381 and #7477. Now looking at item 4.

@Nigusse
Copy link
Contributor Author

Nigusse commented Nov 1, 2019

@mjwitte @rraustad The main reason why these two defect files show design size cooling capacity difference is due to differences in sizing method. When it is fully auto-sized, the capacity determined using the RequestSizing() function from the parent object (UnitarySystem) and is set for the DX coil. When there is hard sizing value specified for the DX coil capacity, the design capacity is determined using the autosizing calculation in the DXCoil object. These two sizing methods are slightly different. The RequestSizing() function accounts for fan heat effect in the sizing calculation, while the other is not. I think the way forward in resolving this problem is to use the RequestSizing() in both places. I think, this defect must have been there longer.

@Nigusse
Copy link
Contributor Author

Nigusse commented Nov 8, 2019

@mjwitte As you have pointed out partial autosizing of multi-speed DX coils fields has been broken. I have found partial autosizing problem for Rated Total Cooling/Heating Capacity, Rated Air Flow Rates, Rated Sensible Heat Ratio, Evaporative Condenser Air Flow Rate, etc. All capacity and flow rate related sizing variables were broken or did not work in the first place when there is partial autosizing. Fixing these issues has broken else where, so reverted some of the changes I made. The remaining issues will be addressed after reviewing the this push, perhaps this issue should be divided into multiple bug issues.

@Nigusse
Copy link
Contributor Author

Nigusse commented Nov 12, 2019

Fully autosized Multispeed DX coils results:

FullyAutosizeOfMSpeedDXCoils

@Nigusse
Copy link
Contributor Author

Nigusse commented Nov 12, 2019

Partially autosized Multispeed DX coils results:

PartialAutosizeOfMSpeedDXCoils

@Nigusse
Copy link
Contributor Author

Nigusse commented Nov 12, 2019

This fix resolves the mismatch between design size values when fully and partially autosized.

Copy link
Contributor

@mjwitte mjwitte left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Nigusse Thanks for addressing all of the comments. Output looks exactly as expected now. Merging in develop for one more CI round, then this can drop in.

@mjwitte mjwitte merged commit b4404bb into develop Nov 14, 2019
@mjwitte mjwitte deleted the 168195503_Issue7477 branch November 14, 2019 13:05
@mjwitte mjwitte added the OutputChange Code changes output in such a way that it cannot be merged after IO freeze label Nov 14, 2019
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 OutputChange Code changes output in such a way that it cannot be merged after IO freeze
Projects
None yet
Development

Successfully merging this pull request may close these issues.

MultiSpeed DX Cooling Coil sizing variable names and capacity reporting issues
9 participants