Class ElectricalDesign

java.lang.Object
neqsim.process.electricaldesign.ElectricalDesign
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
CompressorElectricalDesign, HeatExchangerElectricalDesign, PipelineElectricalDesign, PumpElectricalDesign, SeparatorElectricalDesign

public class ElectricalDesign extends Object implements Serializable
Base class for electrical design of process equipment.

Mirrors the MechanicalDesign pattern. Each piece of process equipment can have an associated electrical design that sizes motors, VFDs, cables, switchgear, and transformers based on the process duty.

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

    • serialVersionUID

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

      private ProcessEquipmentInterface processEquipment
      The process equipment this electrical design belongs to.
    • shaftPowerKW

      private double shaftPowerKW
    • electricalInputKW

      private double electricalInputKW
    • apparentPowerKVA

      private double apparentPowerKVA
    • reactivePowerKVAR

      private double reactivePowerKVAR
    • powerFactor

      private double powerFactor
    • ratedVoltageV

      private double ratedVoltageV
    • frequencyHz

      private double frequencyHz
    • phases

      private int phases
    • motor

      private ElectricalMotor motor
    • vfd

    • powerCable

      private ElectricalCable powerCable
    • controlCable

      private ElectricalCable controlCable
    • switchgear

      private Switchgear switchgear
    • transformer

      private Transformer transformer
    • hazArea

      private HazardousAreaClassification hazArea
    • motorSizingMargin

      private double motorSizingMargin
    • cableDeratingFactor

      private double cableDeratingFactor
    • diversityFactor

      private double diversityFactor
    • continuousDuty

      private boolean continuousDuty
    • useVFD

      private boolean useVFD
    • motorStandard

      private String motorStandard
    • cableStandard

      private String cableStandard
    • hazAreaStandard

      private String hazAreaStandard
  • Constructor Details

    • ElectricalDesign

      public ElectricalDesign(ProcessEquipmentInterface processEquipment)
      Constructor for ElectricalDesign.
      Parameters:
      processEquipment - the process equipment this design belongs to
  • Method Details

    • calcDesign

      public void calcDesign()
      Run the electrical design calculation.

      Sizes the motor, optional VFD, cables, and switchgear based on the process equipment's shaft power requirement.

    • readDesignSpecifications

      public void readDesignSpecifications()
      Read design specifications from data sources.

      Subclasses can override to load equipment-specific electrical specifications.

    • getProcessShaftPowerKW

      protected double getProcessShaftPowerKW()
      Get shaft power from the process equipment.

      Default returns the manually set shaftPowerKW value. Equipment-specific subclasses should override this to read from the process equipment directly.

      Returns:
      shaft power in kW
    • getFullLoadCurrentA

      public double getFullLoadCurrentA()
      Calculate the full-load current in amperes.
      Returns:
      full-load current in A
    • getStartingCurrentA

      public double getStartingCurrentA()
      Calculate the starting current in amperes.
      Returns:
      starting current in A
    • getTotalElectricalLossesKW

      public double getTotalElectricalLossesKW()
      Get total electrical losses (motor + VFD) in kW.
      Returns:
      total electrical losses in kW
    • toJson

      public String toJson()
      Serialize the electrical design to JSON.
      Returns:
      JSON string with all electrical design data
    • getProcessEquipment

      public ProcessEquipmentInterface getProcessEquipment()
      Get the process equipment.
      Returns:
      the process equipment
    • getShaftPowerKW

      public double getShaftPowerKW()
      Get shaft power in kW.
      Returns:
      shaft power in kW
    • setShaftPowerKW

      public void setShaftPowerKW(double shaftPowerKW)
      Set shaft power in kW.
      Parameters:
      shaftPowerKW - shaft power in kW
    • getElectricalInputKW

      public double getElectricalInputKW()
      Get electrical input power in kW.
      Returns:
      electrical input power in kW
    • setElectricalInputKW

      public void setElectricalInputKW(double electricalInputKW)
      Set electrical input power in kW.
      Parameters:
      electricalInputKW - electrical input power in kW
    • getApparentPowerKVA

      public double getApparentPowerKVA()
      Get apparent power in kVA.
      Returns:
      apparent power in kVA
    • setApparentPowerKVA

      public void setApparentPowerKVA(double apparentPowerKVA)
      Set apparent power in kVA.
      Parameters:
      apparentPowerKVA - apparent power in kVA
    • getReactivePowerKVAR

      public double getReactivePowerKVAR()
      Get reactive power in kVAR.
      Returns:
      reactive power in kVAR
    • setReactivePowerKVAR

      public void setReactivePowerKVAR(double reactivePowerKVAR)
      Set reactive power in kVAR.
      Parameters:
      reactivePowerKVAR - reactive power in kVAR
    • getPowerFactor

      public double getPowerFactor()
      Get the power factor (cos phi).
      Returns:
      power factor
    • setPowerFactor

      public void setPowerFactor(double powerFactor)
      Set the power factor (cos phi).
      Parameters:
      powerFactor - power factor
    • getRatedVoltageV

      public double getRatedVoltageV()
      Get rated voltage in volts.
      Returns:
      rated voltage in V
    • setRatedVoltageV

      public void setRatedVoltageV(double ratedVoltageV)
      Set rated voltage in volts.
      Parameters:
      ratedVoltageV - rated voltage in V
    • getFrequencyHz

      public double getFrequencyHz()
      Get supply frequency in Hz.
      Returns:
      frequency in Hz
    • setFrequencyHz

      public void setFrequencyHz(double frequencyHz)
      Set supply frequency in Hz.
      Parameters:
      frequencyHz - frequency in Hz
    • getPhases

      public int getPhases()
      Get number of phases.
      Returns:
      number of phases (1 or 3)
    • setPhases

      public void setPhases(int phases)
      Set number of phases.
      Parameters:
      phases - number of phases (1 or 3)
    • getMotor

      public ElectricalMotor getMotor()
      Get the electrical motor.
      Returns:
      the motor
    • setMotor

      public void setMotor(ElectricalMotor motor)
      Set the electrical motor.
      Parameters:
      motor - the motor
    • getVfd

      public VariableFrequencyDrive getVfd()
      Get the variable frequency drive.
      Returns:
      the VFD, or null if not used
    • setVfd

      public void setVfd(VariableFrequencyDrive vfd)
      Set the variable frequency drive.
      Parameters:
      vfd - the VFD
    • getPowerCable

      public ElectricalCable getPowerCable()
      Get the power cable.
      Returns:
      the power cable
    • setPowerCable

      public void setPowerCable(ElectricalCable powerCable)
      Set the power cable.
      Parameters:
      powerCable - the power cable
    • getControlCable

      public ElectricalCable getControlCable()
      Get the control cable.
      Returns:
      the control cable
    • setControlCable

      public void setControlCable(ElectricalCable controlCable)
      Set the control cable.
      Parameters:
      controlCable - the control cable
    • getSwitchgear

      public Switchgear getSwitchgear()
      Get the switchgear.
      Returns:
      the switchgear
    • setSwitchgear

      public void setSwitchgear(Switchgear switchgear)
      Set the switchgear.
      Parameters:
      switchgear - the switchgear
    • getTransformer

      public Transformer getTransformer()
      Get the transformer.
      Returns:
      the transformer, or null if not applicable
    • setTransformer

      public void setTransformer(Transformer transformer)
      Set the transformer.
      Parameters:
      transformer - the transformer
    • getHazArea

      public HazardousAreaClassification getHazArea()
      Get the hazardous area classification.
      Returns:
      hazardous area classification
    • setHazArea

      public void setHazArea(HazardousAreaClassification hazArea)
      Set the hazardous area classification.
      Parameters:
      hazArea - hazardous area classification
    • getMotorSizingMargin

      public double getMotorSizingMargin()
      Get the motor sizing margin.
      Returns:
      motor sizing margin (e.g. 1.10 for 10%)
    • setMotorSizingMargin

      public void setMotorSizingMargin(double motorSizingMargin)
      Set the motor sizing margin.
      Parameters:
      motorSizingMargin - motor sizing margin (e.g. 1.10 for 10%)
    • getCableDeratingFactor

      public double getCableDeratingFactor()
      Get the cable derating factor.
      Returns:
      cable derating factor
    • setCableDeratingFactor

      public void setCableDeratingFactor(double cableDeratingFactor)
      Set the cable derating factor.
      Parameters:
      cableDeratingFactor - cable derating factor
    • getDiversityFactor

      public double getDiversityFactor()
      Get the diversity factor for load list contribution.
      Returns:
      diversity factor (0-1)
    • setDiversityFactor

      public void setDiversityFactor(double diversityFactor)
      Set the diversity factor for load list contribution.
      Parameters:
      diversityFactor - diversity factor (0-1)
    • isContinuousDuty

      public boolean isContinuousDuty()
      Check if equipment is continuous duty.
      Returns:
      true if continuous duty (S1)
    • setContinuousDuty

      public void setContinuousDuty(boolean continuousDuty)
      Set continuous duty flag.
      Parameters:
      continuousDuty - true for continuous duty (S1)
    • isUseVFD

      public boolean isUseVFD()
      Check if VFD is used.
      Returns:
      true if VFD is used
    • setUseVFD

      public void setUseVFD(boolean useVFD)
      Set whether VFD is used.
      Parameters:
      useVFD - true to use VFD
    • getMotorStandard

      public String getMotorStandard()
      Get the motor standard.
      Returns:
      motor standard ("IEC" or "NEMA")
    • setMotorStandard

      public void setMotorStandard(String motorStandard)
      Set the motor standard.
      Parameters:
      motorStandard - motor standard ("IEC" or "NEMA")
    • getCableStandard

      public String getCableStandard()
      Get the cable standard.
      Returns:
      cable standard
    • setCableStandard

      public void setCableStandard(String cableStandard)
      Set the cable standard.
      Parameters:
      cableStandard - cable standard
    • getHazAreaStandard

      public String getHazAreaStandard()
      Get the hazardous area classification standard.
      Returns:
      hazardous area standard
    • setHazAreaStandard

      public void setHazAreaStandard(String hazAreaStandard)
      Set the hazardous area classification standard.
      Parameters:
      hazAreaStandard - hazardous area standard