Class LoopedPipeNetwork.NetworkPipe

java.lang.Object
neqsim.process.equipment.network.LoopedPipeNetwork.NetworkPipe
Enclosing class:
LoopedPipeNetwork

public static class LoopedPipeNetwork.NetworkPipe extends Object
Represents a pipe in the network.
Version:
1.0
Author:
Even Solbraa
  • Field Details

    • name

      private final String name
    • fromNode

      private final String fromNode
    • toNode

      private final String toNode
    • length

      private double length
    • diameter

      private double diameter
    • roughness

      private double roughness
    • flowRate

      private double flowRate
    • headLoss

      private double headLoss
    • velocity

      private double velocity
    • reynoldsNumber

      private double reynoldsNumber
    • frictionFactor

      private double frictionFactor
    • flowRegime

      private String flowRegime
    • liquidHoldup

      private double liquidHoldup
    • outletTemperature

      private double outletTemperature
    • wallThickness

      private double wallThickness
    • insulationThickness

      private double insulationThickness
    • overallHeatTransferCoeff

      private double overallHeatTransferCoeff
    • ambientTemperature

      private double ambientTemperature
    • pipeModel

      private AdiabaticPipe pipeModel
    • bbModel

      private PipeBeggsAndBrills bbModel
    • elementType

    • iprType

      private LoopedPipeNetwork.IPRType iprType
    • reservoirPressure

      private double reservoirPressure
    • productivityIndex

      private double productivityIndex
    • vogelQmax

      private double vogelQmax
    • fetkovichC

      private double fetkovichC
    • fetkovichN

      private double fetkovichN
    • gasIPR

      private boolean gasIPR
    • chokeKv

      private double chokeKv
    • chokeOpening

      private double chokeOpening
    • chokeCriticalPressureRatio

      private double chokeCriticalPressureRatio
    • chokeUseValveModel

      private boolean chokeUseValveModel
    • tubingInclination

      private double tubingInclination
    • tubingSegments

      private int tubingSegments
    • multiphaseSegments

      private int multiphaseSegments
    • compressorSpeed

      private double compressorSpeed
    • compressorEfficiency

      private double compressorEfficiency
    • compressorPower

      private double compressorPower
    • compressorHasChart

      private boolean compressorHasChart
    • compressorModel

      private transient Compressor compressorModel
    • regulatorSetPoint

      private double regulatorSetPoint
    • pipeEfficiency

      private double pipeEfficiency
    • erosionalVelocity

      private double erosionalVelocity
    • erosionalVelocityRatio

      private double erosionalVelocityRatio
    • erosionalC

      private double erosionalC
    • gasLiftRate

      private double gasLiftRate
    • gasLiftGLR

      private double gasLiftGLR
    • espPower

      private double espPower
    • espFrequency

      private double espFrequency
    • espEfficiency

      private double espEfficiency
    • espHeadRise

      private double espHeadRise
    • artificialLiftType

      private LoopedPipeNetwork.ArtificialLiftType artificialLiftType
    • waterCut

      private double waterCut
    • waterFlowRate

      private double waterFlowRate
    • waterInjectionRate

      private double waterInjectionRate
    • sandRate

      private double sandRate
    • sandConcentration

      private double sandConcentration
    • erosionRate

      private double erosionRate
    • depositionRate

      private double depositionRate
    • co2MoleFraction

      private double co2MoleFraction
    • h2sMoleFraction

      private double h2sMoleFraction
    • corrosionRate

      private double corrosionRate
    • remainingWallLife

      private double remainingWallLife
    • corrosionModel

      private String corrosionModel
  • Constructor Details

    • NetworkPipe

      public NetworkPipe(String name, String fromNode, String toNode)
      Constructor for network pipe.
      Parameters:
      name - pipe name
      fromNode - source node name
      toNode - target node name
  • Method Details

    • getName

      public String getName()
      Get pipe name.
      Returns:
      name
    • getFromNode

      public String getFromNode()
      Get source node name.
      Returns:
      from node
    • getToNode

      public String getToNode()
      Get target node name.
      Returns:
      to node
    • getLength

      public double getLength()
      Get pipe length in m.
      Returns:
      length
    • setLength

      public void setLength(double length)
      Set pipe length in m.
      Parameters:
      length - length in m
    • getDiameter

      public double getDiameter()
      Get pipe diameter in m.
      Returns:
      diameter
    • setDiameter

      public void setDiameter(double diameter)
      Set pipe diameter in m.
      Parameters:
      diameter - diameter in m
    • getRoughness

      public double getRoughness()
      Get pipe roughness in m.
      Returns:
      roughness
    • setRoughness

      public void setRoughness(double roughness)
      Set pipe roughness in m.
      Parameters:
      roughness - roughness in m
    • getFlowRate

      public double getFlowRate()
      Get mass flow rate in kg/s.
      Returns:
      flow rate (positive = from->to direction)
    • setFlowRate

      public void setFlowRate(double flowRate)
      Set mass flow rate in kg/s.
      Parameters:
      flowRate - flow rate
    • getHeadLoss

      public double getHeadLoss()
      Get head loss in Pa.
      Returns:
      head loss
    • setHeadLoss

      public void setHeadLoss(double headLoss)
      Set head loss in Pa.
      Parameters:
      headLoss - head loss
    • getPipeModel

      public AdiabaticPipe getPipeModel()
      Get pipe model.
      Returns:
      the AdiabaticPipe model
    • setPipeModel

      public void setPipeModel(AdiabaticPipe model)
      Set pipe model.
      Parameters:
      model - the pipe model
    • getBBModel

      public PipeBeggsAndBrills getBBModel()
      Get Beggs-Brill pipe model.
      Returns:
      the PipeBeggsAndBrills model or null
    • setBBModel

      public void setBBModel(PipeBeggsAndBrills model)
      Set Beggs-Brill pipe model.
      Parameters:
      model - the pipe model
    • getVelocity

      public double getVelocity()
      Get velocity in m/s.
      Returns:
      velocity
    • setVelocity

      public void setVelocity(double velocity)
      Set velocity in m/s.
      Parameters:
      velocity - velocity in m/s
    • getReynoldsNumber

      public double getReynoldsNumber()
      Get Reynolds number.
      Returns:
      Reynolds number
    • setReynoldsNumber

      public void setReynoldsNumber(double re)
      Set Reynolds number.
      Parameters:
      re - Reynolds number
    • getFrictionFactor

      public double getFrictionFactor()
      Get friction factor.
      Returns:
      Darcy friction factor
    • setFrictionFactor

      public void setFrictionFactor(double ff)
      Set friction factor.
      Parameters:
      ff - friction factor
    • getFlowRegime

      public String getFlowRegime()
      Get flow regime name.
      Returns:
      flow regime
    • setFlowRegime

      public void setFlowRegime(String regime)
      Set flow regime name.
      Parameters:
      regime - flow regime
    • getLiquidHoldup

      public double getLiquidHoldup()
      Get liquid holdup (fraction 0-1).
      Returns:
      liquid holdup
    • setLiquidHoldup

      public void setLiquidHoldup(double holdup)
      Set liquid holdup.
      Parameters:
      holdup - liquid holdup fraction
    • getOutletTemperature

      public double getOutletTemperature()
      Get outlet temperature in K.
      Returns:
      outlet temperature
    • setOutletTemperature

      public void setOutletTemperature(double temperature)
      Set outlet temperature in K.
      Parameters:
      temperature - outlet temperature in K
    • getWallThickness

      public double getWallThickness()
      Get wall thickness in m.
      Returns:
      wall thickness
    • setWallThickness

      public void setWallThickness(double thickness)
      Set wall thickness in m.
      Parameters:
      thickness - wall thickness in m
    • getOverallHeatTransferCoeff

      public double getOverallHeatTransferCoeff()
      Get overall heat transfer coefficient in W/m2K.
      Returns:
      U-value (0 means adiabatic)
    • setOverallHeatTransferCoeff

      public void setOverallHeatTransferCoeff(double uValue)
      Set overall heat transfer coefficient in W/m2K.
      Parameters:
      uValue - U-value (0 for adiabatic)
    • getAmbientTemperature

      public double getAmbientTemperature()
      Get ambient temperature in K.
      Returns:
      ambient temperature
    • setAmbientTemperature

      public void setAmbientTemperature(double temperature)
      Set ambient temperature in K.
      Parameters:
      temperature - ambient temperature in K
    • getElementType

      public LoopedPipeNetwork.NetworkElementType getElementType()
      Get the network element type.
      Returns:
      element type
    • setElementType

      public void setElementType(LoopedPipeNetwork.NetworkElementType type)
      Set the network element type.
      Parameters:
      type - element type
    • getIprType

      public LoopedPipeNetwork.IPRType getIprType()
      Get the IPR model type.
      Returns:
      IPR type
    • setIprType

      public void setIprType(LoopedPipeNetwork.IPRType type)
      Set the IPR model type.
      Parameters:
      type - IPR model type
    • getReservoirPressure

      public double getReservoirPressure()
      Get reservoir pressure in Pa.
      Returns:
      reservoir pressure
    • setReservoirPressure

      public void setReservoirPressure(double pressure)
      Set reservoir pressure in Pa.
      Parameters:
      pressure - reservoir pressure in Pa
    • getProductivityIndex

      public double getProductivityIndex()
      Get productivity index in kg/s/Pa (or kg/s/Pa^2 for gas).
      Returns:
      productivity index
    • setProductivityIndex

      public void setProductivityIndex(double pi)
      Set productivity index in kg/s/Pa (or kg/s/Pa^2 for gas).
      Parameters:
      pi - productivity index
    • getVogelQmax

      public double getVogelQmax()
      Get Vogel q_max (absolute open flow) in kg/s.
      Returns:
      Vogel q_max
    • setVogelQmax

      public void setVogelQmax(double qmax)
      Set Vogel q_max (absolute open flow) in kg/s.
      Parameters:
      qmax - AOF in kg/s
    • getFetkovichC

      public double getFetkovichC()
      Get Fetkovich flow coefficient C.
      Returns:
      Fetkovich C
    • setFetkovichC

      public void setFetkovichC(double c)
      Set Fetkovich flow coefficient C.
      Parameters:
      c - Fetkovich C
    • getFetkovichN

      public double getFetkovichN()
      Get Fetkovich exponent n.
      Returns:
      Fetkovich n
    • setFetkovichN

      public void setFetkovichN(double n)
      Set Fetkovich exponent n.
      Parameters:
      n - Fetkovich exponent (0.5-1.0)
    • isGasIPR

      public boolean isGasIPR()
      Check if gas IPR formulation is used (P^2 drawdown).
      Returns:
      true if gas IPR
    • setGasIPR

      public void setGasIPR(boolean gas)
      Set whether to use gas IPR formulation (P^2 drawdown).
      Parameters:
      gas - true for gas wells
    • getChokeKv

      public double getChokeKv()
      Get choke valve flow coefficient Kv in m3/hr/sqrt(bar).
      Returns:
      Kv
    • setChokeKv

      public void setChokeKv(double kv)
      Set choke valve flow coefficient Kv in m3/hr/sqrt(bar).
      Parameters:
      kv - flow coefficient
    • getChokeOpening

      public double getChokeOpening()
      Get choke opening percentage (0-100).
      Returns:
      choke opening in percent
    • setChokeOpening

      public void setChokeOpening(double opening)
      Set choke opening percentage (0-100).
      Parameters:
      opening - choke opening in percent
    • getChokeCriticalPressureRatio

      public double getChokeCriticalPressureRatio()
      Get critical pressure ratio for choked flow.
      Returns:
      critical pressure ratio
    • setChokeCriticalPressureRatio

      public void setChokeCriticalPressureRatio(double ratio)
      Set critical pressure ratio for choked flow.
      Parameters:
      ratio - critical pressure ratio (typically 0.4-0.6)
    • isChokeUseValveModel

      public boolean isChokeUseValveModel()
      Check if choke should use NeqSim ThrottlingValve model.
      Returns:
      true if ThrottlingValve delegate is enabled
    • setChokeUseValveModel

      public void setChokeUseValveModel(boolean useValveModel)
      Enable or disable the NeqSim ThrottlingValve delegate for this choke.

      When enabled, the choke head loss is calculated using NeqSim's ThrottlingValve which includes real thermodynamic flash calculations for more accurate results. Default is false (uses simplified Kv equation for faster convergence).

      Parameters:
      useValveModel - true to use ThrottlingValve, false for simplified equation
    • getTubingInclination

      public double getTubingInclination()
      Get tubing inclination from horizontal in degrees.
      Returns:
      inclination in degrees (90 = vertical)
    • setTubingInclination

      public void setTubingInclination(double degrees)
      Set tubing inclination from horizontal in degrees.
      Parameters:
      degrees - inclination (90 = vertical, 0 = horizontal)
    • getTubingSegments

      public int getTubingSegments()
      Get number of tubing discretization segments.
      Returns:
      number of segments
    • setTubingSegments

      public void setTubingSegments(int segments)
      Set number of tubing discretization segments.
      Parameters:
      segments - number of segments
    • getMultiphaseSegments

      public int getMultiphaseSegments()
      Get number of multiphase pipe segments.
      Returns:
      number of segments
    • setMultiphaseSegments

      public void setMultiphaseSegments(int segments)
      Set number of multiphase pipe segments.
      Parameters:
      segments - number of segments
    • getCompressorSpeed

      public double getCompressorSpeed()
      Get compressor speed in RPM.
      Returns:
      compressor speed
    • setCompressorSpeed

      public void setCompressorSpeed(double speed)
      Set compressor speed in RPM.
      Parameters:
      speed - RPM
    • getCompressorEfficiency

      public double getCompressorEfficiency()
      Get compressor polytropic efficiency (0-1).
      Returns:
      efficiency
    • setCompressorEfficiency

      public void setCompressorEfficiency(double efficiency)
      Set compressor polytropic efficiency (0-1).
      Parameters:
      efficiency - polytropic efficiency
    • getCompressorPower

      public double getCompressorPower()
      Get calculated compressor power in kW.
      Returns:
      power in kW
    • setCompressorPower

      public void setCompressorPower(double power)
      Set calculated compressor power.
      Parameters:
      power - power in kW
    • isCompressorHasChart

      public boolean isCompressorHasChart()
      Check if compressor has a performance chart.
      Returns:
      true if chart is set
    • setCompressorHasChart

      public void setCompressorHasChart(boolean hasChart)
      Set whether compressor has a performance chart.
      Parameters:
      hasChart - true if chart set
    • getCompressorModel

      public Compressor getCompressorModel()
      Get the NeqSim Compressor model for this element.
      Returns:
      compressor model or null
    • setCompressorModel

      public void setCompressorModel(Compressor model)
      Set the NeqSim Compressor model for this element.
      Parameters:
      model - compressor model
    • getRegulatorSetPoint

      public double getRegulatorSetPoint()
      Get regulator set-point pressure in Pa.
      Returns:
      set-point pressure
    • setRegulatorSetPoint

      public void setRegulatorSetPoint(double setPointPa)
      Set regulator set-point pressure in Pa.
      Parameters:
      setPointPa - set-point in Pa
    • getPipeEfficiency

      public double getPipeEfficiency()
      Get pipe efficiency factor (1.0 = new, lower = degraded).
      Returns:
      efficiency factor
    • setPipeEfficiency

      public void setPipeEfficiency(double efficiency)
      Set pipe efficiency factor for aging/fouling (1.0 = new, 0.85 = aged).
      Parameters:
      efficiency - efficiency factor (0.5-1.0)
    • getErosionalC

      public double getErosionalC()
      Get the API RP 14E C-factor for erosional velocity calculation.
      Returns:
      C-factor (typically 100-150)
    • setErosionalC

      public void setErosionalC(double cFactor)
      Set the API RP 14E C-factor for erosional velocity calculation.
      Parameters:
      cFactor - C-factor (100 for continuous, 125 standard, 150 intermittent)
    • getErosionalVelocity

      public double getErosionalVelocity()
      Get calculated erosional velocity in m/s.
      Returns:
      erosional velocity limit
    • setErosionalVelocity

      public void setErosionalVelocity(double vel)
      Set erosional velocity.
      Parameters:
      vel - erosional velocity in m/s
    • getErosionalVelocityRatio

      public double getErosionalVelocityRatio()
      Get erosional velocity ratio (actual / allowable). Values above 1.0 indicate exceedance.
      Returns:
      erosional velocity ratio
    • setErosionalVelocityRatio

      public void setErosionalVelocityRatio(double ratio)
      Set erosional velocity ratio.
      Parameters:
      ratio - actual/allowable ratio
    • getGasLiftRate

      public double getGasLiftRate()
      Get gas lift injection rate in kg/s.
      Returns:
      gas lift rate
    • setGasLiftRate

      public void setGasLiftRate(double rate)
      Set gas lift injection rate in kg/s.
      Parameters:
      rate - gas lift rate in kg/s
    • getGasLiftGLR

      public double getGasLiftGLR()
      Get gas lift target GLR in m3/m3.
      Returns:
      gas-liquid ratio target
    • setGasLiftGLR

      public void setGasLiftGLR(double glr)
      Set gas lift target GLR in m3/m3.
      Parameters:
      glr - gas-liquid ratio
    • getEspPower

      public double getEspPower()
      Get ESP rated power in kW.
      Returns:
      ESP power
    • setEspPower

      public void setEspPower(double power)
      Set ESP rated power in kW.
      Parameters:
      power - ESP rated power in kW
    • getEspFrequency

      public double getEspFrequency()
      Get ESP motor frequency in Hz.
      Returns:
      frequency in Hz
    • setEspFrequency

      public void setEspFrequency(double freq)
      Set ESP motor frequency in Hz.
      Parameters:
      freq - frequency in Hz
    • getEspEfficiency

      public double getEspEfficiency()
      Get ESP pump efficiency (0-1).
      Returns:
      efficiency
    • setEspEfficiency

      public void setEspEfficiency(double eff)
      Set ESP pump efficiency (0-1).
      Parameters:
      eff - efficiency (typically 0.3-0.7)
    • getEspHeadRise

      public double getEspHeadRise()
      Get calculated ESP head rise in Pa.
      Returns:
      head rise
    • setEspHeadRise

      public void setEspHeadRise(double head)
      Set calculated ESP head rise in Pa.
      Parameters:
      head - head rise in Pa
    • getArtificialLiftType

      public LoopedPipeNetwork.ArtificialLiftType getArtificialLiftType()
      Get artificial lift type.
      Returns:
      lift type
    • setArtificialLiftType

      public void setArtificialLiftType(LoopedPipeNetwork.ArtificialLiftType type)
      Set artificial lift type.
      Parameters:
      type - the lift type
    • getWaterCut

      public double getWaterCut()
      Get water cut (volume fraction of water in liquid, 0-1).
      Returns:
      water cut
    • setWaterCut

      public void setWaterCut(double wc)
      Set water cut (volume fraction of water in liquid, 0-1).
      Parameters:
      wc - water cut fraction
    • getWaterFlowRate

      public double getWaterFlowRate()
      Get produced water flow rate in kg/s.
      Returns:
      water flow rate
    • setWaterFlowRate

      public void setWaterFlowRate(double rate)
      Set produced water flow rate in kg/s.
      Parameters:
      rate - water flow rate in kg/s
    • getWaterInjectionRate

      public double getWaterInjectionRate()
      Get water injection rate in kg/s.
      Returns:
      water injection rate
    • setWaterInjectionRate

      public void setWaterInjectionRate(double rate)
      Set water injection rate in kg/s.
      Parameters:
      rate - water injection rate in kg/s
    • getSandRate

      public double getSandRate()
      Get sand production rate in kg/s.
      Returns:
      sand rate
    • setSandRate

      public void setSandRate(double rate)
      Set sand production rate in kg/s.
      Parameters:
      rate - sand rate in kg/s
    • getSandConcentration

      public double getSandConcentration()
      Get sand concentration in kg/m3.
      Returns:
      sand concentration
    • setSandConcentration

      public void setSandConcentration(double conc)
      Set sand concentration in kg/m3.
      Parameters:
      conc - sand concentration in kg/m3
    • getErosionRate

      public double getErosionRate()
      Get calculated pipe erosion rate in mm/yr.
      Returns:
      erosion rate
    • setErosionRate

      public void setErosionRate(double rate)
      Set calculated pipe erosion rate in mm/yr.
      Parameters:
      rate - erosion rate in mm/yr
    • getDepositionRate

      public double getDepositionRate()
      Get solids deposition rate in kg/m/yr.
      Returns:
      deposition rate
    • setDepositionRate

      public void setDepositionRate(double rate)
      Set solids deposition rate in kg/m/yr.
      Parameters:
      rate - deposition rate in kg/m/yr
    • getCo2MoleFraction

      public double getCo2MoleFraction()
      Get CO2 mole fraction in gas phase.
      Returns:
      CO2 mole fraction
    • setCo2MoleFraction

      public void setCo2MoleFraction(double moleFrac)
      Set CO2 mole fraction in gas phase.
      Parameters:
      moleFrac - CO2 mole fraction (0-1)
    • getH2sMoleFraction

      public double getH2sMoleFraction()
      Get H2S mole fraction in gas phase.
      Returns:
      H2S mole fraction
    • setH2sMoleFraction

      public void setH2sMoleFraction(double moleFrac)
      Set H2S mole fraction in gas phase.
      Parameters:
      moleFrac - H2S mole fraction (0-1)
    • getCorrosionRate

      public double getCorrosionRate()
      Get calculated corrosion rate in mm/yr.
      Returns:
      corrosion rate
    • setCorrosionRate

      public void setCorrosionRate(double rate)
      Set calculated corrosion rate in mm/yr.
      Parameters:
      rate - corrosion rate in mm/yr
    • getRemainingWallLife

      public double getRemainingWallLife()
      Get remaining wall life in years until minimum wall thickness is reached.
      Returns:
      remaining wall life in years
    • setRemainingWallLife

      public void setRemainingWallLife(double years)
      Set remaining wall life in years.
      Parameters:
      years - remaining life in years
    • getCorrosionModel

      public String getCorrosionModel()
      Get corrosion model name.
      Returns:
      model name ("deWaard" or "norsokM506")
    • setCorrosionModel

      public void setCorrosionModel(String model)
      Set corrosion model name.
      Parameters:
      model - "deWaard" or "norsokM506"