Class RiserConfiguration

java.lang.Object
neqsim.process.equipment.pipeline.RiserConfiguration

public class RiserConfiguration extends Object
Configuration factory for creating risers with standard geometry profiles.

This class provides factory methods to create pipeline objects configured as risers with appropriate elevation profiles for different riser types (SCR, flexible, lazy-wave, etc.).

Example usage:


// Create a Steel Catenary Riser
PipeBeggsAndBrills riser = RiserConfiguration.createRiser(RiserType.STEEL_CATENARY_RISER,
    "Production Riser", inletStream, 500.0);
riser.run();

// Create a lazy-wave riser with custom parameters
RiserConfiguration config = new RiserConfiguration(RiserType.LAZY_WAVE);
config.setWaterDepth(800.0);
config.setBuoyancyModuleDepth(400.0);
config.setTopAngle(12.0);
PipeBeggsAndBrills lazyWave = config.create("Lazy Wave Riser", inletStream);

Version:
1.0
Author:
ASMF
  • Field Details

    • riserType

      private RiserConfiguration.RiserType riserType
      Riser type configuration.
    • waterDepth

      private double waterDepth
      Water depth in meters.
    • topAngle

      private double topAngle
      Top hangoff angle from vertical in degrees.
    • departureAngle

      private double departureAngle
      Departure angle from seabed in degrees.
    • buoyancyModuleDepth

      private double buoyancyModuleDepth
      Depth of buoyancy modules for lazy-wave (meters from surface).
    • buoyancyModuleLength

      private double buoyancyModuleLength
      Length of buoyancy section for lazy-wave (meters).
    • innerDiameter

      private double innerDiameter
      Inner diameter in meters.
    • numberOfSections

      private int numberOfSections
      Number of sections for elevation profile.
    • heatTransferCoefficient

      private double heatTransferCoefficient
      Overall heat transfer coefficient W/(m²·K).
    • ambientTemperature

      private double ambientTemperature
      Ambient/seawater temperature in Celsius.
  • Constructor Details

    • RiserConfiguration

      public RiserConfiguration()
      Default constructor with SCR type.
    • RiserConfiguration

      public RiserConfiguration(RiserConfiguration.RiserType riserType)
      Constructor with specified riser type.
      Parameters:
      riserType - the type of riser configuration
  • Method Details

    • createRiser

      public static PipeBeggsAndBrills createRiser(RiserConfiguration.RiserType type, String name, StreamInterface inlet, double waterDepth)
      Factory method to create a riser with default parameters.
      Parameters:
      type - the riser type
      name - equipment name
      inlet - inlet stream
      waterDepth - water depth in meters
      Returns:
      configured PipeBeggsAndBrills as a riser
    • createSCR

      public static PipeBeggsAndBrills createSCR(String name, StreamInterface inlet, double waterDepth)
      Factory method to create a Steel Catenary Riser.
      Parameters:
      name - equipment name
      inlet - inlet stream
      waterDepth - water depth in meters
      Returns:
      configured SCR
    • createTTR

      public static PipeBeggsAndBrills createTTR(String name, StreamInterface inlet, double waterDepth)
      Factory method to create a Top Tensioned Riser (vertical).
      Parameters:
      name - equipment name
      inlet - inlet stream
      waterDepth - water depth in meters
      Returns:
      configured TTR
    • createLazyWave

      public static PipeBeggsAndBrills createLazyWave(String name, StreamInterface inlet, double waterDepth, double buoyancyDepth)
      Factory method to create a Lazy-Wave riser.
      Parameters:
      name - equipment name
      inlet - inlet stream
      waterDepth - water depth in meters
      buoyancyDepth - depth of buoyancy modules from surface
      Returns:
      configured lazy-wave riser
    • create

      public PipeBeggsAndBrills create(String name, StreamInterface inlet)
      Create a riser using the current configuration.
      Parameters:
      name - equipment name
      inlet - inlet stream
      Returns:
      configured pipe as riser
    • configureSCR

      private void configureSCR(PipeBeggsAndBrills riser)
      Configure as Steel Catenary Riser.

      Catenary profile from seabed touchdown to platform hangoff. The catenary adds approximately 10-20% to the vertical depth for arc length.

      Parameters:
      riser - the pipe to configure
    • configureFlexible

      private void configureFlexible(PipeBeggsAndBrills riser)
      Configure as Flexible Riser.

      Similar to SCR but with tighter bend radius capability.

      Parameters:
      riser - the pipe to configure
    • configureTTR

      private void configureTTR(PipeBeggsAndBrills riser)
      Configure as Top Tensioned Riser (vertical).
      Parameters:
      riser - the pipe to configure
    • configureLazyWave

      private void configureLazyWave(PipeBeggsAndBrills riser)
      Configure as Lazy-Wave riser.

      Profile: Seabed → Sag bend → Buoyancy section (rise) → Hog bend → Platform. Lazy-wave configuration reduces dynamic loads on the touchdown point.

      Parameters:
      riser - the pipe to configure
    • configureSteepWave

      private void configureSteepWave(PipeBeggsAndBrills riser)
      Configure as Steep-Wave riser.

      Similar to lazy-wave but with steeper angles. Used in deeper water.

      Parameters:
      riser - the pipe to configure
    • configureHybrid

      private void configureHybrid(PipeBeggsAndBrills riser)
      Configure as Hybrid Riser.

      Hybrid: Subsea jumper → Riser base → Vertical riser to buoy → Flexible jumper to platform.

      Parameters:
      riser - the pipe to configure
    • configureFreeStanding

      private void configureFreeStanding(PipeBeggsAndBrills riser)
      Configure as Free-Standing Hybrid Riser.
      Parameters:
      riser - the pipe to configure
    • configureVertical

      private void configureVertical(PipeBeggsAndBrills riser)
      Configure as simple vertical riser.
      Parameters:
      riser - the pipe to configure
    • getRiserType

      public RiserConfiguration.RiserType getRiserType()
      Get the riser type.
      Returns:
      riser type enum
    • setRiserType

      public RiserConfiguration setRiserType(RiserConfiguration.RiserType riserType)
      Set the riser type.
      Parameters:
      riserType - type of riser
      Returns:
      this configuration for chaining
    • getWaterDepth

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

      public RiserConfiguration setWaterDepth(double waterDepth)
      Set water depth.
      Parameters:
      waterDepth - depth in meters
      Returns:
      this configuration for chaining
    • getTopAngle

      public double getTopAngle()
      Get top hangoff angle.
      Returns:
      angle in degrees from vertical
    • setTopAngle

      public RiserConfiguration setTopAngle(double topAngle)
      Set top hangoff angle.
      Parameters:
      topAngle - angle in degrees from vertical
      Returns:
      this configuration for chaining
    • getDepartureAngle

      public double getDepartureAngle()
      Get departure angle from seabed.
      Returns:
      angle in degrees
    • setDepartureAngle

      public RiserConfiguration setDepartureAngle(double departureAngle)
      Set departure angle from seabed.
      Parameters:
      departureAngle - angle in degrees
      Returns:
      this configuration for chaining
    • getBuoyancyModuleDepth

      public double getBuoyancyModuleDepth()
      Get buoyancy module depth.
      Returns:
      depth from surface in meters
    • setBuoyancyModuleDepth

      public RiserConfiguration setBuoyancyModuleDepth(double buoyancyModuleDepth)
      Set buoyancy module depth for lazy-wave configuration.
      Parameters:
      buoyancyModuleDepth - depth from surface in meters
      Returns:
      this configuration for chaining
    • getBuoyancyModuleLength

      public double getBuoyancyModuleLength()
      Get buoyancy module length.
      Returns:
      length in meters
    • setBuoyancyModuleLength

      public RiserConfiguration setBuoyancyModuleLength(double buoyancyModuleLength)
      Set buoyancy module length.
      Parameters:
      buoyancyModuleLength - length in meters
      Returns:
      this configuration for chaining
    • getInnerDiameter

      public double getInnerDiameter()
      Get inner diameter.
      Returns:
      diameter in meters
    • setInnerDiameter

      public RiserConfiguration setInnerDiameter(double innerDiameter)
      Set inner diameter.
      Parameters:
      innerDiameter - diameter in meters
      Returns:
      this configuration for chaining
    • setInnerDiameter

      public RiserConfiguration setInnerDiameter(double innerDiameter, String unit)
      Set inner diameter with unit.
      Parameters:
      innerDiameter - diameter value
      unit - unit (m, mm, inch, in)
      Returns:
      this configuration for chaining
    • getNumberOfSections

      public int getNumberOfSections()
      Get number of sections for profile.
      Returns:
      number of sections
    • setNumberOfSections

      public RiserConfiguration setNumberOfSections(int numberOfSections)
      Set number of sections for elevation profile.
      Parameters:
      numberOfSections - number of sections (more = smoother profile)
      Returns:
      this configuration for chaining
    • getHeatTransferCoefficient

      public double getHeatTransferCoefficient()
      Get heat transfer coefficient.
      Returns:
      U-value in W/(m²·K)
    • setHeatTransferCoefficient

      public RiserConfiguration setHeatTransferCoefficient(double heatTransferCoefficient)
      Set overall heat transfer coefficient.
      Parameters:
      heatTransferCoefficient - U-value in W/(m²·K)
      Returns:
      this configuration for chaining
    • getAmbientTemperature

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

      public RiserConfiguration setAmbientTemperature(double ambientTemperature)
      Set ambient/seawater temperature.
      Parameters:
      ambientTemperature - temperature in Celsius
      Returns:
      this configuration for chaining
    • calculateRiserLength

      public double calculateRiserLength()
      Calculate the total riser length based on configuration.
      Returns:
      estimated riser length in meters
    • getDescription

      public String getDescription()
      Get a description of the riser configuration.
      Returns:
      description string