Class ManifoldMechanicalDesignCalculator

java.lang.Object
neqsim.process.mechanicaldesign.manifold.ManifoldMechanicalDesignCalculator
All Implemented Interfaces:
Serializable

public class ManifoldMechanicalDesignCalculator extends Object implements Serializable
Calculator for manifold mechanical design based on industry standards.

This class provides methods to calculate wall thickness, velocity limits, support design, vibration analysis, and structural analysis for manifolds including:

  • Topside manifolds (offshore platforms)
  • Onshore manifolds (process facilities)
  • Subsea manifolds (production and injection)

Design standards applied:

  • ASME B31.3 - Process Piping (topside/onshore)
  • DNV-ST-F101 - Submarine Pipeline Systems (subsea)
  • API RP 14E - Erosional Velocity
  • NORSOK L-002 - Piping System Layout
  • API RP 17A - Subsea Production Systems
  • DNV-RP-F112 - Duplex Stainless Steel
Version:
1.0
Author:
ASMF
See Also:
  • Field Details

    • serialVersionUID

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

      public static final String ASME_B31_3
      ASME B31.3 Process Piping.
      See Also:
    • DNV_ST_F101

      public static final String DNV_ST_F101
      DNV-ST-F101 Submarine Pipeline Systems.
      See Also:
    • NORSOK_L002

      public static final String NORSOK_L002
      NORSOK L-002 Piping System Layout.
      See Also:
    • API_RP_17A

      public static final String API_RP_17A
      API RP 17A Subsea Production Systems.
      See Also:
    • location

      Manifold location type (TOPSIDE, ONSHORE, SUBSEA).
    • manifoldType

      Manifold type (PRODUCTION, INJECTION, TEST, PIGGING).
    • numberOfInlets

      private int numberOfInlets
      Number of inlet headers.
    • numberOfOutlets

      private int numberOfOutlets
      Number of outlet headers.
    • numberOfValves

      private int numberOfValves
      Number of valves on manifold.
    • hasPigging

      private boolean hasPigging
      Has pig launcher/receiver capability.
    • headerOuterDiameter

      private double headerOuterDiameter
      Header pipe outer diameter in meters.
    • headerWallThickness

      private double headerWallThickness
      Header pipe wall thickness in meters.
    • branchOuterDiameter

      private double branchOuterDiameter
      Branch pipe outer diameter in meters.
    • branchWallThickness

      private double branchWallThickness
      Branch pipe wall thickness in meters.
    • headerLength

      private double headerLength
      Header length in meters.
    • overallLength

      private double overallLength
      Manifold overall length in meters.
    • overallWidth

      private double overallWidth
      Manifold overall width in meters.
    • overallHeight

      private double overallHeight
      Manifold overall height in meters.
    • designPressure

      private double designPressure
      Design pressure in MPa.
    • designTemperature

      private double designTemperature
      Design temperature in Celsius.
    • minDesignTemperature

      private double minDesignTemperature
      Minimum design temperature in Celsius.
    • operatingPressure

      private double operatingPressure
      Operating pressure in MPa.
    • testPressure

      private double testPressure
      Test pressure in MPa.
    • waterDepth

      private double waterDepth
      Water depth for subsea in meters.
    • externalPressure

      private double externalPressure
      External pressure at seabed in MPa.
    • materialGrade

      private String materialGrade
      Material grade.
    • smys

      private double smys
      Specified Minimum Yield Strength in MPa.
    • smts

      private double smts
      Specified Minimum Tensile Strength in MPa.
    • youngsModulus

      private double youngsModulus
      Young's modulus in GPa.
    • steelDensity

      private double steelDensity
      Steel density in kg/m3.
    • thermalExpansion

      private double thermalExpansion
      Thermal expansion coefficient in 1/°C.
    • designFactor

      private double designFactor
      Design factor (0.72 typical).
    • jointEfficiency

      private double jointEfficiency
      Weld joint efficiency.
    • corrosionAllowance

      private double corrosionAllowance
      Corrosion allowance in meters.
    • fabricationTolerance

      private double fabricationTolerance
      Fabrication tolerance factor.
    • safetyClassFactor

      private double safetyClassFactor
      Safety class factor (for subsea).
    • erosionalCFactor

      private double erosionalCFactor
      Erosional C-factor.
    • maxGasVelocity

      private double maxGasVelocity
      Maximum gas velocity in m/s.
    • maxLiquidVelocity

      private double maxLiquidVelocity
      Maximum liquid velocity in m/s.
    • maxMultiphaseVelocity

      private double maxMultiphaseVelocity
      Maximum multiphase velocity in m/s.
    • mixtureDensity

      private double mixtureDensity
      Mixture density in kg/m3.
    • massFlowRate

      private double massFlowRate
      Mass flow rate in kg/s.
    • liquidFraction

      private double liquidFraction
      Liquid volume fraction (0-1).
    • minHeaderWallThickness

      private double minHeaderWallThickness
      Minimum required header wall thickness in meters.
    • minBranchWallThickness

      private double minBranchWallThickness
      Minimum required branch wall thickness in meters.
    • headerHoopStress

      private double headerHoopStress
      Hoop stress in header in MPa.
    • allowableStress

      private double allowableStress
      Allowable stress in MPa.
    • headerVelocity

      private double headerVelocity
      Header flow velocity in m/s.
    • branchVelocity

      private double branchVelocity
      Branch flow velocity in m/s.
    • erosionalVelocity

      private double erosionalVelocity
      Erosional velocity in m/s.
    • reinforcementRequired

      private boolean reinforcementRequired
      Reinforcement required at branch connections.
    • reinforcementPadThickness

      private double reinforcementPadThickness
      Reinforcement pad thickness in meters.
    • totalDryWeight

      private double totalDryWeight
      Total dry weight in kg.
    • submergedWeight

      private double submergedWeight
      Total submerged weight in kg/m (for subsea).
    • supportSpacing

      private double supportSpacing
      Support spacing in meters.
    • numberOfSupports

      private int numberOfSupports
      Number of supports required.
    • acousticPowerLevel

      private double acousticPowerLevel
      Acoustic power level in W.
    • aivLikelihoodOfFailure

      private double aivLikelihoodOfFailure
      AIV likelihood of failure (0-1).
    • naturalFrequency

      private double naturalFrequency
      Natural frequency of header in Hz.
    • vortexSheddingFrequency

      private double vortexSheddingFrequency
      Vortex shedding frequency in Hz.
    • velocityCheckPassed

      private boolean velocityCheckPassed
      Velocity check passed.
    • wallThicknessCheckPassed

      private boolean wallThicknessCheckPassed
      Wall thickness check passed.
    • reinforcementCheckPassed

      private boolean reinforcementCheckPassed
      Reinforcement check passed.
    • vibrationCheckPassed

      private boolean vibrationCheckPassed
      Vibration check passed.
    • appliedStandards

      private List<String> appliedStandards
      List of applied standards.
    • ASME_ALLOWABLE_STRESSES

      private static final Map<String,double[]> ASME_ALLOWABLE_STRESSES
    • SUBSEA_MATERIAL_PROPERTIES

      private static final Map<String,double[]> SUBSEA_MATERIAL_PROPERTIES
  • Constructor Details

    • ManifoldMechanicalDesignCalculator

      public ManifoldMechanicalDesignCalculator()
      Default constructor.
  • Method Details

    • calculateMinimumWallThickness

      public double calculateMinimumWallThickness()
      Calculate minimum wall thickness based on location and design code.
      Returns:
      minimum wall thickness in meters
    • calculateWallThicknessASME

      public double calculateWallThicknessASME()
      Calculate wall thickness per ASME B31.3.
      Returns:
      minimum wall thickness in meters
    • calculateWallThicknessDNV

      public double calculateWallThicknessDNV()
      Calculate wall thickness per DNV-ST-F101 for subsea.
      Returns:
      minimum wall thickness in meters
    • calculateBranchWallThickness

      public double calculateBranchWallThickness()
      Calculate branch pipe wall thickness.
      Returns:
      minimum branch wall thickness in meters
    • calculateBranchReinforcement

      public double calculateBranchReinforcement()
      Calculate branch connection reinforcement per ASME B31.3.
      Returns:
      required reinforcement area in m2
    • calculateErosionalVelocity

      public double calculateErosionalVelocity()
      Calculate erosional velocity per API RP 14E.
      Returns:
      erosional velocity in m/s
    • calculateHeaderVelocity

      public double calculateHeaderVelocity()
      Calculate header flow velocity.
      Returns:
      header velocity in m/s
    • calculateBranchVelocity

      public double calculateBranchVelocity()
      Calculate branch flow velocity.
      Returns:
      branch velocity in m/s (per branch)
    • checkVelocityLimits

      public boolean checkVelocityLimits()
      Check velocity limits.
      Returns:
      true if velocities are acceptable
    • calculateAllowableStress

      public double calculateAllowableStress()
      Calculate allowable stress.
      Returns:
      allowable stress in MPa
    • calculateHoopStress

      public double calculateHoopStress()
      Calculate hoop stress in header.
      Returns:
      hoop stress in MPa
    • calculateSupportSpacing

      public double calculateSupportSpacing()
      Calculate support spacing for manifold.
      Returns:
      recommended support spacing in meters
    • calculateAcousticPowerLevel

      public double calculateAcousticPowerLevel(double upstreamPressure, double downstreamPressure)
      Calculate acoustic power level for AIV screening.
      Parameters:
      upstreamPressure - upstream pressure in bara
      downstreamPressure - downstream pressure in bara
      Returns:
      acoustic power level in W
    • calculateNaturalFrequency

      public double calculateNaturalFrequency()
      Calculate natural frequency of header pipe.
      Returns:
      natural frequency in Hz
    • calculateDryWeight

      public double calculateDryWeight()
      Calculate total dry weight of manifold.
      Returns:
      dry weight in kg
    • calculateSubmergedWeight

      public double calculateSubmergedWeight()
      Calculate submerged weight for subsea manifold.
      Returns:
      submerged weight in kg
    • performDesignVerification

      public boolean performDesignVerification()
      Perform complete design verification.
      Returns:
      true if all checks pass
    • toMap

      public Map<String,Object> toMap()
      Convert results to Map for JSON serialization.
      Returns:
      map of all calculated values
    • toJson

      public String toJson()
      Convert to JSON string.
      Returns:
      JSON string
    • getLocation

    • setLocation

      public void setLocation(ManifoldMechanicalDesignCalculator.ManifoldLocation location)
    • getManifoldType

    • setManifoldType

      public void setManifoldType(ManifoldMechanicalDesignCalculator.ManifoldType manifoldType)
    • getNumberOfInlets

      public int getNumberOfInlets()
    • setNumberOfInlets

      public void setNumberOfInlets(int numberOfInlets)
    • getNumberOfOutlets

      public int getNumberOfOutlets()
    • setNumberOfOutlets

      public void setNumberOfOutlets(int numberOfOutlets)
    • getNumberOfValves

      public int getNumberOfValves()
    • setNumberOfValves

      public void setNumberOfValves(int numberOfValves)
    • getHeaderOuterDiameter

      public double getHeaderOuterDiameter()
    • setHeaderOuterDiameter

      public void setHeaderOuterDiameter(double headerOuterDiameter)
    • getHeaderWallThickness

      public double getHeaderWallThickness()
    • setHeaderWallThickness

      public void setHeaderWallThickness(double headerWallThickness)
    • getBranchOuterDiameter

      public double getBranchOuterDiameter()
    • setBranchOuterDiameter

      public void setBranchOuterDiameter(double branchOuterDiameter)
    • getBranchWallThickness

      public double getBranchWallThickness()
    • setBranchWallThickness

      public void setBranchWallThickness(double branchWallThickness)
    • getDesignPressure

      public double getDesignPressure()
    • setDesignPressure

      public void setDesignPressure(double designPressure)
    • getDesignTemperature

      public double getDesignTemperature()
    • setDesignTemperature

      public void setDesignTemperature(double designTemperature)
    • getWaterDepth

      public double getWaterDepth()
    • setWaterDepth

      public void setWaterDepth(double waterDepth)
    • getMaterialGrade

      public String getMaterialGrade()
    • setMaterialGrade

      public void setMaterialGrade(String materialGrade)
    • getSmys

      public double getSmys()
    • setSmys

      public void setSmys(double smys)
    • getSmts

      public double getSmts()
    • setSmts

      public void setSmts(double smts)
    • getDesignFactor

      public double getDesignFactor()
    • setDesignFactor

      public void setDesignFactor(double designFactor)
    • getJointEfficiency

      public double getJointEfficiency()
    • setJointEfficiency

      public void setJointEfficiency(double jointEfficiency)
    • getCorrosionAllowance

      public double getCorrosionAllowance()
    • setCorrosionAllowance

      public void setCorrosionAllowance(double corrosionAllowance)
    • getErosionalCFactor

      public double getErosionalCFactor()
    • setErosionalCFactor

      public void setErosionalCFactor(double erosionalCFactor)
    • getMassFlowRate

      public double getMassFlowRate()
    • setMassFlowRate

      public void setMassFlowRate(double massFlowRate)
    • getMixtureDensity

      public double getMixtureDensity()
    • setMixtureDensity

      public void setMixtureDensity(double mixtureDensity)
    • getLiquidFraction

      public double getLiquidFraction()
    • setLiquidFraction

      public void setLiquidFraction(double liquidFraction)
    • getHeaderLength

      public double getHeaderLength()
    • setHeaderLength

      public void setHeaderLength(double headerLength)
    • getOverallLength

      public double getOverallLength()
    • setOverallLength

      public void setOverallLength(double overallLength)
    • getOverallWidth

      public double getOverallWidth()
    • setOverallWidth

      public void setOverallWidth(double overallWidth)
    • getOverallHeight

      public double getOverallHeight()
    • setOverallHeight

      public void setOverallHeight(double overallHeight)
    • getMinHeaderWallThickness

      public double getMinHeaderWallThickness()
    • getMinBranchWallThickness

      public double getMinBranchWallThickness()
    • getAllowableStress

      public double getAllowableStress()
    • getHeaderVelocity

      public double getHeaderVelocity()
    • getBranchVelocity

      public double getBranchVelocity()
    • getErosionalVelocity

      public double getErosionalVelocity()
    • isVelocityCheckPassed

      public boolean isVelocityCheckPassed()
    • isWallThicknessCheckPassed

      public boolean isWallThicknessCheckPassed()
    • isReinforcementCheckPassed

      public boolean isReinforcementCheckPassed()
    • isReinforcementRequired

      public boolean isReinforcementRequired()
    • getReinforcementPadThickness

      public double getReinforcementPadThickness()
    • getTotalDryWeight

      public double getTotalDryWeight()
    • getSubmergedWeight

      public double getSubmergedWeight()
    • getSupportSpacing

      public double getSupportSpacing()
    • getNumberOfSupports

      public int getNumberOfSupports()
    • getAppliedStandards

      public List<String> getAppliedStandards()
    • setSafetyClassFactor

      public void setSafetyClassFactor(double safetyClassFactor)
    • getSafetyClassFactor

      public double getSafetyClassFactor()
    • setHasPigging

      public void setHasPigging(boolean hasPigging)
    • isHasPigging

      public boolean isHasPigging()