fix(simulator): ensure configuration file reload will restart the
[e-mobility-charging-stations-simulator.git] / src / utils / ElectricUtils.ts
index 5adf4bc783cdbfe09cde884336704b082e4b0ae8..b0f8dff412ba6984f5443155339d40f0b4ec5691 100644 (file)
@@ -1,3 +1,5 @@
+// Copyright Jerome Benoit. 2021-2023. All Rights Reserved.
+
 /**
  * Rationale: https://wiki.piment-noir.org/doku.php/en:cs:modelling_multi-phased_electrical_system_interconnexion
  */
@@ -6,8 +8,12 @@
  * Targeted to AC related values calculation.
  */
 export class ACElectricUtils {
-  static amperageTotal(nbOfPhases: number, Iph: number): number {
-    return nbOfPhases * Iph;
+  private constructor() {
+    // This is intentional
+  }
+
+  static powerTotal(nbOfPhases: number, V: number, Iph: number, cosPhi = 1): number {
+    return nbOfPhases * ACElectricUtils.powerPerPhase(V, Iph, cosPhi);
   }
 
   static powerPerPhase(V: number, Iph: number, cosPhi = 1): number {
@@ -18,8 +24,8 @@ export class ACElectricUtils {
     return Math.round(powerPerPhase);
   }
 
-  static powerTotal(nbOfPhases: number, V: number, Iph: number, cosPhi = 1): number {
-    return nbOfPhases * ACElectricUtils.powerPerPhase(V, Iph, cosPhi);
+  static amperageTotal(nbOfPhases: number, Iph: number): number {
+    return nbOfPhases * Iph;
   }
 
   static amperageTotalFromPower(P: number, V: number, cosPhi = 1): number {
@@ -44,6 +50,10 @@ export class ACElectricUtils {
  * Targeted to DC related values calculation.
  */
 export class DCElectricUtils {
+  private constructor() {
+    // This is intentional
+  }
+
   static power(V: number, I: number): number {
     return V * I;
   }