Skip to content

Latest commit

 

History

44 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Monopile Concept Design

Concept-stage sizing tool for offshore wind monopile foundations: an Arany-et-al.-style ("10-step") iteration of ULS/SLS/natural-frequency (soft-stiff)/FLS/local-shell-buckling checks that converges on a diameter, wall thickness, and embedded length.

Concept-level screening only -- not certification or FEED design.

Try it

monopile-concept-design.streamlit.app -- no install, no command line, just open the link.

Design process

size_monopile(inputs) runs an iterative loop:

  1. Look up/interpolate turbine properties (rotor diameter, hub height, mass, thrust, rotor speed range) from TURBINE_LIBRARY by rated power.
  2. Guess an initial diameter/wall-thickness/embedded-length from rules of thumb anchored to real reference-monopile dimensions.
  3. Evaluate the candidate geometry against five active sizing checks, each producing a utilization ratio (pass if <= 1.0):
    • ULS -- mudline yield check (von Mises bending + shear vs. steel yield).
    • SLS -- mudline rotation vs. an allowable limit (default 0.5 deg).
    • NFA -- first natural frequency vs. the "soft-stiff" target band between the 1P (rotor) and 3P (blade-passing) excitation frequencies; if those operating ranges overlap, only 1P clearance is checked and the result is qualified rather than claimed as two-sided NFA convergence.
    • FLS -- simplified Palmgren-Miner fatigue damage over the design life.
    • Local shell buckling -- DNV-RP-C202 unstiffened-cylinder check using the full exposed shaft as the conservative unsupported panel length.
  4. If all five active checks pass and a valid NFA band exists, stop (converged). Otherwise adjust diameter or wall thickness -- whichever is more effective for the worst-failing check -- and re-evaluate.
  5. Once converged, step wall thickness back down while every active check still passes, so the result reflects the true minimum-material thickness rather than just the first passing geometry found.
  6. Stop at convergence, a runaway guard, or a maximum iteration count -- whichever comes first.

Loads are routed by limit state: ULS and local buckling envelope maximum- operational and parked-50-year wind cases with Morison drag plus inertia; SLS uses the unfactored operational case; FLS retains its original calibrated rated-thrust/drag-only reference. Soil-pile stiffness uses a closed-form Hetenyi beam-on-elastic-foundation model. See docs/METHODOLOGY_REPORT.md for every equation, constant, symbol definition, and reference used -- this section is a summary, that document is the source of truth.

Major assumptions

This is a concept-stage screening tool, not a certified design method. The most consequential simplifications:

  • Soil-structure interaction is a closed-form, idealized single homogeneous layer (sand or clay) -- not a full nonlinear multi-layer p-y or PISA solve.
  • Extreme loading uses two concept-stage proxies rather than turbine- specific DLC simulations: 1.25 times steady rated thrust for operation and NREL-Borssele-derived power scaling for the parked 50-year case.
  • Wave loading uses finite-depth Morison drag plus inertia over a regular- wave phase search -- not an irregular multi-DLC time-domain simulation or a diffraction solution.
  • Natural frequency uses a simplified 2-spring (lateral + rocking) closed-form model, omitting the foundation cross-coupling term Arany's full 3-spring method includes. This check is not yet considered fully verified.
  • Fatigue is a single equivalent-stress-range Palmgren-Miner check with an empirically-calibrated (not first-principles) load factor -- not a rainflow-counted multi-bin DLC fatigue simulation.
  • Local shell buckling is an active conservative sizing driver. Because ring-stiffener spacing is not modeled, it treats the full exposed shaft as one unstiffened panel. If it governs, the result warns that practical panel lengths must be verified and ring stiffeners may be preferable to added uniform wall thickness. Global (Euler) column buckling is not evaluated.
  • Embedded length has no independent design driver -- it's a fixed L/D ratio at the initial guess, not solved against ultimate soil capacity.
  • D/t manufacturability bounds are advisory, not a hard limit -- a converged geometry outside the configured range is flagged with a warning rather than blocked.
  • Turbine data for 5/15/22 MW is sourced from published reference-turbine reports; 10 MW is sourced separately; 25 MW is an unverified extrapolation.

The full, current list (27 items) is in docs/METHODOLOGY_REPORT.md section 11. For the dated history of how each assumption was chosen or changed (sensitivity sweeps, bugs found and fixed), see docs/method_update_log.md.

Run locally

pip install -r requirements.txt
py -m streamlit run app.py

Turbine library

engine.py's TURBINE_LIBRARY spans 5-25 MW. The 5/15/22 MW entries are sourced from published reference-turbine reports (OC3/NREL 5MW, IEA 15MW, IEA 22MW); 10 MW is from the DTU 10MW report; 25 MW is an extrapolation, not an independently verified turbine.

BC90 extension

BC90 additively extends this tool with a taut, pre-tensioned 3-line mooring system for a bottom-founded monopile in 60-90 m "transitional deepwater" -- where a conventional monopile becomes uneconomic and floating wind remains costly/unproven at scale. It reuses every baseline check unchanged (turbine lookup, loads, soil stiffness, ULS/SLS/NFA/FLS/buckling) and adds the mooring reaction, a new fairlead-section check, mooring-line ULS, and a slack/minimum-tension check.

Files

  • bc90/mooring.py -- single-line and 3-line mooring stiffness, flexibility kernel, redundant-force solve, natural-frequency stiffness correction.
  • bc90/engine_bc90.py -- evaluate_bc90, the BC90 analog of engine.py's evaluate_monopile; imports the baseline turbine/load/soil/ULS/SLS/FLS/ buckling functions unchanged.
  • docs/BC90_METHODOLOGY_REPORT.md -- full BC90 methodology (equations, symbols, references), mirroring docs/METHODOLOGY_REPORT.md's structure.

engine.py and app.py (the baseline MP tool) are not modified by BC90.

Analysis

Neretek BC90 -- Concept Design Tool: Engineering Report -- independent concept-screening analysis of Neretek's public BC90 concept: tool verification against 3 real reference monopile designs (diameter within 1% in all cases) and against the MP baseline in the zero-mooring limit, plus quantified cost/weight benefit vs. water depth.

About

Concept-stage offshore wind monopile sizing with structural, frequency, fatigue, and buckling checks

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages