Class SubseaJumper
java.lang.Object
neqsim.util.NamedBaseClass
neqsim.process.SimulationBaseClass
neqsim.process.equipment.ProcessEquipmentBaseClass
neqsim.process.equipment.TwoPortEquipment
neqsim.process.equipment.subsea.SubseaJumper
- All Implemented Interfaces:
Serializable, Runnable, ProcessEquipmentInterface, TwoPortInterface, SimulationInterface, NamedInterface
Subsea Jumper equipment class.
A subsea jumper is a short section of pipe used to connect subsea equipment such as:
- Well to manifold connections
- Manifold to PLET connections
- PLET to flowline connections
- Christmas tree to manifold connections
Jumper Types
- Rigid Jumper: Steel pipe, typically M-shaped or inverted-U configuration
- Flexible Jumper: Unbonded flexible pipe for dynamic or static applications
- Hybrid Jumper: Combination of rigid and flexible sections
Design Standards
- API RP 17G - Subsea Production System Design
- API RP 17B - Recommended Practice for Flexible Pipe
- DNV-ST-F101 - Submarine Pipeline Systems
- DNV-OS-F201 - Dynamic Risers
Usage Example
// Create rigid jumper from well to manifold
SubseaJumper jumper = new SubseaJumper("Well-1 Jumper", wellStream);
jumper.setJumperType(SubseaJumper.JumperType.RIGID_M_SHAPE);
jumper.setNominalBoreInches(6.0);
jumper.setLength(50.0);
jumper.setDesignPressure(350.0);
jumper.run();
// Get mechanical design
SubseaJumperMechanicalDesign design = jumper.getMechanicalDesign();
design.calcDesign();
- Version:
- 1.0
- Author:
- ESOL
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumConnection hub type.static enumJumper type configurations. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doubleContent weight in tonnes.private doubleDesign pressure in bara.private doubleDesign temperature in Celsius.private doubleDry weight in tonnes.private doubleMinimum bend radius for flexible in meters.private StringFlexible pipe structure type.private doubleHorizontal span in meters.private doubleInlet hub size in inches.private SubseaJumper.HubTypeInlet hub type.private StringInstallation method.private SubseaJumper.JumperTypeJumper type.private doubleJumper length in meters.private StringMaterial grade (e.g., X65, 316L, 6Mo).private doubleMaximum curvature for flexible.private SubseaJumperMechanicalDesignMechanical design instance.private doubleMinimum bend radius in meters.private doubleNominal bore size in inches.private intNumber of bends.private doubleOuter diameter in inches.private doubleOutlet hub size in inches.private SubseaJumper.HubTypeOutlet hub type.private booleanWhether retrievable.private booleanWhether installed by ROV.private static final longSerialization version UID.private doubleSubmerged weight in tonnes.private doubleVertical rise in meters.private doubleWall thickness in mm.private doubleWater depth in meters.Fields inherited from class TwoPortEquipment
inStream, outStreamFields inherited from class ProcessEquipmentBaseClass
conditionAnalysisMessage, energyStream, hasController, isSolved, properties, reportFields inherited from class SimulationBaseClass
calcIdentifier, calculateSteadyState, timeFields inherited from class NamedBaseClass
name -
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor.SubseaJumper(String name) Constructor with name.SubseaJumper(String name, StreamInterface inStream) Constructor with name and inlet stream. -
Method Summary
Modifier and TypeMethodDescriptionprivate doubleCalculate pressure drop through jumper.static SubseaJumpercreateFlexibleStatic(String name, StreamInterface inStream, double length) Create flexible static jumper.static SubseaJumpercreateRigidMShape(String name, StreamInterface inStream, double length) Create rigid M-shaped jumper.doubleGet design pressure.doubleGet design temperature.doubleGet dry weight.doubleGet flexible minimum bend radius.Get flexible pipe structure type.doubleGet horizontal span.doubleGet inlet hub size.Get inlet hub type.Get installation method.Get jumper type.doubleGet jumper length.Get material grade.Get mechanical design.doubleGet minimum bend radius.doubleGet nominal bore size.intGet number of bends.doubleGet outer diameter.doubleGet outlet hub size.Get outlet hub type.doubleGet submerged weight.doubleGet vertical rise.doubleGet wall thickness.doubleGet water depth.voidInitialize mechanical design.booleanCheck if jumper type is flexible.booleanCheck if retrievable.booleanisRigid()Check if jumper type is rigid.booleanCheck if ROV installed.voidIn this method all thermodynamic and unit operations will be calculated in a steady state calculation.voidsetDesignPressure(double designPressure) Set design pressure.voidsetDesignTemperature(double designTemperature) Set design temperature.voidsetDryWeight(double dryWeight) Set dry weight.voidsetFlexibleMinBendRadius(double flexibleMinBendRadius) Set flexible minimum bend radius.voidsetFlexibleStructure(String flexibleStructure) Set flexible pipe structure type.voidsetHorizontalSpan(double horizontalSpan) Set horizontal span.voidsetInletHubSizeInches(double inletHubSizeInches) Set inlet hub size.voidsetInletHubType(SubseaJumper.HubType inletHubType) Set inlet hub type.voidsetInstallationMethod(String installationMethod) Set installation method.voidsetJumperType(SubseaJumper.JumperType jumperType) Set jumper type.voidsetLength(double length) Set jumper length.voidsetMaterialGrade(String materialGrade) Set material grade.voidsetMinimumBendRadius(double minimumBendRadius) Set minimum bend radius.voidsetNominalBoreInches(double nominalBoreInches) Set nominal bore size.voidsetNumberOfBends(int numberOfBends) Set number of bends.voidsetOuterDiameterInches(double outerDiameterInches) Set outer diameter.voidsetOutletHubSizeInches(double outletHubSizeInches) Set outlet hub size.voidsetOutletHubType(SubseaJumper.HubType outletHubType) Set outlet hub type.voidsetRetrievable(boolean retrievable) Set whether retrievable.voidsetRovInstalled(boolean rovInstalled) Set whether ROV installed.voidsetSubmergedWeight(double submergedWeight) Set submerged weight.voidsetVerticalRise(double verticalRise) Set vertical rise.voidsetWallThicknessMm(double wallThicknessMm) Set wall thickness.voidsetWaterDepth(double waterDepth) Set water depth.toJson()Serializes the Process Equipment along with its state to a JSON string.Methods inherited from class TwoPortEquipment
getInletPressure, getInletStream, getInletTemperature, getMassBalance, getOutletPressure, getOutletStream, getOutletTemperature, setInletPressure, setInletStream, setInletTemperature, setOutletPressure, setOutletPressure, setOutletStream, setOutletTemperature, setOutletTemperature, toJson, validateSetupMethods inherited from class ProcessEquipmentBaseClass
copy, displayResult, equals, getConditionAnalysisMessage, getController, getEffectiveCapacityFactor, getEnergyStream, getEntropyProduction, getExergyChange, getFailureMode, 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, solvedMethods 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, needRecalculationMethods inherited from interface SimulationInterface
getCalculateSteadyState, getCalculationIdentifier, getTime, increaseTime, isRunInSteps, run, run_step, runTransient, runTransient, setCalculateSteadyState, setCalculationIdentifier, setRunInSteps, setTimeMethods inherited from interface TwoPortInterface
getInStream, getOutStream, setOutPressure, setOutPressure, setOutTemperature, setOutTemperature
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version UID.- See Also:
-
jumperType
Jumper type. -
waterDepth
private double waterDepthWater depth in meters. -
designPressure
private double designPressureDesign pressure in bara. -
designTemperature
private double designTemperatureDesign temperature in Celsius. -
nominalBoreInches
private double nominalBoreInchesNominal bore size in inches. -
outerDiameterInches
private double outerDiameterInchesOuter diameter in inches. -
wallThicknessMm
private double wallThicknessMmWall thickness in mm. -
length
private double lengthJumper length in meters. -
horizontalSpan
private double horizontalSpanHorizontal span in meters. -
verticalRise
private double verticalRiseVertical rise in meters. -
inletHubType
Inlet hub type. -
outletHubType
Outlet hub type. -
inletHubSizeInches
private double inletHubSizeInchesInlet hub size in inches. -
outletHubSizeInches
private double outletHubSizeInchesOutlet hub size in inches. -
materialGrade
Material grade (e.g., X65, 316L, 6Mo). -
numberOfBends
private int numberOfBendsNumber of bends. -
minimumBendRadius
private double minimumBendRadiusMinimum bend radius in meters. -
flexibleStructure
Flexible pipe structure type. -
flexibleMinBendRadius
private double flexibleMinBendRadiusMinimum bend radius for flexible in meters. -
maxCurvature
private double maxCurvatureMaximum curvature for flexible. -
installationMethod
Installation method. -
rovInstalled
private boolean rovInstalledWhether installed by ROV. -
retrievable
private boolean retrievableWhether retrievable. -
dryWeight
private double dryWeightDry weight in tonnes. -
submergedWeight
private double submergedWeightSubmerged weight in tonnes. -
contentWeight
private double contentWeightContent weight in tonnes. -
mechanicalDesign
Mechanical design instance.
-
-
Constructor Details
-
SubseaJumper
public SubseaJumper()Default constructor. -
SubseaJumper
-
SubseaJumper
Constructor with name and inlet stream.- Parameters:
name- equipment nameinStream- inlet stream
-
-
Method Details
-
createRigidMShape
Create rigid M-shaped jumper.- Parameters:
name- jumper nameinStream- inlet streamlength- jumper length in meters- Returns:
- configured jumper
-
createFlexibleStatic
public static SubseaJumper createFlexibleStatic(String name, StreamInterface inStream, double length) Create flexible static jumper.- Parameters:
name- jumper nameinStream- inlet streamlength- jumper length in meters- Returns:
- configured jumper
-
run
In this method all thermodynamic and unit operations will be calculated in a steady state calculation.
- Parameters:
id- UUID
-
calculatePressureDrop
private double calculatePressureDrop()Calculate pressure drop through jumper.- Returns:
- pressure drop in bar
-
isRigid
public boolean isRigid()Check if jumper type is rigid.- Returns:
- true if rigid jumper
-
isFlexible
public boolean isFlexible()Check if jumper type is flexible.- Returns:
- true if flexible jumper
-
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
-
getJumperType
-
setJumperType
Set jumper type.- Parameters:
jumperType- jumper 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
-
getDesignPressure
public double getDesignPressure()Get design pressure.- Returns:
- design pressure in bara
-
setDesignPressure
public void setDesignPressure(double designPressure) Set design pressure.- Parameters:
designPressure- design pressure in bara
-
getDesignTemperature
public double getDesignTemperature()Get design temperature.- Returns:
- design temperature in Celsius
-
setDesignTemperature
public void setDesignTemperature(double designTemperature) Set design temperature.- Parameters:
designTemperature- design temperature in Celsius
-
getNominalBoreInches
public double getNominalBoreInches()Get nominal bore size.- Returns:
- nominal bore in inches
-
setNominalBoreInches
public void setNominalBoreInches(double nominalBoreInches) Set nominal bore size.- Parameters:
nominalBoreInches- nominal bore in inches
-
getOuterDiameterInches
public double getOuterDiameterInches()Get outer diameter.- Returns:
- outer diameter in inches
-
setOuterDiameterInches
public void setOuterDiameterInches(double outerDiameterInches) Set outer diameter.- Parameters:
outerDiameterInches- outer diameter in inches
-
getWallThicknessMm
public double getWallThicknessMm()Get wall thickness.- Returns:
- wall thickness in mm
-
setWallThicknessMm
public void setWallThicknessMm(double wallThicknessMm) Set wall thickness.- Parameters:
wallThicknessMm- wall thickness in mm
-
getLength
public double getLength()Get jumper length.- Returns:
- length in meters
-
setLength
public void setLength(double length) Set jumper length.- Parameters:
length- length in meters
-
getHorizontalSpan
public double getHorizontalSpan()Get horizontal span.- Returns:
- horizontal span in meters
-
setHorizontalSpan
public void setHorizontalSpan(double horizontalSpan) Set horizontal span.- Parameters:
horizontalSpan- horizontal span in meters
-
getVerticalRise
public double getVerticalRise()Get vertical rise.- Returns:
- vertical rise in meters
-
setVerticalRise
public void setVerticalRise(double verticalRise) Set vertical rise.- Parameters:
verticalRise- vertical rise in meters
-
getInletHubType
-
setInletHubType
Set inlet hub type.- Parameters:
inletHubType- inlet hub type
-
getOutletHubType
-
setOutletHubType
Set outlet hub type.- Parameters:
outletHubType- outlet hub type
-
getMaterialGrade
-
setMaterialGrade
Set material grade.- Parameters:
materialGrade- material grade (X65, 316L, etc.)
-
getNumberOfBends
public int getNumberOfBends()Get number of bends.- Returns:
- number of bends
-
setNumberOfBends
public void setNumberOfBends(int numberOfBends) Set number of bends.- Parameters:
numberOfBends- number of bends
-
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
-
getFlexibleStructure
Get flexible pipe structure type.- Returns:
- flexible structure type
-
setFlexibleStructure
Set flexible pipe structure type.- Parameters:
flexibleStructure- structure type (Unbonded, Bonded)
-
getInstallationMethod
-
setInstallationMethod
Set installation method.- Parameters:
installationMethod- installation method
-
isRovInstalled
public boolean isRovInstalled()Check if ROV installed.- Returns:
- true if ROV installed
-
setRovInstalled
public void setRovInstalled(boolean rovInstalled) Set whether ROV installed.- Parameters:
rovInstalled- true for ROV installation
-
isRetrievable
public boolean isRetrievable()Check if retrievable.- Returns:
- true if retrievable
-
setRetrievable
public void setRetrievable(boolean retrievable) Set whether retrievable.- Parameters:
retrievable- true if retrievable
-
getDryWeight
public double getDryWeight()Get dry weight.- Returns:
- dry weight in tonnes
-
setDryWeight
public void setDryWeight(double dryWeight) Set dry weight.- Parameters:
dryWeight- dry weight in tonnes
-
getSubmergedWeight
public double getSubmergedWeight()Get submerged weight.- Returns:
- submerged weight in tonnes
-
setSubmergedWeight
public void setSubmergedWeight(double submergedWeight) Set submerged weight.- Parameters:
submergedWeight- submerged weight in tonnes
-
getFlexibleMinBendRadius
public double getFlexibleMinBendRadius()Get flexible minimum bend radius.- Returns:
- flexible min bend radius in meters
-
setFlexibleMinBendRadius
public void setFlexibleMinBendRadius(double flexibleMinBendRadius) Set flexible minimum bend radius.- Parameters:
flexibleMinBendRadius- min bend radius in meters
-
getInletHubSizeInches
public double getInletHubSizeInches()Get inlet hub size.- Returns:
- inlet hub size in inches
-
setInletHubSizeInches
public void setInletHubSizeInches(double inletHubSizeInches) Set inlet hub size.- Parameters:
inletHubSizeInches- inlet hub size in inches
-
getOutletHubSizeInches
public double getOutletHubSizeInches()Get outlet hub size.- Returns:
- outlet hub size in inches
-
setOutletHubSizeInches
public void setOutletHubSizeInches(double outletHubSizeInches) Set outlet hub size.- Parameters:
outletHubSizeInches- outlet hub size in inches
-
toJson
Serializes the Process Equipment along with its state to a JSON string.
- Specified by:
toJsonin interfaceProcessEquipmentInterface- Overrides:
toJsonin classTwoPortEquipment- Returns:
- json string.
-