Add distribution power summaries
This commit is contained in:
@@ -15,3 +15,37 @@ export function calculateCircuitTotalPower(
|
||||
);
|
||||
}
|
||||
|
||||
export function calculateSectionTotalPower(
|
||||
circuits: Array<{ circuitTotalPower: number }>
|
||||
): number {
|
||||
return circuits.reduce(
|
||||
(sum, circuit) => sum + circuit.circuitTotalPower,
|
||||
0
|
||||
);
|
||||
}
|
||||
|
||||
export function calculateDistributionBoardTotalPower(
|
||||
sections: Array<{ sectionTotalPower: number }>
|
||||
): number {
|
||||
return sections.reduce(
|
||||
(sum, section) => sum + section.sectionTotalPower,
|
||||
0
|
||||
);
|
||||
}
|
||||
|
||||
export function applyDistributionBoardSimultaneityFactor(
|
||||
totalPower: number,
|
||||
simultaneityFactor: number
|
||||
): number {
|
||||
if (
|
||||
!Number.isFinite(simultaneityFactor) ||
|
||||
simultaneityFactor < 0 ||
|
||||
simultaneityFactor > 1
|
||||
) {
|
||||
throw new Error(
|
||||
"Distribution-board simultaneity factor must be between zero and one."
|
||||
);
|
||||
}
|
||||
return totalPower * simultaneityFactor;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user