Class RiserMechanicalDesignCalculator
- All Implemented Interfaces:
Serializable
This class extends PipeMechanicalDesignCalculator to provide riser-specific calculations including:
- Top tension calculation (catenary and TTR)
- Touchdown point stress analysis
- VIV (Vortex-Induced Vibration) response
- Dynamic stress from waves and currents
- Heave motion response
- Riser fatigue life estimation
Design Standards
- DNV-OS-F201 - Dynamic Risers
- DNV-RP-F204 - Riser Fatigue
- DNV-RP-C203 - Fatigue Design of Offshore Structures
- API RP 2RD - Design of Risers for Floating Production Systems
Key Formulas
Catenary Top Tension
For a catenary riser, the top tension is: T_top = w × H / sin(θ_top) where w = submerged weight per meter, H = water depth, θ_top = top angle from horizontal
VIV Response
Vortex shedding frequency: f_v = St × V / D where St = Strouhal number (~0.2), V = current velocity, D = outer diameter
Touchdown Point Stress
Bending stress at TDP: σ_b = E × D / (2 × R_TDP) where E = Young's modulus, D = outer diameter, R_TDP = radius of curvature at touchdown
- Version:
- 1.0
- Author:
- ASMF
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doubleAdded mass coefficient (configurable from DNV-RP-C205).private doubleApplied top tension for TTR in kN.private doubleBottom tension at seabed in kN.private doubleDepth of buoyancy modules from surface in meters.private doubleLength of buoyancy section in meters.private doubleBuoyancy per unit length in N/m.private doubleCatenary parameter a in meters.private doubleCollapse utilization factor.private doubleCombined dynamic stress in MPa.private doubleCurrent velocity at mid-depth in m/s.private doubleDeparture angle from seabed in degrees.private doubleDrag coefficient for circular cylinder (configurable from DNV-RP-C205).private doubleDynamic amplification factor (configurable from DNV-OS-F201).private doubleFatigue design factor (configurable from DNV-RP-F204).private static final doubleGravity acceleration m/s².private doubleHeave-induced stress range in MPa.private doubleLift coefficient for VIV (configurable from DNV-RP-C205).private doubleMaximum stress utilization.private doubleMaximum top tension in kN.private doubleMinimum top tension in kN.private doubleRiser natural frequency (first mode) in Hz.private doublePeak wave period in seconds.private doublePlatform heave motion amplitude in meters.private doublePlatform heave period in seconds.private doubleRiser fatigue life in years.private StringRiser type name.private doubleCurrent velocity at seabed in m/s.private doubleSeabed friction coefficient.private static final doubleSeawater density kg/m³.private static final longSerialization version UID.private doubleSignificant wave height in meters.private doubleS-N curve parameter log(a) for seawater with CP (configurable from DNV-RP-C203).private doubleS-N curve slope parameter m (configurable from DNV-RP-C203).private doubleStress concentration factor for girth welds (configurable from DNV-RP-F204).private doubleStroke requirement for TTR in meters.private doubleStrouhal number for VIV (configurable from DNV-RP-C205).private doubleTension variation factor for heave.private doubleTop hangoff angle from vertical in degrees.private doubleCalculated top tension in kN.private doubleTotal fatigue damage rate per year.private doubleBending moment at touchdown in kN.m.private doubleRadius of curvature at touchdown in meters.private doubleTouchdown point stress in MPa.private doubleLength of touchdown zone in meters.private doubleVIV amplitude (A/D ratio).private doubleVIV fatigue damage per year.private booleanWhether VIV lock-in is occurring.private doubleVIV stress range in MPa.private doubleVortex shedding frequency in Hz.private doubleWater depth in meters.private doubleWave fatigue damage per year.private doubleWave-induced stress range in MPa.Fields inherited from class PipeMechanicalDesignCalculator
ASME_B31_3, ASME_B31_4, ASME_B31_8, DNV_OS_F101 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondoubleCalculate top tension for catenary riser (SCR, flexible, lazy-wave).doubleCalculate collapse utilization.doublecalculateExternalPressure(double depth) Calculate external pressure at a given depth.doubleCalculate heave-induced stress.private doubleCalculate natural frequency of the riser (first mode).doubleCalculate total riser fatigue life.doubleCalculate stroke requirement for TTR heave compensation.doubleCalculate stress at the touchdown point.doubleCalculate length of the touchdown zone.doubleCalculate tension for Top Tensioned Riser.doubleCalculate VIV fatigue damage.doubleCalculate VIV (Vortex-Induced Vibration) response.doubleCalculate wave-induced stress.doubleGet added mass coefficient.doubleGet applied top tension.doubleGet bottom tension.doubleGet buoyancy module depth.doubleGet buoyancy module length.doubleGet buoyancy per meter.doubleGet catenary parameter.doubleGet collapse utilization.doubleGet combined dynamic stress.doubleGet current velocity.doubleGet departure angle.doubleGet drag coefficient.doubleGet dynamic amplification factor.doubleGet fatigue design factor.doubleGet heave-induced stress.doubleGet lift coefficient.doubleGet maximum stress utilization.doubleGet maximum top tension.doubleGet minimum top tension.doubleGet natural frequency.doubleGet peak wave period.doubleGet platform heave amplitude.doubleGet platform heave period.doubleGet riser fatigue life.Get riser type.doubleGet seabed current velocity.doubleGet seabed friction.doubleGet significant wave height.doubleGet S-N curve parameter.doubleGet S-N curve slope.doubleGet stress concentration factor.doubleGet stroke requirement for TTR.doubleGet Strouhal number.doubleGet tension variation factor.doubleGet top angle.doubleGet calculated top tension.doubleGet total fatigue damage rate.doubleGet touchdown bending moment.doubleGet touchdown curvature radius.doubleGet touchdown point stress.doubleGet touchdown zone length.doubleGet VIV amplitude.doubleGet VIV fatigue damage per year.doubleGet VIV stress range.doubleGet vortex shedding frequency.doubleGet water depth.doubleGet wave fatigue damage per year.doubleGet wave-induced stress.booleanCheck if VIV lock-in is occurring.voidsetAddedMassCoefficient(double addedMassCoefficient) Set added mass coefficient.voidsetAppliedTopTension(double appliedTopTension) Set applied top tension for TTR.voidsetBuoyancyModuleDepth(double buoyancyModuleDepth) Set buoyancy module depth.voidsetBuoyancyModuleLength(double buoyancyModuleLength) Set buoyancy module length.voidsetBuoyancyPerMeter(double buoyancyPerMeter) Set buoyancy per meter.voidsetCurrentVelocity(double currentVelocity) Set current velocity.voidsetDepartureAngle(double departureAngle) Set departure angle.voidsetDragCoefficient(double dragCoefficient) Set drag coefficient.voidsetDynamicAmplificationFactor(double dynamicAmplificationFactor) Set dynamic amplification factor.private voidsetExternalPressure(double pressure) Set external pressure.voidsetFatigueDesignFactor(double fatigueDesignFactor) Set fatigue design factor.voidsetLiftCoefficient(double liftCoefficient) Set lift coefficient for VIV.voidsetPeakWavePeriod(double peakWavePeriod) Set peak wave period.voidsetPlatformHeaveAmplitude(double platformHeaveAmplitude) Set platform heave amplitude.voidsetPlatformHeavePeriod(double platformHeavePeriod) Set platform heave period.voidsetRiserType(String riserType) Set riser type.voidsetSeabedCurrentVelocity(double seabedCurrentVelocity) Set seabed current velocity.voidsetSeabedFriction(double seabedFriction) Set seabed friction.voidsetSignificantWaveHeight(double significantWaveHeight) Set significant wave height.voidsetSnParameter(double snParameter) Set S-N curve parameter log(a) for fatigue calculation.voidsetSnSlope(double snSlope) Set S-N curve slope parameter m.voidsetStressConcentrationFactor(double stressConcentrationFactor) Set stress concentration factor for girth welds.voidsetStrouhalNumber(double strouhalNumber) Set Strouhal number for VIV calculation.voidsetTensionVariationFactor(double tensionVariationFactor) Set tension variation factor.voidsetTopAngle(double topAngle) Set top angle.voidsetWaterDepth(double waterDepth) Set water depth.toMap()Convert mechanical design data to a Map for JSON serialization.Get riser-specific results as JSON.Get riser-specific results as a map.Methods inherited from class PipeMechanicalDesignCalculator
calculateAllowableSpanLength, calculateCollapsePressure, calculateExpansionLoopLength, calculateExternalPressure, calculateHoopStress, calculateInsulationThickness, calculateJointsAndWelds, calculateLaborManhours, calculateLongitudinalStress, calculateMAOP, calculateMinimumBendRadius, calculateMinimumWallThickness, calculateProjectCost, calculatePropagationBucklingPressure, calculateRequiredConcreteThickness, calculateSafetyMargin, calculateSubmergedWeight, calculateSupportSpacing, calculateTestPressure, calculateVonMisesStress, calculateWeightsAndAreas, estimateFatigueLife, generateBillOfMaterials, generateDesignReport, getAmbientTemperature, getAnchorSpacing, getBurialDepth, getCoatingPricePerM2, getCoatingThickness, getCoatingType, getCollapsePressure, getConcreteCoatingThickness, getContingencyPercentage, getCorrosionAllowance, getDesignCode, getDesignFactor, getDesignPressure, getDesignTemperature, getFabricationTolerance, getFatigueLife, getFieldWeldCost, getFlangeClass, getHoopStress, getInnerDiameter, getInstallationMethod, getInsulationThickness, getInsulationType, getJointFactor, getLocationClass, getMaop, getMaop, getMaterialGrade, getMinimumWallThickness, getNominalWallThickness, getNumberOfFieldWelds, getNumberOfFlangePairs, getNumberOfJoints, getNumberOfSupports, getNumberOfValves, getOuterDiameter, getPipelineLength, getPoissonsRatio, getSmts, getSmys, getSteelDensity, getSteelPricePerKg, getSteelWeightPerMeter, getSubmergedWeightPerMeter, getSupportSpacing, getThermalExpansion, getTotalDirectCost, getTotalDryWeightPerMeter, getTotalExternalSurfaceArea, getTotalLaborManhours, getTotalPipelineWeight, getTotalProjectCost, getValveType, getVonMisesStress, getWeldJointEfficiency, getYoungsModulus, isDesignSafe, loadDesignFactorsFromDatabase, loadFromDatabase, loadMaterialFromDatabase, selectFlangeClass, selectStandardPipeSize, setAmbientTemperature, setAnchorSpacing, setBurialDepth, setCoatingPricePerM2, setCoatingThickness, setCoatingType, setConcreteCoatingThickness, setContingencyPercentage, setCorrosionAllowance, setCorrosionAllowance, setDesignCode, setDesignFactor, setDesignPressure, setDesignPressure, setDesignTemperature, setFabricationTolerance, setFieldWeldCost, setFlangeClass, setInstallationMethod, setInsulationThickness, setInsulationType, setJointFactor, setLocationClass, setMaterialGrade, setNominalWallThickness, setNominalWallThickness, setNumberOfFlangePairs, setNumberOfValves, setOuterDiameter, setOuterDiameter, setPipelineLength, setPoissonsRatio, setSmts, setSmys, setSteelDensity, setSteelPricePerKg, setThermalExpansion, setValveType, setWeldJointEfficiency, setYoungsModulus, toCompactJson, toJson
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version UID.- See Also:
-
riserType
Riser type name. -
waterDepth
private double waterDepthWater depth in meters. -
topAngle
private double topAngleTop hangoff angle from vertical in degrees. -
departureAngle
private double departureAngleDeparture angle from seabed in degrees. -
currentVelocity
private double currentVelocityCurrent velocity at mid-depth in m/s. -
seabedCurrentVelocity
private double seabedCurrentVelocityCurrent velocity at seabed in m/s. -
significantWaveHeight
private double significantWaveHeightSignificant wave height in meters. -
peakWavePeriod
private double peakWavePeriodPeak wave period in seconds. -
platformHeaveAmplitude
private double platformHeaveAmplitudePlatform heave motion amplitude in meters. -
platformHeavePeriod
private double platformHeavePeriodPlatform heave period in seconds. -
seabedFriction
private double seabedFrictionSeabed friction coefficient. -
appliedTopTension
private double appliedTopTensionApplied top tension for TTR in kN. -
tensionVariationFactor
private double tensionVariationFactorTension variation factor for heave. -
buoyancyModuleDepth
private double buoyancyModuleDepthDepth of buoyancy modules from surface in meters. -
buoyancyModuleLength
private double buoyancyModuleLengthLength of buoyancy section in meters. -
buoyancyPerMeter
private double buoyancyPerMeterBuoyancy per unit length in N/m. -
topTension
private double topTensionCalculated top tension in kN. -
minTopTension
private double minTopTensionMinimum top tension in kN. -
maxTopTension
private double maxTopTensionMaximum top tension in kN. -
bottomTension
private double bottomTensionBottom tension at seabed in kN. -
catenaryParameter
private double catenaryParameterCatenary parameter a in meters. -
touchdownPointStress
private double touchdownPointStressTouchdown point stress in MPa. -
touchdownCurvatureRadius
private double touchdownCurvatureRadiusRadius of curvature at touchdown in meters. -
touchdownZoneLength
private double touchdownZoneLengthLength of touchdown zone in meters. -
touchdownBendingMoment
private double touchdownBendingMomentBending moment at touchdown in kN.m. -
vortexSheddingFrequency
private double vortexSheddingFrequencyVortex shedding frequency in Hz. -
naturalFrequency
private double naturalFrequencyRiser natural frequency (first mode) in Hz. -
vivAmplitude
private double vivAmplitudeVIV amplitude (A/D ratio). -
vivStressRange
private double vivStressRangeVIV stress range in MPa. -
vivFatigueDamage
private double vivFatigueDamageVIV fatigue damage per year. -
vivLockIn
private boolean vivLockInWhether VIV lock-in is occurring. -
waveInducedStress
private double waveInducedStressWave-induced stress range in MPa. -
heaveInducedStress
private double heaveInducedStressHeave-induced stress range in MPa. -
combinedDynamicStress
private double combinedDynamicStressCombined dynamic stress in MPa. -
strokeRequirement
private double strokeRequirementStroke requirement for TTR in meters. -
riserFatigueLife
private double riserFatigueLifeRiser fatigue life in years. -
totalFatigueDamageRate
private double totalFatigueDamageRateTotal fatigue damage rate per year. -
waveFatigueDamage
private double waveFatigueDamageWave fatigue damage per year. -
collapseUtilization
private double collapseUtilizationCollapse utilization factor. -
maxStressUtilization
private double maxStressUtilizationMaximum stress utilization. -
strouhalNumber
private double strouhalNumberStrouhal number for VIV (configurable from DNV-RP-C205). -
dragCoefficient
private double dragCoefficientDrag coefficient for circular cylinder (configurable from DNV-RP-C205). -
addedMassCoefficient
private double addedMassCoefficientAdded mass coefficient (configurable from DNV-RP-C205). -
liftCoefficient
private double liftCoefficientLift coefficient for VIV (configurable from DNV-RP-C205). -
snParameter
private double snParameterS-N curve parameter log(a) for seawater with CP (configurable from DNV-RP-C203). -
snSlope
private double snSlopeS-N curve slope parameter m (configurable from DNV-RP-C203). -
fatigueDesignFactor
private double fatigueDesignFactorFatigue design factor (configurable from DNV-RP-F204). -
dynamicAmplificationFactor
private double dynamicAmplificationFactorDynamic amplification factor (configurable from DNV-OS-F201). -
stressConcentrationFactor
private double stressConcentrationFactorStress concentration factor for girth welds (configurable from DNV-RP-F204). -
GRAVITY
private static final double GRAVITYGravity acceleration m/s².- See Also:
-
SEAWATER_DENSITY
private static final double SEAWATER_DENSITYSeawater density kg/m³.- See Also:
-
-
Constructor Details
-
RiserMechanicalDesignCalculator
public RiserMechanicalDesignCalculator()Default constructor.
-
-
Method Details
-
calculateCatenaryTopTension
public double calculateCatenaryTopTension()Calculate top tension for catenary riser (SCR, flexible, lazy-wave).For a catenary riser, the tension distribution follows: T(s) = T_bottom + w × s where s = arc length from seabed, w = submerged weight per unit length
- Returns:
- top tension in kN
-
calculateTTRTension
public double calculateTTRTension()Calculate tension for Top Tensioned Riser.For TTR, the applied tension must exceed the riser weight to maintain positive tension throughout the riser length.
- Returns:
- required top tension in kN
-
calculateStrokeRequirement
public double calculateStrokeRequirement()Calculate stroke requirement for TTR heave compensation.- Returns:
- stroke requirement in meters
-
calculateTouchdownPointStress
public double calculateTouchdownPointStress()Calculate stress at the touchdown point.The touchdown point (TDP) is where the riser contacts the seabed. This is a critical fatigue location due to cyclic bending as the TDP moves with wave action.
- Returns:
- touchdown point stress in MPa
-
calculateTouchdownZoneLength
public double calculateTouchdownZoneLength()Calculate length of the touchdown zone.The touchdown zone is where the riser transitions from suspended catenary to resting on seabed. This zone experiences cyclic motion with wave action.
- Returns:
- touchdown zone length in meters
-
calculateVIVResponse
public double calculateVIVResponse()Calculate VIV (Vortex-Induced Vibration) response.VIV occurs when vortex shedding frequency approaches the riser natural frequency. This can cause significant fatigue damage.
- Returns:
- VIV amplitude as A/D ratio
-
calculateNaturalFrequency
private double calculateNaturalFrequency()Calculate natural frequency of the riser (first mode).- Returns:
- natural frequency in Hz
-
calculateVIVFatigueDamage
public double calculateVIVFatigueDamage()Calculate VIV fatigue damage.- Returns:
- VIV fatigue damage per year
-
calculateWaveInducedStress
public double calculateWaveInducedStress()Calculate wave-induced stress.Waves cause cyclic loading on the riser through direct loading and vessel motion.
- Returns:
- wave-induced stress range in MPa
-
calculateHeaveInducedStress
public double calculateHeaveInducedStress()Calculate heave-induced stress.Platform heave motion causes axial stress variations in the riser.
- Returns:
- heave-induced stress in MPa
-
calculateRiserFatigueLife
public double calculateRiserFatigueLife()Calculate total riser fatigue life.Combines fatigue damage from: - VIV - Wave loading - Heave motion - TDP cyclic bending
- Returns:
- fatigue life in years
-
calculateExternalPressure
public double calculateExternalPressure(double depth) Calculate external pressure at a given depth.- Parameters:
depth- water depth in meters- Returns:
- external pressure in MPa
-
calculateCollapseUtilization
public double calculateCollapseUtilization()Calculate collapse utilization.- Returns:
- utilization factor (should be < 1.0)
-
getRiserType
-
setRiserType
-
getWaterDepth
public double getWaterDepth()Get water depth.- Overrides:
getWaterDepthin classPipeMechanicalDesignCalculator- Returns:
- depth in meters
-
setWaterDepth
public void setWaterDepth(double waterDepth) Set water depth.- Overrides:
setWaterDepthin classPipeMechanicalDesignCalculator- Parameters:
waterDepth- depth in meters
-
getTopAngle
public double getTopAngle()Get top angle.- Returns:
- angle in degrees from vertical
-
setTopAngle
public void setTopAngle(double topAngle) Set top angle.- Parameters:
topAngle- angle in degrees from vertical
-
getDepartureAngle
public double getDepartureAngle()Get departure angle.- Returns:
- angle in degrees
-
setDepartureAngle
public void setDepartureAngle(double departureAngle) Set departure angle.- Parameters:
departureAngle- angle in degrees
-
getCurrentVelocity
public double getCurrentVelocity()Get current velocity.- Returns:
- velocity in m/s
-
setCurrentVelocity
public void setCurrentVelocity(double currentVelocity) Set current velocity.- Parameters:
currentVelocity- velocity in m/s
-
getSeabedCurrentVelocity
public double getSeabedCurrentVelocity()Get seabed current velocity.- Returns:
- velocity in m/s
-
setSeabedCurrentVelocity
public void setSeabedCurrentVelocity(double seabedCurrentVelocity) Set seabed current velocity.- Parameters:
seabedCurrentVelocity- velocity in m/s
-
getSignificantWaveHeight
public double getSignificantWaveHeight()Get significant wave height.- Returns:
- height in meters
-
setSignificantWaveHeight
public void setSignificantWaveHeight(double significantWaveHeight) Set significant wave height.- Parameters:
significantWaveHeight- height in meters
-
getPeakWavePeriod
public double getPeakWavePeriod()Get peak wave period.- Returns:
- period in seconds
-
setPeakWavePeriod
public void setPeakWavePeriod(double peakWavePeriod) Set peak wave period.- Parameters:
peakWavePeriod- period in seconds
-
getPlatformHeaveAmplitude
public double getPlatformHeaveAmplitude()Get platform heave amplitude.- Returns:
- amplitude in meters
-
setPlatformHeaveAmplitude
public void setPlatformHeaveAmplitude(double platformHeaveAmplitude) Set platform heave amplitude.- Parameters:
platformHeaveAmplitude- amplitude in meters
-
getPlatformHeavePeriod
public double getPlatformHeavePeriod()Get platform heave period.- Returns:
- period in seconds
-
setPlatformHeavePeriod
public void setPlatformHeavePeriod(double platformHeavePeriod) Set platform heave period.- Parameters:
platformHeavePeriod- period in seconds
-
getSeabedFriction
public double getSeabedFriction()Get seabed friction.- Returns:
- friction coefficient
-
setSeabedFriction
public void setSeabedFriction(double seabedFriction) Set seabed friction.- Parameters:
seabedFriction- friction coefficient
-
getAppliedTopTension
public double getAppliedTopTension()Get applied top tension.- Returns:
- tension in kN
-
setAppliedTopTension
public void setAppliedTopTension(double appliedTopTension) Set applied top tension for TTR.- Parameters:
appliedTopTension- tension in kN
-
getTensionVariationFactor
public double getTensionVariationFactor()Get tension variation factor.- Returns:
- factor
-
setTensionVariationFactor
public void setTensionVariationFactor(double tensionVariationFactor) Set tension variation factor.- Parameters:
tensionVariationFactor- factor
-
getBuoyancyModuleDepth
public double getBuoyancyModuleDepth()Get buoyancy module depth.- Returns:
- depth in meters
-
setBuoyancyModuleDepth
public void setBuoyancyModuleDepth(double buoyancyModuleDepth) Set buoyancy module depth.- Parameters:
buoyancyModuleDepth- depth in meters
-
getBuoyancyModuleLength
public double getBuoyancyModuleLength()Get buoyancy module length.- Returns:
- length in meters
-
setBuoyancyModuleLength
public void setBuoyancyModuleLength(double buoyancyModuleLength) Set buoyancy module length.- Parameters:
buoyancyModuleLength- length in meters
-
getBuoyancyPerMeter
public double getBuoyancyPerMeter()Get buoyancy per meter.- Returns:
- buoyancy in N/m
-
setBuoyancyPerMeter
public void setBuoyancyPerMeter(double buoyancyPerMeter) Set buoyancy per meter.- Parameters:
buoyancyPerMeter- buoyancy in N/m
-
setStrouhalNumber
public void setStrouhalNumber(double strouhalNumber) Set Strouhal number for VIV calculation.- Parameters:
strouhalNumber- Strouhal number (typically 0.18-0.22 per DNV-RP-C205)
-
getStrouhalNumber
public double getStrouhalNumber()Get Strouhal number.- Returns:
- Strouhal number
-
setDragCoefficient
public void setDragCoefficient(double dragCoefficient) Set drag coefficient.- Parameters:
dragCoefficient- drag coefficient (typically 0.9-1.2 per DNV-RP-C205)
-
getDragCoefficient
public double getDragCoefficient()Get drag coefficient.- Returns:
- drag coefficient
-
setAddedMassCoefficient
public void setAddedMassCoefficient(double addedMassCoefficient) Set added mass coefficient.- Parameters:
addedMassCoefficient- added mass coefficient (typically 1.0 per DNV-RP-C205)
-
getAddedMassCoefficient
public double getAddedMassCoefficient()Get added mass coefficient.- Returns:
- added mass coefficient
-
setLiftCoefficient
public void setLiftCoefficient(double liftCoefficient) Set lift coefficient for VIV.- Parameters:
liftCoefficient- lift coefficient (typically 0.8-1.0 per DNV-RP-C205)
-
getLiftCoefficient
public double getLiftCoefficient()Get lift coefficient.- Returns:
- lift coefficient
-
setSnParameter
public void setSnParameter(double snParameter) Set S-N curve parameter log(a) for fatigue calculation.- Parameters:
snParameter- S-N curve parameter (12.164 for seawater with CP per DNV-RP-C203)
-
getSnParameter
public double getSnParameter()Get S-N curve parameter.- Returns:
- S-N curve parameter log(a)
-
setSnSlope
public void setSnSlope(double snSlope) Set S-N curve slope parameter m.- Parameters:
snSlope- slope parameter (typically 3.0 per DNV-RP-C203)
-
getSnSlope
public double getSnSlope()Get S-N curve slope.- Returns:
- S-N curve slope parameter m
-
setFatigueDesignFactor
public void setFatigueDesignFactor(double fatigueDesignFactor) Set fatigue design factor.- Parameters:
fatigueDesignFactor- fatigue design factor (3-10 per DNV-RP-F204)
-
getFatigueDesignFactor
public double getFatigueDesignFactor()Get fatigue design factor.- Returns:
- fatigue design factor
-
setDynamicAmplificationFactor
public void setDynamicAmplificationFactor(double dynamicAmplificationFactor) Set dynamic amplification factor.- Parameters:
dynamicAmplificationFactor- DAF (typically 1.1-1.3 per DNV-OS-F201)
-
getDynamicAmplificationFactor
public double getDynamicAmplificationFactor()Get dynamic amplification factor.- Returns:
- dynamic amplification factor
-
setStressConcentrationFactor
public void setStressConcentrationFactor(double stressConcentrationFactor) Set stress concentration factor for girth welds.- Parameters:
stressConcentrationFactor- SCF (typically 1.2-1.5 per DNV-RP-F204)
-
getStressConcentrationFactor
public double getStressConcentrationFactor()Get stress concentration factor.- Returns:
- stress concentration factor
-
getTopTension
public double getTopTension()Get calculated top tension.- Returns:
- tension in kN
-
getMinTopTension
public double getMinTopTension()Get minimum top tension.- Returns:
- tension in kN
-
getMaxTopTension
public double getMaxTopTension()Get maximum top tension.- Returns:
- tension in kN
-
getBottomTension
public double getBottomTension()Get bottom tension.- Returns:
- tension in kN
-
getCatenaryParameter
public double getCatenaryParameter()Get catenary parameter.- Returns:
- catenary parameter in meters
-
getTouchdownPointStress
public double getTouchdownPointStress()Get touchdown point stress.- Returns:
- stress in MPa
-
getTouchdownCurvatureRadius
public double getTouchdownCurvatureRadius()Get touchdown curvature radius.- Returns:
- radius in meters
-
getTouchdownZoneLength
public double getTouchdownZoneLength()Get touchdown zone length.- Returns:
- length in meters
-
getTouchdownBendingMoment
public double getTouchdownBendingMoment()Get touchdown bending moment.- Returns:
- moment in kN.m
-
getVortexSheddingFrequency
public double getVortexSheddingFrequency()Get vortex shedding frequency.- Returns:
- frequency in Hz
-
getNaturalFrequency
public double getNaturalFrequency()Get natural frequency.- Returns:
- frequency in Hz
-
getVIVAmplitude
public double getVIVAmplitude()Get VIV amplitude.- Returns:
- A/D ratio
-
getVIVStressRange
public double getVIVStressRange()Get VIV stress range.- Returns:
- stress in MPa
-
getVIVFatigueDamage
public double getVIVFatigueDamage()Get VIV fatigue damage per year.- Returns:
- damage rate
-
isVIVLockIn
public boolean isVIVLockIn()Check if VIV lock-in is occurring.- Returns:
- true if lock-in
-
getWaveInducedStress
public double getWaveInducedStress()Get wave-induced stress.- Returns:
- stress in MPa
-
getHeaveInducedStress
public double getHeaveInducedStress()Get heave-induced stress.- Returns:
- stress in MPa
-
getCombinedDynamicStress
public double getCombinedDynamicStress()Get combined dynamic stress.- Returns:
- stress in MPa
-
getStrokeRequirement
public double getStrokeRequirement()Get stroke requirement for TTR.- Returns:
- stroke in meters
-
getRiserFatigueLife
public double getRiserFatigueLife()Get riser fatigue life.- Returns:
- life in years
-
getTotalFatigueDamageRate
public double getTotalFatigueDamageRate()Get total fatigue damage rate.- Returns:
- damage per year
-
getWaveFatigueDamage
public double getWaveFatigueDamage()Get wave fatigue damage per year.- Returns:
- damage rate
-
getCollapseUtilization
public double getCollapseUtilization()Get collapse utilization.- Returns:
- utilization factor
-
getMaxStressUtilization
public double getMaxStressUtilization()Get maximum stress utilization.- Returns:
- utilization factor
-
setExternalPressure
private void setExternalPressure(double pressure) Set external pressure.- Parameters:
pressure- pressure in MPa
-
toRiserMap
-
toRiserJson
-
toMap
Convert mechanical design data to a Map for JSON serialization.- Overrides:
toMapin classPipeMechanicalDesignCalculator- Returns:
- Map containing design data
-