Marine and offshore engineering fundamentals for platform design, subsea systems, and regulatory compliance
Comprehensive marine and offshore engineering knowledge for platform design, subsea systems, mooring, and regulatory compliance.
Use this SME knowledge when:
Fixed Platforms:
Floating Platforms:
Selection Criteria:
def select_platform_type(water_depth: float, field_life: float) -> str:
"""
Platform type selection based on water depth.
Args:
water_depth: Water depth in meters
field_life: Expected field life in years
Returns:
Recommended platform type
"""
if water_depth < 150:
return "Fixed platform (Jacket)"
elif water_depth < 500:
if field_life < 5:
return "Jack-up (temporary)"
else:
return "Semi-submersible or FPSO"
elif water_depth < 2000:
return "Semi-submersible, SPAR, or FPSO"
else: # Ultra-deep water
return "SPAR or FPSO"
Wind Loading:
Wave Loading:
Current Loading:
import numpy as np
def calculate_current_force(
velocity: float, # m/s
diameter: float, # m
length: float, # m
cd: float = 1.2 # Drag coefficient
) -> float:
"""
Calculate current force on cylinder.
Morison equation: F = 0.5 * ρ * V² * Cd * D * L
Args:
velocity: Current velocity
diameter: Member diameter
length: Member length
cd: Drag coefficient
Returns:
Force in kN
"""
rho = 1025 # kg/m³ (seawater)
F = 0.5 * rho * velocity**2 * cd * diameter * length
return F / 1000 # Convert to kN
Types:
Design Standards:
Safety Factors:
mooring_safety_factors:
intact:
uls: 1.67 # Ultimate Limit State
als: 1.25 # Accidental Limit State
damaged:
uls: 1.25
als: 1.05
fatigue_design_factor: 10.0
Components:
Pipeline Design:
def pipeline_wall_thickness(
diameter: float, # mm
pressure: float, # MPa
yield_stress: float, # MPa
design_factor: float = 0.72 # API 5L
) -> float:
"""
Calculate required pipeline wall thickness.
Barlow's formula: t = P*D / (2*σ*F)
Args:
diameter: Outer diameter
pressure: Design pressure
yield_stress: Material yield stress
design_factor: Design factor
Returns:
Wall thickness in mm
"""
t = (pressure * diameter) / (2 * yield_stress * design_factor)
# Add corrosion allowance
corrosion_allowance = 3.0 # mm
t_total = t + corrosion_allowance
return t_total
Classification Societies:
Key Standards: