fix: fix template name consistency
[e-mobility-charging-stations-simulator.git] / src / utils / ElectricUtils.ts
index 5adf4bc783cdbfe09cde884336704b082e4b0ae8..c4fdfa10142c1d7fde8a1fdb685686813f20d91d 100644 (file)
@@ -1,3 +1,5 @@
+// Copyright Jerome Benoit. 2021-2024. All Rights Reserved.
+
 /**
  * Rationale: https://wiki.piment-noir.org/doku.php/en:cs:modelling_multi-phased_electrical_system_interconnexion
  */
@@ -5,54 +7,64 @@
 /**
  * Targeted to AC related values calculation.
  */
+// eslint-disable-next-line @typescript-eslint/no-extraneous-class
 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 {
-    const powerPerPhase = V * Iph * cosPhi;
+  static powerPerPhase (V: number, Iph: number, cosPhi = 1): number {
+    const powerPerPhase = V * Iph * cosPhi
     if (cosPhi === 1) {
-      return powerPerPhase;
+      return powerPerPhase
     }
-    return Math.round(powerPerPhase);
+    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 {
-    const amperage = P / (V * cosPhi);
+  static amperageTotalFromPower (P: number, V: number, cosPhi = 1): number {
+    const amperage = P / (V * cosPhi)
     if (cosPhi === 1 && P % V === 0) {
-      return amperage;
+      return amperage
     }
-    return Math.round(amperage);
+    return Math.round(amperage)
   }
 
-  static amperagePerPhaseFromPower(nbOfPhases: number, P: number, V: number, cosPhi = 1): number {
-    const amperage = ACElectricUtils.amperageTotalFromPower(P, V, cosPhi);
-    const amperagePerPhase = amperage / nbOfPhases;
+  static amperagePerPhaseFromPower (nbOfPhases: number, P: number, V: number, cosPhi = 1): number {
+    const amperage = ACElectricUtils.amperageTotalFromPower(P, V, cosPhi)
+    const amperagePerPhase = amperage / nbOfPhases
     if (amperage % nbOfPhases === 0) {
-      return amperagePerPhase;
+      return amperagePerPhase
     }
-    return Math.round(amperagePerPhase);
+    return Math.round(amperagePerPhase)
   }
 }
 
 /**
  * Targeted to DC related values calculation.
  */
+// eslint-disable-next-line @typescript-eslint/no-extraneous-class
 export class DCElectricUtils {
-  static power(V: number, I: number): number {
-    return V * I;
+  private constructor () {
+    // This is intentional
+  }
+
+  static power (V: number, I: number): number {
+    return V * I
   }
 
-  static amperage(P: number, V: number): number {
-    const amperage = P / V;
+  static amperage (P: number, V: number): number {
+    const amperage = P / V
     if (P % V === 0) {
-      return amperage;
+      return amperage
     }
-    return Math.round(amperage);
+    return Math.round(amperage)
   }
 }