Class Umbilical
java.lang.Object
neqsim.util.NamedBaseClass
neqsim.process.SimulationBaseClass
neqsim.process.equipment.ProcessEquipmentBaseClass
neqsim.process.equipment.subsea.Umbilical
- All Implemented Interfaces:
Serializable, Runnable, ProcessEquipmentInterface, SimulationInterface, NamedInterface
Subsea Umbilical equipment class.
An umbilical is a bundled assembly of tubes, hoses, and cables used to:
- Supply hydraulic fluid for valve actuation
- Supply electrical power for subsea equipment
- Transmit control signals and data
- Inject chemicals (MEG, methanol, scale inhibitor, corrosion inhibitor)
Umbilical Types
- Steel Tube Umbilical (STU): Thermoplastic hoses replaced by steel tubes
- Thermoplastic Hose Umbilical: Traditional design with nylon/PE hoses
- Integrated Production Umbilical (IPU): Combined with small bore production
- Electro-Hydraulic: Combines hydraulic and electrical functions
Design Standards
- API RP 17E - Specification for Subsea Umbilicals
- API Spec 17E - Specification for Subsea Production Control Umbilicals
- ISO 13628-5 - Subsea Umbilicals
- DNV-ST-F101 - Submarine Pipeline Systems (for steel tubes)
Usage Example
// Create steel tube umbilical
Umbilical umbilical = new Umbilical("Main Umbilical");
umbilical.setUmbilicalType(Umbilical.UmbilicalType.STEEL_TUBE);
umbilical.setLength(25000.0); // 25 km
umbilical.setWaterDepth(450.0);
// Add functional elements
umbilical.addHydraulicLine("LP Hydraulic", 12.7, 345.0);
umbilical.addHydraulicLine("HP Hydraulic", 9.5, 690.0);
umbilical.addChemicalLine("MEG", 25.4, 150.0);
umbilical.addElectricalCable("Power", 3, 6600.0);
umbilical.addFiberOptic("Control", 12);
// Get mechanical design
UmbilicalMechanicalDesign design = umbilical.getMechanicalDesign();
design.calcDesign();
- Version:
- 1.0
- Author:
- ESOL
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumUmbilical cross-section configuration.static classFunctional element in umbilical.static enumUmbilical construction type. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate StringArmor wire material.private intNumber of chemical injection lines.private Umbilical.CrossSectionTypeCross-section type.private doubleDry weight per meter in kg/m.private intNumber of electrical cables.private List<Umbilical.UmbilicalElement> List of umbilical elements.private intNumber of fiber optic cables.private booleanWhether has armor wires.private intNumber of hydraulic lines.private StringInstallation method.private StringInstallation vessel type.private doubleUmbilical length in meters.private doubleMaximum installation tension in kN.private UmbilicalMechanicalDesignMechanical design instance.private doubleMinimum bend radius in meters.private StringOuter sheath material.private doubleOuter sheath thickness in mm.private doubleOverall outer diameter in mm.private static final longSerialization version UID.private doubleSubmerged weight per meter in kg/m.private Umbilical.UmbilicalTypeUmbilical type.private doubleWater depth in meters.Fields inherited from class ProcessEquipmentBaseClass
conditionAnalysisMessage, energyStream, hasController, isSolved, properties, reportFields inherited from class SimulationBaseClass
calcIdentifier, calculateSteadyState, timeFields inherited from class NamedBaseClass
name -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddChemicalLine(String name, double innerDiameterMm, double designPressureBar) Add chemical injection line.voidaddElectricalCable(String name, int numberOfCores, double voltageRating) Add electrical power/signal cable.voidaddFiberOptic(String name, int numberOfFibers) Add fiber optic cable.voidaddHydraulicLine(String name, double innerDiameterMm, double designPressureBar) Add hydraulic control line.doubleCalculate total cross-sectional area.private voidCalculate weights based on elements and construction.doubleEstimate overall diameter based on elements.Get armor wire material.intGet chemical line count.Get cross-section type.doubleGet dry weight per meter.intGet electrical cable count.Get elements.intGet fiber optic count.intGet hydraulic line count.Get installation method.doubleGet umbilical length.doubleGet maximum installation tension.Get mechanical design.doubleGet minimum bend radius.Get outer sheath material.doubleGet outer sheath thickness.doubleGet overall outer diameter.doubleGet submerged weight per meter.intGet total number of elements.Get umbilical type.doubleGet water depth.booleanCheck if has armor wires.voidInitialize mechanical design.voidIn this method all thermodynamic and unit operations will be calculated in a steady state calculation.voidsetArmorWireMaterial(String armorWireMaterial) Set armor wire material.voidsetCrossSectionType(Umbilical.CrossSectionType crossSectionType) Set cross-section type.voidsetHasArmorWires(boolean hasArmorWires) Set whether has armor wires.voidsetInstallationMethod(String installationMethod) Set installation method.voidsetLength(double length) Set umbilical length.voidsetMaxInstallationTensionKN(double maxInstallationTensionKN) Set maximum installation tension.voidsetMinimumBendRadius(double minimumBendRadius) Set minimum bend radius.voidsetOuterSheathMaterial(String outerSheathMaterial) Set outer sheath material.voidsetOuterSheathThicknessMm(double outerSheathThicknessMm) Set outer sheath thickness.voidsetOverallDiameterMm(double overallDiameterMm) Set overall outer diameter.voidsetUmbilicalType(Umbilical.UmbilicalType umbilicalType) Set umbilical type.voidsetWaterDepth(double waterDepth) Set water depth.Methods inherited from class ProcessEquipmentBaseClass
copy, displayResult, equals, getConditionAnalysisMessage, getController, getEffectiveCapacityFactor, getEnergyStream, getEntropyProduction, getExergyChange, getFailureMode, getMassBalance, getMassBalance, getMinimumFlow, getPressure, getPressure, getProperty, getReport_json, getResultTable, getSpecification, getTemperature, getTemperature, getThermoSystem, hashCode, isActive, isActive, isCapacityAnalysisEnabled, isFailed, isSetEnergyStream, reportResults, restoreFromFailure, run_step, runConditionAnalysis, setCapacityAnalysisEnabled, setController, setEnergyStream, setEnergyStream, setFailureMode, setFlowValveController, setMinimumFlow, setPressure, setRegulatorOutSignal, setSpecification, setTemperature, simulateDegradedOperation, simulateTrip, solved, toJson, toJsonMethods inherited from class SimulationBaseClass
getCalculateSteadyState, getCalculationIdentifier, getTime, increaseTime, isRunInSteps, setCalculateSteadyState, setCalculationIdentifier, setRunInSteps, setTimeMethods inherited from class NamedBaseClass
getName, getTagName, setName, setTagNameMethods inherited from class Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface NamedInterface
getName, getTagName, setName, setTagNameMethods inherited from interface ProcessEquipmentInterface
getCapacityDuty, getCapacityMax, getExergyChange, getFluid, getOperatingEnvelopeViolation, getRestCapacity, getSimulationValidationErrors, isSimulationValid, isWithinOperatingEnvelope, needRecalculation, validateSetupMethods inherited from interface SimulationInterface
getCalculateSteadyState, getCalculationIdentifier, getTime, increaseTime, isRunInSteps, run, run_step, runTransient, runTransient, setCalculateSteadyState, setCalculationIdentifier, setRunInSteps, setTime
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version UID.- See Also:
-
umbilicalType
Umbilical type. -
crossSectionType
Cross-section type. -
waterDepth
private double waterDepthWater depth in meters. -
length
private double lengthUmbilical length in meters. -
overallDiameterMm
private double overallDiameterMmOverall outer diameter in mm. -
elements
List of umbilical elements. -
hydraulicLineCount
private int hydraulicLineCountNumber of hydraulic lines. -
chemicalLineCount
private int chemicalLineCountNumber of chemical injection lines. -
electricalCableCount
private int electricalCableCountNumber of electrical cables. -
fiberOpticCount
private int fiberOpticCountNumber of fiber optic cables. -
outerSheathMaterial
Outer sheath material. -
outerSheathThicknessMm
private double outerSheathThicknessMmOuter sheath thickness in mm. -
hasArmorWires
private boolean hasArmorWiresWhether has armor wires. -
armorWireMaterial
Armor wire material. -
installationMethod
Installation method. -
installationVessel
Installation vessel type. -
maxInstallationTensionKN
private double maxInstallationTensionKNMaximum installation tension in kN. -
dryWeightPerMeter
private double dryWeightPerMeterDry weight per meter in kg/m. -
submergedWeightPerMeter
private double submergedWeightPerMeterSubmerged weight per meter in kg/m. -
minimumBendRadius
private double minimumBendRadiusMinimum bend radius in meters. -
mechanicalDesign
Mechanical design instance.
-
-
Constructor Details
-
Umbilical
public Umbilical()Default constructor. -
Umbilical
-
-
Method Details
-
addHydraulicLine
Add hydraulic control line.- Parameters:
name- line name/functioninnerDiameterMm- inner diameter in mmdesignPressureBar- design pressure in bar
-
addChemicalLine
Add chemical injection line.- Parameters:
name- chemical name (MEG, MeOH, Scale Inhibitor, etc.)innerDiameterMm- inner diameter in mmdesignPressureBar- design pressure in bar
-
addElectricalCable
Add electrical power/signal cable.- Parameters:
name- cable name/functionnumberOfCores- number of conductor coresvoltageRating- voltage rating in V
-
addFiberOptic
Add fiber optic cable.- Parameters:
name- cable name/functionnumberOfFibers- number of optical fibers
-
getTotalElementCount
public int getTotalElementCount()Get total number of elements.- Returns:
- total element count
-
calculateTotalCrossSection
public double calculateTotalCrossSection()Calculate total cross-sectional area.- Returns:
- total cross-sectional area in mm²
-
estimateOverallDiameter
public double estimateOverallDiameter()Estimate overall diameter based on elements.- Returns:
- estimated overall diameter in mm
-
run
In this method all thermodynamic and unit operations will be calculated in a steady state calculation.
- Parameters:
id- UUID
-
calculateWeights
private void calculateWeights()Calculate weights based on elements and construction. -
getMechanicalDesign
Get mechanical design.- Specified by:
getMechanicalDesignin interfaceProcessEquipmentInterface- Overrides:
getMechanicalDesignin classProcessEquipmentBaseClass- Returns:
- mechanical design instance
-
initMechanicalDesign
public void initMechanicalDesign()Initialize mechanical design.- Specified by:
initMechanicalDesignin interfaceProcessEquipmentInterface- Overrides:
initMechanicalDesignin classProcessEquipmentBaseClass
-
getUmbilicalType
-
setUmbilicalType
Set umbilical type.- Parameters:
umbilicalType- umbilical type
-
getCrossSectionType
Get cross-section type.- Returns:
- cross-section type
-
setCrossSectionType
Set cross-section type.- Parameters:
crossSectionType- cross-section type
-
getWaterDepth
public double getWaterDepth()Get water depth.- Returns:
- water depth in meters
-
setWaterDepth
public void setWaterDepth(double waterDepth) Set water depth.- Parameters:
waterDepth- water depth in meters
-
getLength
public double getLength()Get umbilical length.- Returns:
- length in meters
-
setLength
public void setLength(double length) Set umbilical length.- Parameters:
length- length in meters
-
getOverallDiameterMm
public double getOverallDiameterMm()Get overall outer diameter.- Returns:
- overall diameter in mm
-
setOverallDiameterMm
public void setOverallDiameterMm(double overallDiameterMm) Set overall outer diameter.- Parameters:
overallDiameterMm- overall diameter in mm
-
getElements
Get elements.- Returns:
- list of umbilical elements
-
getHydraulicLineCount
public int getHydraulicLineCount()Get hydraulic line count.- Returns:
- number of hydraulic lines
-
getChemicalLineCount
public int getChemicalLineCount()Get chemical line count.- Returns:
- number of chemical injection lines
-
getElectricalCableCount
public int getElectricalCableCount()Get electrical cable count.- Returns:
- number of electrical cables
-
getFiberOpticCount
public int getFiberOpticCount()Get fiber optic count.- Returns:
- number of fiber optic cables
-
getOuterSheathMaterial
-
setOuterSheathMaterial
Set outer sheath material.- Parameters:
outerSheathMaterial- outer sheath material
-
hasArmorWires
public boolean hasArmorWires()Check if has armor wires.- Returns:
- true if has armor
-
setHasArmorWires
public void setHasArmorWires(boolean hasArmorWires) Set whether has armor wires.- Parameters:
hasArmorWires- true to include armor
-
getArmorWireMaterial
-
setArmorWireMaterial
Set armor wire material.- Parameters:
armorWireMaterial- armor wire material
-
getInstallationMethod
-
setInstallationMethod
Set installation method.- Parameters:
installationMethod- installation method (Carousel, Reel, etc.)
-
getDryWeightPerMeter
public double getDryWeightPerMeter()Get dry weight per meter.- Returns:
- dry weight in kg/m
-
getSubmergedWeightPerMeter
public double getSubmergedWeightPerMeter()Get submerged weight per meter.- Returns:
- submerged weight in kg/m
-
getMinimumBendRadius
public double getMinimumBendRadius()Get minimum bend radius.- Returns:
- minimum bend radius in meters
-
setMinimumBendRadius
public void setMinimumBendRadius(double minimumBendRadius) Set minimum bend radius.- Parameters:
minimumBendRadius- minimum bend radius in meters
-
getMaxInstallationTensionKN
public double getMaxInstallationTensionKN()Get maximum installation tension.- Returns:
- maximum tension in kN
-
setMaxInstallationTensionKN
public void setMaxInstallationTensionKN(double maxInstallationTensionKN) Set maximum installation tension.- Parameters:
maxInstallationTensionKN- maximum tension in kN
-
getOuterSheathThicknessMm
public double getOuterSheathThicknessMm()Get outer sheath thickness.- Returns:
- outer sheath thickness in mm
-
setOuterSheathThicknessMm
public void setOuterSheathThicknessMm(double outerSheathThicknessMm) Set outer sheath thickness.- Parameters:
outerSheathThicknessMm- outer sheath thickness in mm
-