Class ElectricalCable

java.lang.Object
neqsim.process.electricaldesign.components.ElectricalCable
All Implemented Interfaces:
Serializable

public class ElectricalCable extends Object implements Serializable
Model of an electrical power cable for process equipment.

Supports cable sizing based on load current, voltage drop calculation, derating factors for ambient temperature, grouping, and installation method per IEC 60502 and IEC 60364.

Version:
1.0
Author:
Even Solbraa
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      Serialization version UID.
      See Also:
    • STANDARD_CROSS_SECTIONS

      private static final double[] STANDARD_CROSS_SECTIONS
      Standard cable cross-sections in mm2 per IEC 60228.
    • BASE_AMPACITY_XLPE_TRAY

      private static final double[] BASE_AMPACITY_XLPE_TRAY
      Approximate base ampacity for XLPE copper cables in tray (3-core), per IEC 60502. Index matches STANDARD_CROSS_SECTIONS.
    • lengthM

      private double lengthM
    • crossSectionMM2

      private double crossSectionMM2
    • numberOfCores

      private int numberOfCores
    • conductorMaterial

      private String conductorMaterial
    • insulationType

      private String insulationType
    • ampacityA

      private double ampacityA
    • baseAmpacityA

      private double baseAmpacityA
    • voltageDropPercent

      private double voltageDropPercent
    • maxVoltageDropPercent

      private double maxVoltageDropPercent
    • ambientTempDeratingFactor

      private double ambientTempDeratingFactor
    • groupingDeratingFactor

      private double groupingDeratingFactor
    • burialDepthDeratingFactor

      private double burialDepthDeratingFactor
    • shortCircuitWithstandKA

      private double shortCircuitWithstandKA
    • shortCircuitDurationS

      private double shortCircuitDurationS
    • installationMethod

      private String installationMethod
    • routeReference

      private String routeReference
    • estimatedCostPerMeterUSD

      private double estimatedCostPerMeterUSD
    • totalCostUSD

      private double totalCostUSD
  • Constructor Details

    • ElectricalCable

      public ElectricalCable()
  • Method Details

    • sizeCable

      public void sizeCable(double loadCurrentA, double voltageV, double cableLengthM, String installMethod, double ambientTempC)
      Size the cable based on load current and conditions.

      Selects the cable cross-section to carry the load current with appropriate derating, then calculates voltage drop to verify it meets limits.

      Parameters:
      loadCurrentA - load current in A
      voltageV - system voltage in V
      cableLengthM - cable length in meters
      installMethod - installation method (Tray, Conduit, Direct burial, Ladder)
      ambientTempC - ambient temperature in degrees C
    • selectNextSizeUp

      private double selectNextSizeUp(double minCrossSection)
      Select the next standard cable size above the given cross-section.
      Parameters:
      minCrossSection - minimum required cross-section in mm2
      Returns:
      next standard cross-section in mm2
    • calculateVoltageDrop

      public double calculateVoltageDrop(double currentA, double voltageV)
      Calculate voltage drop as a percentage.
      Parameters:
      currentA - load current in A
      voltageV - system voltage in V
      Returns:
      voltage drop in percent
    • calculateAmbientTempDerating

      private double calculateAmbientTempDerating(double ambientTempC)
      Calculate ambient temperature derating factor.
      Parameters:
      ambientTempC - ambient temperature in degrees C
      Returns:
      derating factor
    • calculateGroupingDerating

      private double calculateGroupingDerating(String installMethod)
      Calculate grouping derating factor based on installation method.
      Parameters:
      installMethod - installation method
      Returns:
      grouping derating factor
    • calculateShortCircuitWithstand

      private double calculateShortCircuitWithstand(double crossSection, double duration)
      Calculate short-circuit thermal withstand (1s basis) per IEC 60949.
      Parameters:
      crossSection - cable cross section in mm2
      duration - fault duration in seconds
      Returns:
      withstand current in kA
    • estimateCostPerMeter

      private double estimateCostPerMeter(double crossSection, double voltageV)
      Estimate cable cost per meter.
      Parameters:
      crossSection - cross-section in mm2
      voltageV - rated voltage
      Returns:
      cost per meter in USD
    • toJson

      public String toJson()
      Serialize cable data to JSON.
      Returns:
      JSON string
    • toMap

      public Map<String,Object> toMap()
      Convert cable data to a map.
      Returns:
      map of cable parameters
    • getLengthM

      public double getLengthM()
      Get cable length in meters.
      Returns:
      cable length in meters
    • setLengthM

      public void setLengthM(double lengthM)
      Set cable length in meters.
      Parameters:
      lengthM - cable length in meters
    • getCrossSectionMM2

      public double getCrossSectionMM2()
      Get cable cross-section in mm2.
      Returns:
      cross-section in mm2
    • setCrossSectionMM2

      public void setCrossSectionMM2(double crossSectionMM2)
      Set cable cross-section in mm2.
      Parameters:
      crossSectionMM2 - cross-section in mm2
    • getNumberOfCores

      public int getNumberOfCores()
      Get number of cores.
      Returns:
      number of cores
    • setNumberOfCores

      public void setNumberOfCores(int numberOfCores)
      Set number of cores.
      Parameters:
      numberOfCores - number of cores
    • getConductorMaterial

      public String getConductorMaterial()
      Get conductor material.
      Returns:
      conductor material (Copper or Aluminium)
    • setConductorMaterial

      public void setConductorMaterial(String conductorMaterial)
      Set conductor material.
      Parameters:
      conductorMaterial - conductor material (Copper or Aluminium)
    • getInsulationType

      public String getInsulationType()
      Get insulation type.
      Returns:
      insulation type (XLPE, PVC, EPR)
    • setInsulationType

      public void setInsulationType(String insulationType)
      Set insulation type.
      Parameters:
      insulationType - insulation type
    • getAmpacityA

      public double getAmpacityA()
      Get ampacity (derated current carrying capacity) in A.
      Returns:
      ampacity in A
    • getVoltageDropPercent

      public double getVoltageDropPercent()
      Get voltage drop in percent.
      Returns:
      voltage drop percent
    • getMaxVoltageDropPercent

      public double getMaxVoltageDropPercent()
      Get maximum allowable voltage drop in percent.
      Returns:
      max voltage drop percent
    • setMaxVoltageDropPercent

      public void setMaxVoltageDropPercent(double maxVoltageDropPercent)
      Set maximum allowable voltage drop in percent.
      Parameters:
      maxVoltageDropPercent - max voltage drop percent
    • getInstallationMethod

      public String getInstallationMethod()
      Get the installation method.
      Returns:
      installation method
    • setInstallationMethod

      public void setInstallationMethod(String installationMethod)
      Set the installation method.
      Parameters:
      installationMethod - installation method
    • getRouteReference

      public String getRouteReference()
      Get route reference.
      Returns:
      route reference
    • setRouteReference

      public void setRouteReference(String routeReference)
      Set route reference.
      Parameters:
      routeReference - route reference
    • getShortCircuitWithstandKA

      public double getShortCircuitWithstandKA()
      Get short-circuit withstand in kA.
      Returns:
      short-circuit withstand in kA
    • getTotalCostUSD

      public double getTotalCostUSD()
      Get total cable cost in USD.
      Returns:
      total cost in USD
    • getEstimatedCostPerMeterUSD

      public double getEstimatedCostPerMeterUSD()
      Get estimated cost per meter in USD.
      Returns:
      cost per meter in USD
    • setBurialDepthDeratingFactor

      public void setBurialDepthDeratingFactor(double burialDepthDeratingFactor)
      Set the burial depth derating factor.
      Parameters:
      burialDepthDeratingFactor - burial depth derating factor