Class UmbilicalMechanicalDesign
java.lang.Object
neqsim.process.mechanicaldesign.MechanicalDesign
neqsim.process.mechanicaldesign.subsea.UmbilicalMechanicalDesign
- All Implemented Interfaces:
Serializable
Mechanical design class for Umbilical equipment.
Calculates tube design, cable sizing, and overall umbilical design per:
- API RP 17E - Specification for Subsea Umbilicals
- API Spec 17E - Specification for Subsea Production Control Umbilicals
- ISO 13628-5 - Subsea Umbilicals
- Version:
- 1.0
- Author:
- ESOL
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doubleMinimum bend radius in meters.private doubleCalculated outer diameter in mm.private doubleChemical tube wall thickness in mm.private SubseaCostEstimatorCost estimator.private StringDesign standard code.private doubleEquipment cost in USD.private doubleHydraulic tube wall thickness in mm.private doubleInstallation cost in USD.private doubleMaximum allowable tension in kN.private intRequired armor layers.private static final longSerialization version UID.private doubleTotal estimated cost in USD.private doubleTotal cross-section area in mm².private doubleTotal manhours.private UmbilicalReference to umbilical equipment.private doubleVessel days required.Fields inherited from class MechanicalDesign
costEstimate, designStandard, innerDiameter, maxDesignCv, maxDesignDuty, maxDesignGassVolumeFlow, maxDesignOilVolumeFlow, maxDesignPower, maxDesignPressureDrop, maxDesignVelocity, maxDesignVolumeFlow, maxDesignWaterVolumeFlow, minDesignDuty, minDesignGassVolumeFLow, minDesignOilFLow, minDesignPower, minDesignVolumeFLow, minDesignWaterVolumeFLow, moduleHeight, moduleLength, moduleWidth, outerDiameter, tantanLength, wallThickness, weightElectroInstrument, weightNozzle, weightPiping, weightStructualSteel, weightVessel, weigthInternals, weigthVesselShell -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcalcDesign.private voidCalculate armor requirements.private voidCalculate minimum bend radius.voidCalculate cost estimate for the umbilical.private voidCalculate overall diameter.private voidCalculate tube wall thickness for hydraulic and chemical lines.private voidCalculate weight.Generate bill of materials.doubleGet chemical tube wall thickness.Get cost breakdown.Get design standard code.doubleGet equipment cost USD.doubleGet hydraulic tube wall thickness.doubleGet installation cost USD.doubleGet max allowable tension.intGet required armor layers.doubleGet total cost USD.doubleGet total manhours.doubleGet vessel days.voidreadDesignSpecifications.voidsetDesignStandardCode(String designStandardCode) Set design standard code.voidsetRegion(SubseaCostEstimator.Region region) Set region for cost estimation.toJson()Export mechanical design data to JSON format.toMap()Get design results as Map.Methods inherited from class MechanicalDesign
addDesignDataSource, costEstimateToJson, displayResults, equals, getApplicableStandards, getBareModuleCost, getCompanySpecificDesignStandards, getConstrutionMaterial, getCorrosionAllowance, getCostEstimate, getDefaultLiquidDensity, getDefaultLiquidViscosity, getDesignCorrosionAllowance, getDesignDataSources, getDesignJointEfficiency, getDesignLimitData, getDesignMaxPressureLimit, getDesignMaxTemperatureLimit, getDesignMinPressureLimit, getDesignMinTemperatureLimit, getDesignStandard, getDuty, getGrassRootsCost, getHeatTransferArea, getInnerDiameter, getInstallationManHours, getJointEfficiency, getLastMarginResult, getMaterialDesignStandard, getMaterialPipeDesignStandard, getMaxAllowableStress, getMaxDesignCv, getMaxDesignGassVolumeFlow, getMaxDesignOilVolumeFlow, getMaxDesignPressure, getMaxDesignPressureDrop, getMaxDesignVelocity, getMaxDesignVolumeFlow, getMaxDesignWaterVolumeFlow, getMaxOperationPressure, getMaxOperationTemperature, getMinDesignGassVolumeFLow, getMinDesignOilFLow, getMinDesignPressure, getMinDesignVolumeFLow, getMinDesignWaterVolumeFLow, getMinOperationPressure, getMinOperationTemperature, getModuleHeight, getModuleLength, getModuleWidth, getOuterDiameter, getPower, getPressureMarginFactor, getProcessEquipment, getPurchasedEquipmentCost, getRecommendedStandards, getResponse, getTantanLength, getTensileStrength, getTotalModuleCost, getVolumeTotal, getWallThickness, getWeightElectroInstrument, getWeightNozzle, getWeightPiping, getWeightStructualSteel, getWeightTotal, getWeightVessel, getWeigthInternals, getWeigthVesselShell, hasDesignStandard, hashCode, initMechanicalDesign, isHasSetCompanySpecificDesignStandards, setCompanySpecificDesignStandards, setConstrutionMaterial, setCorrosionAllowance, setCostEstimateCepci, setCostEstimateLocationFactor, setCostEstimateMaterial, setDefaultLiquidDensity, setDefaultLiquidViscosity, setDesign, setDesignDataSource, setDesignDataSources, setDesignStandard, setDesignStandard, setDesignStandard, setDesignStandard, setDesignStandards, setHasSetCompanySpecificDesignStandards, setInnerDiameter, setJointEfficiency, setMaterialDesignStandard, setMaterialPipeDesignStandard, setMaxDesignCv, setMaxDesignDuty, setMaxDesignGassVolumeFlow, setMaxDesignOilVolumeFlow, setMaxDesignPower, setMaxDesignPressureDrop, setMaxDesignVelocity, setMaxDesignVolumeFlow, setMaxDesignWaterVolumeFlow, setMaxOperationPressure, setMaxOperationTemperature, setMinDesignDuty, setMinDesignGassVolumeFLow, setMinDesignOilFLow, setMinDesignPower, setMinDesignVolumeFLow, setMinDesignWaterVolumeFLow, setMinOperationPressure, setMinOperationTemperature, setModuleHeight, setModuleLength, setModuleWidth, setOuterDiameter, setPressureMarginFactor, setProcessEquipment, setTantanLength, setTensileStrength, setWallThickness, setWeightElectroInstrument, setWeightNozzle, setWeightPiping, setWeightStructualSteel, setWeightTotal, setWeightVessel, setWeigthInternals, setWeigthVesselShell, toCompactJson, validateOperatingEnvelope, validateOperatingEnvelope
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version UID.- See Also:
-
umbilical
Reference to umbilical equipment. -
designStandardCode
Design standard code. -
hydraulicTubeWallThickness
private double hydraulicTubeWallThicknessHydraulic tube wall thickness in mm. -
chemicalTubeWallThickness
private double chemicalTubeWallThicknessChemical tube wall thickness in mm. -
maxAllowableTension
private double maxAllowableTensionMaximum allowable tension in kN. -
calculatedMinBendRadius
private double calculatedMinBendRadiusMinimum bend radius in meters. -
requiredArmorLayers
private int requiredArmorLayersRequired armor layers. -
totalCrossSection
private double totalCrossSectionTotal cross-section area in mm². -
calculatedOuterDiameter
private double calculatedOuterDiameterCalculated outer diameter in mm. -
costEstimator
Cost estimator. -
totalCostUSD
private double totalCostUSDTotal estimated cost in USD. -
equipmentCostUSD
private double equipmentCostUSDEquipment cost in USD. -
installationCostUSD
private double installationCostUSDInstallation cost in USD. -
vesselDays
private double vesselDaysVessel days required. -
totalManhours
private double totalManhoursTotal manhours.
-
-
Constructor Details
-
UmbilicalMechanicalDesign
Constructor.- Parameters:
equipment- umbilical equipment instance
-
-
Method Details
-
readDesignSpecifications
public void readDesignSpecifications()readDesignSpecifications.
- Overrides:
readDesignSpecificationsin classMechanicalDesign
-
calcDesign
-
calculateTubeWallThickness
private void calculateTubeWallThickness()Calculate tube wall thickness for hydraulic and chemical lines. -
calculateArmorRequirements
private void calculateArmorRequirements()Calculate armor requirements. -
calculateBendRadius
private void calculateBendRadius()Calculate minimum bend radius. -
calculateOverallDiameter
private void calculateOverallDiameter()Calculate overall diameter. -
calculateWeight
private void calculateWeight()Calculate weight. -
calculateCostEstimate
public void calculateCostEstimate()Calculate cost estimate for the umbilical.- Overrides:
calculateCostEstimatein classMechanicalDesign
-
getCostBreakdown
-
generateBillOfMaterials
Generate bill of materials.- Overrides:
generateBillOfMaterialsin classMechanicalDesign- Returns:
- list of BOM items
-
getTotalCostUSD
public double getTotalCostUSD()Get total cost USD.- Returns:
- total cost
-
getEquipmentCostUSD
public double getEquipmentCostUSD()Get equipment cost USD.- Returns:
- equipment cost
-
getInstallationCostUSD
public double getInstallationCostUSD()Get installation cost USD.- Returns:
- installation cost
-
getVesselDays
public double getVesselDays()Get vessel days.- Returns:
- vessel days
-
getTotalManhours
public double getTotalManhours()Get total manhours.- Returns:
- total manhours
-
setRegion
Set region for cost estimation.- Parameters:
region- cost region
-
toJson
Export mechanical design data to JSON format.This method creates a
MechanicalDesignResponseobject 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:
toJsonin classMechanicalDesign- Returns:
- JSON string representation of the mechanical design
-
toMap
-
getDesignStandardCode
-
setDesignStandardCode
Set design standard code.- Parameters:
designStandardCode- design standard code
-
getHydraulicTubeWallThickness
public double getHydraulicTubeWallThickness()Get hydraulic tube wall thickness.- Returns:
- wall thickness in mm
-
getChemicalTubeWallThickness
public double getChemicalTubeWallThickness()Get chemical tube wall thickness.- Returns:
- wall thickness in mm
-
getMaxAllowableTension
public double getMaxAllowableTension()Get max allowable tension.- Returns:
- tension in kN
-
getRequiredArmorLayers
public int getRequiredArmorLayers()Get required armor layers.- Returns:
- number of armor layers
-