Class PipelineElectricalDesign

java.lang.Object
neqsim.process.electricaldesign.ElectricalDesign
neqsim.process.electricaldesign.pipeline.PipelineElectricalDesign
All Implemented Interfaces:
Serializable

public class PipelineElectricalDesign extends ElectricalDesign
Electrical design for pipelines.

Extends ElectricalDesign with pipeline-specific electrical requirements. Pipelines have no rotating equipment but may have significant electrical loads:

  • Electrical heat tracing (EHT): 10-40 W/m depending on pipe diameter and temperature differential, used for hydrate prevention, wax control, or maintaining process temperature
  • Cathodic protection (CP): Impressed current cathodic protection systems for corrosion prevention, typically 0.5-5 kW per transformer-rectifier unit
  • Instrumentation: Pressure/temperature transmitters along pipeline route, typically 0.5-2 kW total
Version:
1.0
Author:
Even Solbraa
See Also:
  • Field Details

    • serialVersionUID

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

      private boolean hasHeatTracing
    • heatTracingWPerM

      private double heatTracingWPerM
    • hasCathodicProtection

      private boolean hasCathodicProtection
    • cathodicProtectionKW

      private double cathodicProtectionKW
    • instrumentationKW

      private double instrumentationKW
    • totalAuxiliaryKW

      private double totalAuxiliaryKW
  • Constructor Details

    • PipelineElectricalDesign

      public PipelineElectricalDesign(ProcessEquipmentInterface processEquipment)
      Constructor for PipelineElectricalDesign.
      Parameters:
      processEquipment - the pipeline equipment
  • Method Details

    • 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.

      Pipelines have no rotating equipment. Shaft power is zero.

      Overrides:
      getProcessShaftPowerKW in class ElectricalDesign
      Returns:
      shaft power in kW
    • readDesignSpecifications

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

      Subclasses can override to load equipment-specific electrical specifications.

      Overrides:
      readDesignSpecifications in class ElectricalDesign
    • 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.

      Overrides:
      calcDesign in class ElectricalDesign
    • calculateAuxiliaryLoads

      private void calculateAuxiliaryLoads()
      Calculate total auxiliary electrical loads for the pipeline.
    • getPipelineLength

      private double getPipelineLength()
      Get the pipeline length in metres from the process equipment.
      Returns:
      pipeline length in metres, or 0 if not available
    • getTotalAuxiliaryKW

      public double getTotalAuxiliaryKW()
      Get the total auxiliary power in kW.
      Returns:
      total auxiliary power in kW
    • isHasHeatTracing

      public boolean isHasHeatTracing()
      Check if heat tracing is enabled.
      Returns:
      true if heat tracing is enabled
    • setHasHeatTracing

      public void setHasHeatTracing(boolean hasHeatTracing)
      Set whether heat tracing is enabled.
      Parameters:
      hasHeatTracing - true to enable heat tracing
    • getHeatTracingWPerM

      public double getHeatTracingWPerM()
      Get heat tracing power in watts per metre.
      Returns:
      heat tracing power in W/m
    • setHeatTracingWPerM

      public void setHeatTracingWPerM(double heatTracingWPerM)
      Set heat tracing power in watts per metre.
      Parameters:
      heatTracingWPerM - heat tracing power in W/m (typical range: 10-40)
    • isHasCathodicProtection

      public boolean isHasCathodicProtection()
      Check if cathodic protection is enabled.
      Returns:
      true if cathodic protection is enabled
    • setHasCathodicProtection

      public void setHasCathodicProtection(boolean hasCathodicProtection)
      Set whether cathodic protection is enabled.
      Parameters:
      hasCathodicProtection - true to enable cathodic protection
    • getCathodicProtectionKW

      public double getCathodicProtectionKW()
      Get cathodic protection system power in kW.
      Returns:
      cathodic protection power in kW
    • setCathodicProtectionKW

      public void setCathodicProtectionKW(double cathodicProtectionKW)
      Set cathodic protection system power in kW.
      Parameters:
      cathodicProtectionKW - cathodic protection power in kW (typical range: 0.5-5)
    • getInstrumentationKW

      public double getInstrumentationKW()
      Get instrumentation power in kW.
      Returns:
      instrumentation power in kW
    • setInstrumentationKW

      public void setInstrumentationKW(double instrumentationKW)
      Set instrumentation power in kW.
      Parameters:
      instrumentationKW - instrumentation power in kW