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

Outdoor Air Schedule Name in DesignSpecification:OutdoorAir does not work #10101

Open
1 of 3 tasks
keigo-nomura opened this issue Jul 9, 2023 · 2 comments
Open
1 of 3 tasks

Comments

@keigo-nomura
Copy link

Issue overview

As per the title. Outdoor Air Schedule Name in DesignSpecification:OutdoorAir does not change outdoor air flow rate. Please refer to the Unmethours link below for more details on the issue.

Details

Some additional details for this issue (if relevant):

Checklist

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

  • Defect file added (list location of defect file here)
  • Ticket added to Pivotal for defect (development team task)
  • Pull request created (the pull request will have additional tasks related to reviewing changes that fix this defect)
@jmarrec
Copy link
Contributor

jmarrec commented Jul 10, 2023

Taking the 5ZoneFanCoilDOASCool_rev.idf example you shared:

AirTerminal:SingleDuct:VAV:NoReheat,
    SPACE1-1 DOAS Air Terminal,  !- Name
    ,                        !- Availability Schedule Name
    SPACE1-1 DOAS Supply Inlet,  !- Air Outlet Node Name
    SPACE1-1 Zone Equip Inlet,  !- Air Inlet Node Name
    autosize,                !- Maximum Air Flow Rate {m3/s}
-   Constant,                !- Zone Minimum Air Flow Input Method
-   1.0,                     !- Constant Minimum Air Flow Fraction
    ,                        !- Fixed Minimum Air Flow Rate {m3/s}
    ,                        !- Minimum Air Flow Fraction Schedule Name
+   SZ DSOA SPACE1-1;        !- Design Specification Outdoor Air Object Name

// calculate supply air flow rate based on user specified OA requirement
this->CalcOAMassFlow(state, MassFlowBasedOnOA, AirLoopOAFrac);
MassFlow = max(MassFlow, MassFlowBasedOnOA);
// Check to see if the flow is < the Min or > the Max air Fraction to the zone; then set to min or max
if (MassFlow <= this->sd_airterminalInlet.AirMassFlowRateMinAvail) {
MassFlow = this->sd_airterminalInlet.AirMassFlowRateMinAvail;
} else if (MassFlow >= this->sd_airterminalInlet.AirMassFlowRateMaxAvail) {
MassFlow = this->sd_airterminalInlet.AirMassFlowRateMaxAvail;
}

CalcOAMassFlow correctly calculates it to be zero because of the OutdoorAirAvailSched. But:

(lldb) p MassFlow
(Real64) $10 = 0.12210386490935213
(lldb) p MassFlowBasedOnOA
(Real64) $11 = 0
(lldb) p this->sd_airterminalInlet.AirMassFlowRateMinAvail
(Real64) $12 = 0.12210386490935213
(lldb) p this->sd_airterminalInlet.AirMassFlowRateMaxAvail
(Real64) $13 = 0.12210386490935213

So it's always going to be 0.12 anyways because the Minimum Air Flow Fraction is constant at 1.0.

You'll see a change in results (but still not what you probably expect) if you set this to 0.0. If you want to model this properly, you also probably want to add a Controller:MechanicalVentilation object on the AirLoopHVAC's Controller:OutdoorAir, and list the zones + DSOAs onto that Controller:MV.

@mjwitte
Copy link
Contributor

mjwitte commented Jul 10, 2023

This is working as designed, but could probably use some documentation updates to help clarify (I/O Reference and IDD notes).
See answer here for more details.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants