Class PLET

All Implemented Interfaces:
Serializable, Runnable, ProcessEquipmentInterface, TwoPortInterface, SimulationInterface, NamedInterface

public class PLET extends TwoPortEquipment
Pipeline End Termination (PLET) equipment class.

A PLET is a subsea structure located at the end of a flowline or pipeline that provides:

  • Connection interface for flowlines, jumpers, or risers
  • Isolation valve functionality
  • Tie-in capability for future expansions
  • Pigging facilities (pig launcher/receiver)

Design Standards

  • API RP 17G - Recommended Practice for Completion/Workover Risers
  • API RP 17N - Recommended Practice for Subsea Production System Reliability
  • DNV-ST-F101 - Submarine Pipeline Systems
  • NORSOK U-001 - Subsea Production Systems

Usage Example

// Create PLET at flowline termination
PLET plet = new PLET("PLET-1", flowlineOutletStream);
plet.setWaterDepth(350.0);
plet.setDesignPressure(150.0);
plet.setDesignTemperature(80.0);
plet.setConnectionType(PLET.ConnectionType.VERTICAL_HUB);
plet.setHasIsolationValve(true);
plet.setHasPiggingFacility(true);
plet.run();

// Get mechanical design
PLETMechanicalDesign design = (PLETMechanicalDesign) plet.getMechanicalDesign();
design.calcDesign();
String json = design.toJson();
Version:
1.0
Author:
ESOL
See Also:
  • Field Details

    • serialVersionUID

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

      private double waterDepth
      Water depth in meters.
    • designPressure

      private double designPressure
      Design pressure in bara.
    • designTemperature

      private double designTemperature
      Design temperature in Celsius.
    • nominalBoreInches

      private double nominalBoreInches
      Nominal bore size in inches.
    • connectionType

      private PLET.ConnectionType connectionType
      Connection type.
    • structureType

      private PLET.StructureType structureType
      Structure type.
    • numberOfHubs

      private int numberOfHubs
      Number of connection hubs.
    • hasIsolationValve

      private boolean hasIsolationValve
      Whether PLET has isolation valve.
    • isolationValve

      private ThrottlingValve isolationValve
      Internal isolation valve.
    • valveType

      private String valveType
      Valve type (ball, gate).
    • actuatorType

      private String actuatorType
      Valve actuator type (ROV, hydraulic).
    • hasPiggingFacility

      private boolean hasPiggingFacility
      Whether PLET has pigging facilities.
    • piggingType

      private String piggingType
      Pig launcher/receiver type.
    • hasFutureTieIn

      private boolean hasFutureTieIn
      Whether PLET is configured for future tie-in.
    • spareHubs

      private int spareHubs
      Number of spare hubs for future connections.
    • structureLength

      private double structureLength
      Structure length in meters.
    • structureWidth

      private double structureWidth
      Structure width in meters.
    • structureHeight

      private double structureHeight
      Structure height in meters.
    • dryWeight

      private double dryWeight
      Dry weight in tonnes.
    • submergedWeight

      private double submergedWeight
      Submerged weight in tonnes.
    • mechanicalDesign

      private PLETMechanicalDesign mechanicalDesign
      Mechanical design instance.
  • Constructor Details

    • PLET

      public PLET()
      Default constructor.
    • PLET

      public PLET(String name)
      Constructor with name.
      Parameters:
      name - equipment name
    • PLET

      public PLET(String name, StreamInterface inStream)
      Constructor with name and inlet stream.
      Parameters:
      name - equipment name
      inStream - inlet stream
  • Method Details

    • initializeIsolationValve

      private void initializeIsolationValve()
      Initialize the internal isolation valve.
    • run

      public void run(UUID id)

      In this method all thermodynamic and unit operations will be calculated in a steady state calculation.

      Parameters:
      id - UUID
    • calculatePressureDrop

      private double calculatePressureDrop()
      Calculate pressure drop through PLET.
      Returns:
      pressure drop in bar
    • setIsolationValveOpening

      public void setIsolationValveOpening(double percentOpen)
      Set isolation valve opening percentage.
      Parameters:
      percentOpen - valve opening (0-100%)
    • getIsolationValveOpening

      public double getIsolationValveOpening()
      Get isolation valve opening percentage.
      Returns:
      valve opening (0-100%)
    • closeIsolationValve

      public void closeIsolationValve()
      Close the isolation valve.
    • openIsolationValve

      public void openIsolationValve()
      Open the isolation valve.
    • getMechanicalDesign

      public PLETMechanicalDesign getMechanicalDesign()

      Get a mechanicalDesign for the equipment.

      Specified by:
      getMechanicalDesign in interface ProcessEquipmentInterface
      Overrides:
      getMechanicalDesign in class ProcessEquipmentBaseClass
      Returns:
      a MechanicalDesign object
    • initMechanicalDesign

      public void initMechanicalDesign()
      Initialize mechanical design.
      Specified by:
      initMechanicalDesign in interface ProcessEquipmentInterface
      Overrides:
      initMechanicalDesign in class ProcessEquipmentBaseClass
    • getWaterDepth

      public double getWaterDepth()
      Get water depth.
      Returns:
      water depth in meters
    • setWaterDepth

      public void setWaterDepth(double waterDepth)
      Set water depth.
      Parameters:
      waterDepth - water depth in meters
    • getDesignPressure

      public double getDesignPressure()
      Get design pressure.
      Returns:
      design pressure in bara
    • setDesignPressure

      public void setDesignPressure(double designPressure)
      Set design pressure.
      Parameters:
      designPressure - design pressure in bara
    • getDesignTemperature

      public double getDesignTemperature()
      Get design temperature.
      Returns:
      design temperature in Celsius
    • setDesignTemperature

      public void setDesignTemperature(double designTemperature)
      Set design temperature.
      Parameters:
      designTemperature - design temperature in Celsius
    • getNominalBoreInches

      public double getNominalBoreInches()
      Get nominal bore size.
      Returns:
      nominal bore in inches
    • setNominalBoreInches

      public void setNominalBoreInches(double nominalBoreInches)
      Set nominal bore size.
      Parameters:
      nominalBoreInches - nominal bore in inches
    • getConnectionType

      public PLET.ConnectionType getConnectionType()
      Get connection type.
      Returns:
      connection type
    • setConnectionType

      public void setConnectionType(PLET.ConnectionType connectionType)
      Set connection type.
      Parameters:
      connectionType - connection type
    • getStructureType

      public PLET.StructureType getStructureType()
      Get structure type.
      Returns:
      structure type
    • setStructureType

      public void setStructureType(PLET.StructureType structureType)
      Set structure type.
      Parameters:
      structureType - structure type
    • getNumberOfHubs

      public int getNumberOfHubs()
      Get number of hubs.
      Returns:
      number of connection hubs
    • setNumberOfHubs

      public void setNumberOfHubs(int numberOfHubs)
      Set number of hubs.
      Parameters:
      numberOfHubs - number of connection hubs
    • hasIsolationValve

      public boolean hasIsolationValve()
      Check if has isolation valve.
      Returns:
      true if has isolation valve
    • setHasIsolationValve

      public void setHasIsolationValve(boolean hasIsolationValve)
      Set whether has isolation valve.
      Parameters:
      hasIsolationValve - true to include isolation valve
    • getValveType

      public String getValveType()
      Get valve type.
      Returns:
      valve type
    • setValveType

      public void setValveType(String valveType)
      Set valve type.
      Parameters:
      valveType - valve type (Ball, Gate)
    • getActuatorType

      public String getActuatorType()
      Get actuator type.
      Returns:
      actuator type
    • setActuatorType

      public void setActuatorType(String actuatorType)
      Set actuator type.
      Parameters:
      actuatorType - actuator type (ROV, Hydraulic)
    • hasPiggingFacility

      public boolean hasPiggingFacility()
      Check if has pigging facility.
      Returns:
      true if has pigging facility
    • setHasPiggingFacility

      public void setHasPiggingFacility(boolean hasPiggingFacility)
      Set whether has pigging facility.
      Parameters:
      hasPiggingFacility - true to include pigging
    • getPiggingType

      public String getPiggingType()
      Get pigging type.
      Returns:
      pigging type
    • setPiggingType

      public void setPiggingType(String piggingType)
      Set pigging type.
      Parameters:
      piggingType - pigging type (launcher, receiver, bidirectional)
    • hasFutureTieIn

      public boolean hasFutureTieIn()
      Check if has future tie-in capability.
      Returns:
      true if configured for future tie-in
    • setHasFutureTieIn

      public void setHasFutureTieIn(boolean hasFutureTieIn)
      Set whether has future tie-in capability.
      Parameters:
      hasFutureTieIn - true for future tie-in capability
    • getSpareHubs

      public int getSpareHubs()
      Get spare hubs.
      Returns:
      number of spare hubs
    • setSpareHubs

      public void setSpareHubs(int spareHubs)
      Set spare hubs.
      Parameters:
      spareHubs - number of spare hubs for future connections
    • getStructureLength

      public double getStructureLength()
      Get structure length.
      Returns:
      structure length in meters
    • setStructureLength

      public void setStructureLength(double structureLength)
      Set structure length.
      Parameters:
      structureLength - structure length in meters
    • getStructureWidth

      public double getStructureWidth()
      Get structure width.
      Returns:
      structure width in meters
    • setStructureWidth

      public void setStructureWidth(double structureWidth)
      Set structure width.
      Parameters:
      structureWidth - structure width in meters
    • getStructureHeight

      public double getStructureHeight()
      Get structure height.
      Returns:
      structure height in meters
    • setStructureHeight

      public void setStructureHeight(double structureHeight)
      Set structure height.
      Parameters:
      structureHeight - structure height in meters
    • getDryWeight

      public double getDryWeight()
      Get dry weight.
      Returns:
      dry weight in tonnes
    • setDryWeight

      public void setDryWeight(double dryWeight)
      Set dry weight.
      Parameters:
      dryWeight - dry weight in tonnes
    • getSubmergedWeight

      public double getSubmergedWeight()
      Get submerged weight.
      Returns:
      submerged weight in tonnes
    • setSubmergedWeight

      public void setSubmergedWeight(double submergedWeight)
      Set submerged weight.
      Parameters:
      submergedWeight - submerged weight in tonnes
    • getIsolationValve

      public ThrottlingValve getIsolationValve()
      Get the internal isolation valve.
      Returns:
      isolation valve or null if not configured