feat: Initial commit
This commit is contained in:
54
Sources/SharedModels/BudgetedPercentEnvelope.swift
Normal file
54
Sources/SharedModels/BudgetedPercentEnvelope.swift
Normal 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%
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user