Class FlexiblePipeMechanicalDesign
java.lang.Object
neqsim.process.mechanicaldesign.MechanicalDesign
neqsim.process.mechanicaldesign.subsea.FlexiblePipeMechanicalDesign
- All Implemented Interfaces:
Serializable
Mechanical design class for Flexible Pipe equipment.
Calculates layer design, tensile capacity, and bend radius requirements per:
- API RP 17B - Recommended Practice for Flexible Pipe
- API Spec 17J - Specification for Unbonded Flexible Pipe
- API Spec 17K - Specification for Bonded Flexible Pipe
- DNV-ST-F201 - Dynamic Risers
- Version:
- 1.0
- Author:
- ESOL
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doubleCalculated minimum bend radius in meters.private doubleCarcass thickness in mm.private SubseaCostEstimatorCost estimator.private intDesign life in years.private StringDesign standard code.private doubleEquipment cost in USD.private doubleFatigue life cycles.private FlexiblePipeReference to flexible pipe equipment.private doubleInstallation cost in USD.private doubleInternal sheath thickness in mm.private doublePressure armor thickness in mm.private doubleRequired burst pressure in bar.private doubleRequired collapse pressure in bar.private doubleRequired tensile capacity in kN.private static final longSerialization version UID.private doubleStorage bend radius in meters.private doubleTensile armor wire size in mm.private doubleTotal estimated cost in USD.private doubleTotal manhours.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
ConstructorsConstructorDescriptionConstructor. -
Method Summary
Modifier and TypeMethodDescriptionvoidcalcDesign.private voidCalculate bend radius requirements.voidCalculate cost estimate for the flexible pipe.private voidCalculate fatigue life.private voidCalculate layer thicknesses.private voidCalculate pressure capacity requirements.private voidCalculate tensile capacity requirements.private voidCalculate weight.Generate bill of materials.doubleGet calculated MBR.Get cost breakdown.Get design standard code.doubleGet equipment cost USD.doubleGet installation cost USD.doubleGet required burst pressure.doubleGet required tensile capacity.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:
-
flexPipe
Reference to flexible pipe equipment. -
designStandardCode
Design standard code. -
requiredBurstPressure
private double requiredBurstPressureRequired burst pressure in bar. -
requiredCollapsePressure
private double requiredCollapsePressureRequired collapse pressure in bar. -
requiredTensileCapacity
private double requiredTensileCapacityRequired tensile capacity in kN. -
carcassThickness
private double carcassThicknessCarcass thickness in mm. -
internalSheathThickness
private double internalSheathThicknessInternal sheath thickness in mm. -
pressureArmorThickness
private double pressureArmorThicknessPressure armor thickness in mm. -
tensileArmorWireSize
private double tensileArmorWireSizeTensile armor wire size in mm. -
calculatedMBR
private double calculatedMBRCalculated minimum bend radius in meters. -
storageMBR
private double storageMBRStorage bend radius in meters. -
designLife
private int designLifeDesign life in years. -
fatigueLifeCycles
private double fatigueLifeCyclesFatigue life cycles. -
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
-
FlexiblePipeMechanicalDesign
Constructor.- Parameters:
equipment- flexible pipe equipment instance
-
-
Method Details
-
readDesignSpecifications
public void readDesignSpecifications()readDesignSpecifications.
- Overrides:
readDesignSpecificationsin classMechanicalDesign
-
calcDesign
-
calculatePressureCapacity
private void calculatePressureCapacity()Calculate pressure capacity requirements. -
calculateTensileCapacity
private void calculateTensileCapacity()Calculate tensile capacity requirements. -
calculateLayerThickness
private void calculateLayerThickness()Calculate layer thicknesses. -
calculateBendRadius
private void calculateBendRadius()Calculate bend radius requirements. -
calculateFatigueLife
private void calculateFatigueLife()Calculate fatigue life. -
calculateWeight
private void calculateWeight()Calculate weight. -
calculateCostEstimate
public void calculateCostEstimate()Calculate cost estimate for the flexible pipe.- 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
-
getRequiredBurstPressure
public double getRequiredBurstPressure()Get required burst pressure.- Returns:
- burst pressure in bar
-
getRequiredTensileCapacity
public double getRequiredTensileCapacity()Get required tensile capacity.- Returns:
- tensile capacity in kN
-
getCalculatedMBR
public double getCalculatedMBR()Get calculated MBR.- Returns:
- MBR in meters
-