Class TopsidePipingMechanicalDesign

All Implemented Interfaces:
Serializable

public class TopsidePipingMechanicalDesign extends PipelineMechanicalDesign
Mechanical design class for topside (offshore platform and onshore facility) piping. <p> This class provides mechanical design capabilities for topside process piping including: </p> <ul> <li>Wall thickness per ASME B31.3 Process Piping</li> <li>Erosional velocity per API RP 14E</li> <li>Pipe support spacing per NORSOK L-002</li> <li>Flow-induced vibration (FIV) screening</li> <li>Acoustic-induced vibration (AIV) analysis</li> <li>Thermal expansion stress analysis</li> </ul> <h2>Usage Example</h2> <pre> // Create topside piping TopsidePiping pipe = new TopsidePiping("HP Gas Header", stream); pipe.setDiameter(0.2032); // 8 inch pipe.setLength(50.0); pipe.run(); // Get and configure mechanical design TopsidePipingMechanicalDesign design = pipe.getTopsideMechanicalDesign(); design.setMaxOperationPressure(100.0); design.setMaxOperationTemperature(80.0 + 273.15); design.setMaterialGrade("A106-B"); design.setDesignStandardCode("ASME-B31.3"); design.setCompanySpecificDesignStandards("Equinor"); // Load standards and calculate design.readDesignSpecifications(); design.calcDesign(); // Get results String json = design.toJson(); boolean velocityOk = design.getCalculator().isVelocityCheckPassed(); double supportSpacing = design.getCalculator().getSupportSpacing(); </pre>
Version:
1.0
Author:
ASMF
See Also:
  • Field Details

    • serialVersionUID

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

      private transient TopsidePipingMechanicalDesignCalculator topsideCalculator
      Topside-specific calculator.
    • dataSource

      private transient TopsidePipingMechanicalDesignDataSource dataSource
      Data source for loading design parameters.
    • serviceType

      private String serviceType
      Service type for this piping.
    • pipeSchedule

      private String pipeSchedule
      Pipe schedule.
    • minOperationTemperature

      private double minOperationTemperature
      Minimum operating temperature in Kelvin.
    • installationTemperature

      private double installationTemperature
      Installation temperature in Kelvin.
    • numberOfElbows90

      private int numberOfElbows90
      Number of 90-degree elbows.
    • numberOfTees

      private int numberOfTees
      Number of tees.
    • numberOfValves

      private int numberOfValves
      Number of valves.
    • numberOfExpansionLoops

      private int numberOfExpansionLoops
      Number of expansion loops.
    • calculatedSupportSpacing

      private double calculatedSupportSpacing
      Calculated support spacing in meters.
    • numberOfSupports

      private int numberOfSupports
      Number of calculated supports.
  • Constructor Details

  • Method Details

    • initializeCalculator

      private void initializeCalculator()
      Initialize the topside-specific calculator.
    • initializeFromEquipment

      private void initializeFromEquipment()
      Initialize parameters from the connected equipment.
    • readDesignSpecifications

      public void readDesignSpecifications()

      readDesignSpecifications.

      Overrides:
      readDesignSpecifications in class PipelineMechanicalDesign
    • calcDesign

      public void calcDesign()

      calcDesign.

      Overrides:
      calcDesign in class PipelineMechanicalDesign
    • getTopsideCalculator

      public TopsidePipingMechanicalDesignCalculator getTopsideCalculator()
      Get the topside-specific calculator.
      Returns:
      topside calculator
    • 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
    • getServiceType

      public String getServiceType()
      Get service type.
      Returns:
      service type
    • setServiceType

      public void setServiceType(String serviceType)
      Set service type.
      Parameters:
      serviceType - service type
    • getPipeSchedule

      public String getPipeSchedule()
      Get pipe schedule.
      Returns:
      pipe schedule
    • setPipeSchedule

      public void setPipeSchedule(String pipeSchedule)
      Set pipe schedule.
      Parameters:
      pipeSchedule - pipe schedule
    • getMinOperationTemperature

      public double getMinOperationTemperature()
      Get minimum operation temperature.
      Overrides:
      getMinOperationTemperature in class MechanicalDesign
      Returns:
      minimum operation temperature in Kelvin
    • setMinOperationTemperature

      public void setMinOperationTemperature(double minOperationTemperature)
      Set minimum operation temperature.
      Overrides:
      setMinOperationTemperature in class MechanicalDesign
      Parameters:
      minOperationTemperature - minimum operation temperature in Kelvin
    • getInstallationTemperature

      public double getInstallationTemperature()
      Get installation temperature.
      Returns:
      installation temperature in Kelvin
    • setInstallationTemperature

      public void setInstallationTemperature(double installationTemperature)
      Set installation temperature.
      Parameters:
      installationTemperature - installation temperature in Kelvin
    • getNumberOfElbows90

      public int getNumberOfElbows90()
      Get number of 90-degree elbows.
      Returns:
      number of elbows
    • setNumberOfElbows90

      public void setNumberOfElbows90(int numberOfElbows90)
      Set number of 90-degree elbows.
      Parameters:
      numberOfElbows90 - number of elbows
    • getNumberOfTees

      public int getNumberOfTees()
      Get number of tees.
      Returns:
      number of tees
    • setNumberOfTees

      public void setNumberOfTees(int numberOfTees)
      Set number of tees.
      Parameters:
      numberOfTees - number of tees
    • getNumberOfValves

      public int getNumberOfValves()
      Get number of valves.
      Returns:
      number of valves
    • setNumberOfValves

      public void setNumberOfValves(int numberOfValves)
      Set number of valves.
      Parameters:
      numberOfValves - number of valves
    • getCalculatedSupportSpacing

      public double getCalculatedSupportSpacing()
      Get calculated support spacing.
      Returns:
      support spacing in meters
    • getNumberOfSupports

      public int getNumberOfSupports()
      Get number of supports.
      Returns:
      number of supports