| 2421 | } |
| 2422 | |
| 2423 | double Space_Impl::infiltrationDesignAirChangesPerHour() const { |
| 2424 | double result(0.0); |
| 2425 | double floorArea = this->floorArea(); |
| 2426 | double exteriorSurfaceArea = this->exteriorArea(); |
| 2427 | double exteriorWallArea = this->exteriorWallArea(); |
| 2428 | double airVolume = volume(); |
| 2429 | |
| 2430 | for (const SpaceInfiltrationDesignFlowRate& idfr : spaceInfiltrationDesignFlowRates()) { |
| 2431 | result += idfr.getAirChangesPerHour(floorArea, exteriorSurfaceArea, exteriorWallArea, airVolume); |
| 2432 | } |
| 2433 | |
| 2434 | if (OptionalSpaceType st = spaceType()) { |
| 2435 | for (const SpaceInfiltrationDesignFlowRate& idfr : st->spaceInfiltrationDesignFlowRates()) { |
| 2436 | result += idfr.getAirChangesPerHour(floorArea, exteriorSurfaceArea, exteriorWallArea, airVolume); |
| 2437 | } |
| 2438 | } |
| 2439 | |
| 2440 | return result; |
| 2441 | } |
| 2442 | |
| 2443 | SpaceInfiltrationDesignFlowRate Space_Impl::setInfiltrationDesignFlowRateHelper() { |
| 2444 | // We try to grab an existing one, whether that's on the SpaceType or Space, because we want to retain other parameters like Term Coefficients |