Class RiserMechanicalDesign

All Implemented Interfaces:
Serializable

public class RiserMechanicalDesign extends PipelineMechanicalDesign
Mechanical design class for risers.

This class extends PipelineMechanicalDesign to provide riser-specific mechanical design calculations including:

  • Top tension calculation for catenary and TTR
  • Touchdown point stress analysis
  • VIV (Vortex-Induced Vibration) response estimation
  • Dynamic stress factors for wave and current loading
  • Fatigue life estimation for cyclic loading
  • Heave motion response

Design Standards

  • DNV-OS-F201 - Dynamic Risers
  • DNV-RP-F204 - Riser Fatigue
  • DNV-RP-C203 - Fatigue Design of Offshore Structures
  • API RP 2RD - Design of Risers for Floating Production Systems
  • API RP 17B - Flexible Pipe

Usage Example

Riser riser = new Riser("Production Riser", inletStream);
riser.setRiserType(RiserType.STEEL_CATENARY_RISER);
riser.setWaterDepth(800.0);
riser.run();

RiserMechanicalDesign design = (RiserMechanicalDesign) riser.getMechanicalDesign();
design.setMaxOperationPressure(100.0);
design.setMaterialGrade("X65");
design.setDesignStandardCode("DNV-OS-F201");
design.readDesignSpecifications();
design.calcDesign();

// Get riser-specific results
RiserMechanicalDesignCalculator calc = design.getRiserCalculator();
double topTension = calc.getTopTension();
double touchdownStress = calc.getTouchdownPointStress();
double vivAmplitude = calc.getVIVAmplitude();
double fatigueLife = calc.getRiserFatigueLife();
Version:
1.0
Author:
ASMF
See Also:
  • Field Details

  • Constructor Details

    • RiserMechanicalDesign

      public RiserMechanicalDesign(Riser equipment)
      Constructor with riser equipment.
      Parameters:
      equipment - the riser equipment
  • Method Details

    • readDesignSpecifications

      public void readDesignSpecifications()

      readDesignSpecifications.

      Overrides:
      readDesignSpecifications in class PipelineMechanicalDesign
    • calcDesign

      public void calcDesign()

      calcDesign.

      Overrides:
      calcDesign in class PipelineMechanicalDesign
    • getRiserCalculator

      public RiserMechanicalDesignCalculator getRiserCalculator()
      Get the riser-specific calculator.
      Returns:
      riser mechanical design calculator
    • isDesignAcceptable

      public boolean isDesignAcceptable()
      Check if the riser design is acceptable.
      Returns:
      true if all design checks pass
    • getDesignLifeYears

      public double getDesignLifeYears()
      Get design life in years.
      Returns:
      design life
    • toJson

      public String toJson()
      Export mechanical design data to JSON format.

      This method creates a MechanicalDesignResponse object and serializes it to JSON using Gson. The JSON includes equipment identification, weight breakdown, design conditions, dimensions, and materials information.

      Usage example:

      
      MechanicalDesign mecDesign = separator.getMechanicalDesign();
      mecDesign.calcDesign();
      String json = mecDesign.toJson();
      
      
      Overrides:
      toJson in class PipelineMechanicalDesign
      Returns:
      JSON string representation of the mechanical design