Feat: Working on pressure estimations feature

This commit is contained in:
2024-06-04 13:06:49 -04:00
parent 04c899da8e
commit 076488beb4
19 changed files with 1206 additions and 128 deletions

View File

@@ -22,7 +22,11 @@ public struct BudgetedPercentEnvelope: Equatable {
self.returnPlenumBudget = returnPlenumBudget
self.supplyPlenumBudget = supplyPlenumBudget
}
public var total: Percentage {
coilBudget + filterBudget + supplyPlenumBudget + returnPlenumBudget
}
public init(equipmentType: EquipmentType, fanType: FanType) {
switch equipmentType {
case .furnaceAndCoil:

View File

@@ -1,9 +1,11 @@
import Foundation
public enum FanType: Equatable, CaseIterable, CustomStringConvertible {
public enum FanType: Hashable, Equatable, CaseIterable, CustomStringConvertible, Identifiable {
case constantSpeed
case variableSpeed
public var id: Self { self }
public var description: String {
switch self {
case .constantSpeed:

View File

@@ -157,7 +157,13 @@ extension Flagged.CheckHandler {
) -> Self {
.rated(RatedAirflowLimits(tons: tons, using: ratings), goodMessage: goodMessage)
}
public static func percent(
goodMessage: Flagged.GoodMessageHandler = .none
) -> Self {
.using(maximum: 100, minimum: 100, rated: 100)
}
public static func rated<T>(
_ ratings: RatedEnvelope<T>,
goodMessage: Flagged.GoodMessageHandler? = nil

View File

@@ -13,7 +13,8 @@ public struct Percentage: Equatable, RawRepresentable {
}
public var fraction: Double {
self.rawValue / 100
get { self.rawValue / 100 }
set { self.rawValue = newValue * 100 }
}
}