feat: Initial commit

This commit is contained in:
2024-05-24 16:44:41 -04:00
commit c1741de3f9
19 changed files with 1560 additions and 0 deletions

View File

@@ -0,0 +1,54 @@
import Foundation
public struct BudgetedPercentEnvelope: Equatable {
public var coilBudget: Percentage
public var filterBudget: Percentage
public var returnPlenumBudget: Percentage
public var supplyPlenumBudget: Percentage
public var preCoilBudget: Percentage {
coilBudget + supplyPlenumBudget
}
public init(
coilBudget: Percentage,
filterBudget: Percentage,
returnPlenumBudget: Percentage,
supplyPlenumBudget: Percentage
) {
self.coilBudget = coilBudget
self.filterBudget = filterBudget
self.returnPlenumBudget = returnPlenumBudget
self.supplyPlenumBudget = supplyPlenumBudget
}
public init(equipmentType: EquipmentType, fanType: FanType) {
switch equipmentType {
case .furnaceAndCoil:
switch fanType {
case .constantSpeed:
self.init(
coilBudget: 40%,
filterBudget: 20%,
returnPlenumBudget: 20%,
supplyPlenumBudget: 20%
)
case .variableSpeed:
self.init(
coilBudget: 30%,
filterBudget: 40%,
returnPlenumBudget: 15%,
supplyPlenumBudget: 15%
)
}
case .airHandler:
self.init(
coilBudget: .zero,
filterBudget: 50%,
returnPlenumBudget: 25%,
supplyPlenumBudget: 25%
)
}
}
}