Skip to content

PyFlange

Open-source Python library for the fatigue analysis of large bolted ring-flange connections, implementing the polynomial flange segment model of IEC 61400-6 AMD1.

PyFlange computes the bolt axial force and bolt bending moment of a flange segment as a function of the tower shell force, including the effect of flange gaps (flatness imperfections) and flange inclination. On top of this model it provides the bolt fatigue assessment of IEC 61400-6 and the tools for probabilistic (Monte Carlo) analyses.

It is meant for engineers who design or check the L-flanges and T-flanges of wind turbine towers, monopiles and transition pieces, and who need a fast, transparent and verifiable implementation of the standard.

from pyflange.flangesegments import PolynomialLFlangeSegment

fseg = PolynomialLFlangeSegment(a=0.150, b=0.122, s=0.054, t=0.172, R=4.0, ...)
Fs = fseg.bolt_axial_force(500e3)       # bolt force for a 500 kN shell force

Where to start

  • Getting started


    New to Python? Install PyFlange step by step on Windows and run your first analysis, with or without writing code.

    Install PyFlange

  • Tutorials


    Worked examples: deterministic L- and T-flange analyses, design gap angles, AMD1 versus ED2, Monte Carlo simulations.

    Tutorials

  • Command line


    Run deterministic and Monte Carlo fatigue analyses of a JSON case file, without programming.

    Command line

  • JSON case format


    The file format that describes a flange fatigue case: geometry, bolt, gap, loads, S-N curve and statistics.

    JSON format

  • User guide


    How the model works, symbols, units and sign conventions, validation against reference results, troubleshooting.

    Model overview

  • API reference


    Every module, class and function, generated from the source code, with references to the IEC equations.

    API reference

What PyFlange can do

Task Where
Bolt force and bolt moment curves of L-flanges and T-flanges (IEC 61400-6 AMD1, Annex G.2) flangesegments, L-flange tutorial, T-flange tutorial
The changes of the model proposed for IEC 61400-6 ED2 Design gaps and ED2 tutorial
Check that the polynomial model is applicable (governing ULS failure mode) failure_mode, validate
Design gap heights (log-normal AMD1, Weibull ED2) stats.gap_height_distribution
Shell stiffness from a database of 2160 FEA results flangesegments.shell_stiffness
Preload losses due to settlement and plastic strain PolynomialLFlangeSegment
Bolt S-N curve, size effect, Miner's rule, fatigue life fatigue
Standard metric bolts, nuts and washers bolts
Monte Carlo simulation of the bolt fatigue damage Monte Carlo tutorials, stats
Case files, batch runs, results in Excel Command line, io

Background

The Bolt & Beautiful project

PyFlange has been developed within Bolt & Beautiful, a GROW research project on the bolted connections of offshore wind turbine support structures, by KCI, Siemens Gamesa, JBO and TNO. The project is funded with subsidy from the Top Sector Energy of the Dutch Ministry of Economic Affairs.

Within the project, extensive finite element studies were carried out. They supported the calibration of the safety factors and small improvements of the analytical flange model, which are proposed for the next edition of IEC 61400-6 (ref. [5], section 1.1).

IEC 61400-6 is the international standard for the design of wind turbine towers and foundations. Its amendment 1 (AMD1, published in June 2025) replaced the former Schmidt/Neuper approach for the fatigue design of flange bolts with a new analytical model, developed by Marc Seidel (Siemens Gamesa), which covers the effect of flange gaps of the size allowed by the manufacturing tolerances (ref. [1]). The model is given in Annex G.2 of the standard (ref. [2]), and the use of AMD1 becomes mandatory for IEC certification from December 2026 (ref. [5], section 9.2).

The model is considerably more complex than the previous one. To help the industry implement it, PyFlange was developed as an open-source reference implementation, and it is referred to in the background document of the standard (ref. [5], section 9.2). The results of PyFlange are verified against the reference spreadsheets of Siemens Gamesa (see Validation).

The revision of the standard towards Edition 2 (ED2) introduces some small changes to the model and new design gap heights (ref. [5], section 9.7). PyFlange implements them in separate classes (PolynomialLFlangeSegmentED2, PolynomialTFlangeSegmentED2, gap_height_distribution_ED2), so that both versions can be compared.

ED2 is a draft

The ED2 implementation follows the draft background document of 2026-08-04 (ref. [5]). It may change before ED2 is published. Use the AMD1 classes for certified designs.

The documents cited as ref. [n] throughout this documentation are listed on the References page.

License and disclaimer

PyFlange is free software, released under the GNU General Public License v3. It is provided without any warranty: the user remains responsible for the verification of the results and for their use in design.

Questions, bug reports and suggestions are welcome as GitHub issues. See Contributing.