Class TiebackRouteNetwork

java.lang.Object
neqsim.process.fielddevelopment.network.TiebackRouteNetwork
All Implemented Interfaces:
Serializable

public final class TiebackRouteNetwork extends Object implements Serializable
Describes a multi-segment subsea tieback route for screening studies.

The network keeps a lightweight topology model for early field-development decisions. It is not a detailed hydraulic simulator; instead it provides route metadata and equivalent hydraulic properties that existing screening calculations can use while preserving the segment breakdown for reporting.

Version:
1.0
Author:
ESOL
See Also:
  • Field Details

  • Constructor Details

    • TiebackRouteNetwork

      private TiebackRouteNetwork(TiebackRouteNetwork.Builder builder)
      Creates a route network from a builder.
      Parameters:
      builder - route-network builder with validated segment data
  • Method Details

    • builder

      public static TiebackRouteNetwork.Builder builder(String name)
      Creates a builder for a route network.
      Parameters:
      name - route-network name; non-null and non-empty is recommended for reporting
      Returns:
      builder instance
    • getName

      public String getName()
      Gets the route-network name.
      Returns:
      route-network name
    • getHostHubName

      public String getHostHubName()
      Gets the host hub name.
      Returns:
      host hub name, or an empty string if no hub was specified
    • getSegments

      public List<TiebackRouteNetwork.RouteSegment> getSegments()
      Gets the immutable segment list.
      Returns:
      route segments in flow order where possible
    • getInstalledLengthKm

      public double getInstalledLengthKm()
      Gets the total installed length including branches.
      Returns:
      installed route length in kilometres
    • getScreeningLengthKm

      public double getScreeningLengthKm()
      Gets the equivalent hydraulic length of the main export path.
      Returns:
      main-route length in kilometres excluding branch-only segments when possible
    • getSharedCorridorLengthKm

      public double getSharedCorridorLengthKm()
      Gets the shared corridor length.
      Returns:
      shared corridor length in kilometres
    • getBranchCount

      public int getBranchCount()
      Counts branch segments.
      Returns:
      number of branch segments
    • getRiserCount

      public int getRiserCount()
      Counts riser segments.
      Returns:
      number of riser segments
    • getMaxWaterDepthM

      public double getMaxWaterDepthM()
      Gets the deepest water depth along the route.
      Returns:
      maximum water depth in metres
    • getEquivalentDiameterInches

      public double getEquivalentDiameterInches()
      Gets the equivalent pipeline diameter for hydraulic screening.
      Returns:
      length-weighted main-route diameter in inches
    • getEquivalentSeabedTemperatureC

      public double getEquivalentSeabedTemperatureC()
      Gets the representative seabed temperature for hydraulic screening.
      Returns:
      length-weighted seabed temperature in Celsius
    • getEquivalentHeatTransferCoefficientWm2K

      public double getEquivalentHeatTransferCoefficientWm2K()
      Gets the representative heat-transfer coefficient for hydraulic screening.
      Returns:
      length-weighted heat-transfer coefficient in W/m2K
    • getNetElevationChangeM

      public double getNetElevationChangeM()
      Gets the net elevation change for the main route.
      Returns:
      net elevation change in metres, positive for uphill flow toward the host
    • getSummary

      public String getSummary()
      Builds a compact route-network summary for tables and notes.
      Returns:
      human-readable route summary
    • countSegments

      private int countSegments(TiebackRouteNetwork.SegmentType type)
      Counts segments of a given type.
      Parameters:
      type - segment type to count
      Returns:
      number of matching segments