NatLabRockies / NatLabRockies/OpenStudio

DesignSpecificationOutdoorAir convenience methods (+Space)

Open
#5,474 0 comments 0 reactions 1 assignee View on GitHub

@jmarrec is already working on this.

Since Aug 21, 2025.

component - Model Enhancement Request
Dominant language
C++
Stars
646
Forks
237
Avg merge
3d 11h
Merged PRs (30d)
10

Description

Enhancement Request

I've found myself reimplementing this in a bunch of places over the years, and quite a bit recently.

DSOA should have a convenience method to calculate the OA flow given a floorArea, numPeople, and volume.
It'll calculate each individual component, and take the "Maximum" or "Sum" depending on the OA Method

Detailed Description

OS:DesignSpecification:OutdoorAir,
  {b561dbd9-100b-4987-9b6f-ec99ec07e507}, !- Handle
  Design Specification Outdoor Air 1,     !- Name
  ,                                       !- Outdoor Air Method (Sum or Maximum)
  ,                                       !- Outdoor Air Flow per Person {m3/s-person}
  ,                                       !- Outdoor Air Flow per Floor Area {m3/s-m2}
  ,                                       !- Outdoor Air Flow Rate {m3/s}
  ,                                       !- Outdoor Air Flow Air Changes per Hour {1/hr}
  ;                                       !- Outdoor Air Flow Rate Fraction Schedule Name

Possible Implementation

    /** Returns the total OA flow rate (m^3/s) represented by this instance, assuming floorArea (m^2), numPeople, and volume (m^3). */
    double getOudoorAirFlowRate(double floorArea, double numPeople, double volume) const;

    double getPowerperFloorArea(double floorArea, double numPeople, double volume) const;
    double getOudoorAirFlowperPerson(double floorArea, double numPeople, double volume) const;
    double getOutdoorAirFlowAirChangesperHour(double floorArea, double numPeople, double volume) const

Space(and Building) should have methods like outdoorAirFlowRate, oudoorAirFlowperPerson that would forward to the DSOA's taking Space::floorArea, Space::numberOfPeople and Space::volume.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.