pyflange.flangesegments
¶
Mechanical models of single-bolt flange segments.
This module contains FlangeSegment classes, which model the mechanical
behavior of a flange sector containing one bolt only. The module provides:
Gap: description of the imperfection gap between two flange faces.FlangeSegment: abstract base class defining the transfer-function interface (bolt axial force and bolt bending moment as functions of the shell pull force).PolynomialFlangeSegment: abstract base class implementing the polynomial transfer functions of refs. [1] and [2].PolynomialLFlangeSegmentandPolynomialLFlangeSegmentED2: polynomial L-flange segment models (the latter implementing the modifications expected in IEC 61400-6 ED2).PolynomialTFlangeSegmentandPolynomialTFlangeSegmentED2: polynomial T-flange segment models (the latter implementing the modifications expected in IEC 61400-6 ED2).bolt_markov_matrix: conversion of a flange bending-moment Markov matrix into a bolt stress Markov matrix, via the segment transfer functions.shell_stiffness: shell stiffness interpolated from tabulated FEA results.
The only types of FlangeSegment currently available are an L-Flange segment and a T-Flange segment, implementing a polynomial relation between tower shell force and bolt force / bolt moment. Nonetheless, this module has been structured to be easily extensible with other types of FlangeSegment model, such as Multilinear (Petersen) L-Flanges, Multilinear T-Flanges, etc.
Units
All parameters must be supplied in a consistent system of units, e.g. meters for lengths, newtons for forces and pascals for stresses. Angles are expressed in radians.
Example
The following example creates an L-flange segment and evaluates the bolt axial force for a given shell pull force.
from math import pi
from pyflange.bolts import StandardMetricBolt, RoundNut
from pyflange.flangesegments import Gap, PolynomialLFlangeSegment
fseg = PolynomialLFlangeSegment(
a=0.150, b=0.122, s=0.054, t=0.172, R=4.0,
central_angle=2*pi/156,
Zg=-115e3, # dead weight per bolt (compression)
bolt=StandardMetricBolt("M80", "10.9", shank_length=0.160, stud=True),
Fv=2.9e6, # bolt preload
Do=0.086, washer=None, nut=RoundNut("M80"),
gap=Gap(height=0.002, angle=pi/6))
Fs = fseg.bolt_axial_force(500e3) # bolt force for a shell pull of 500 kN
References
The reference numbers are the same in all the PyFlange modules (see the references page). This module cites:
[1]Seidel, M.: IEC 61400-6 AMD1 Background document. Fatigue design for ring flange connections in wind turbine support structures. Rev00, Siemens Gamesa, 2024.[2]IEC 61400-6:2020+AMD1:2025 CSV. Wind energy generation systems - Part 6: Tower and foundation design requirements. Consolidated version,- Equation numbers G.xx refer to its Annex G.
[3]Petersen, C.: Nachweis der Betriebsfestigkeit exzentrisch beanspruchter Ringflanschverbindungen. Stahlbau 67 (1998), pp. 191-203. https://doi.org/10.1002/stab.199800690[4]Petersen, C.: Stahlbau. 4th edition, Springer Vieweg, 2012. https://doi.org/10.1007/978-3-8348-8610-1[5]Seidel, M.: IEC 61400-6 AMD1 & ED2 Background document. Fatigue design for ring flange connections in wind turbine support structures. Rev01, draft 2026-08-04, Siemens Gamesa. The changes of the polynomial model from AMD1 to ED2 are summarised in its section 9.7.[6]Tobinaga, I.; Ishihara, T.: A study of action point correction factor for L-type flanges of wind turbine towers. Wind Energy 21 (2018), pp. 801-806. https://doi.org/10.1002/we.2193
Classes:
-
Gap–A flange gap due to imperfections.
-
FlangeSegment–Abstract base class for a flange segment.
-
PolynomialFlangeSegment–A generic FlangeSegment with polynomial transfer functions.
-
PolynomialLFlangeSegment–An L-Flange implementation of a
PolynomialFlangeSegment. -
PolynomialLFlangeSegmentED2–An L-Flange segment modeled as it will be modified in IEC 61400-6 ED2.
-
PolynomialTFlangeSegment–A T-Flange implementation of a
PolynomialFlangeSegment. -
PolynomialTFlangeSegmentED2–A T-Flange segment modeled as it will be modified in IEC 61400-6 ED2.
Functions:
-
bolt_markov_matrix–Evaluates the bolt Markov matrix from the shell Markov matrix.
-
shell_stiffness–Calculates the axial stiffness of a flange-segment shell via interpolation.
Gap
dataclass
¶
A flange gap due to imperfections.
The design gap height of IEC 61400-6 AMD1 is the 95% quantile of the
log-normal distribution of ref. [2], section 6.7.5.2 (see
pyflange.stats.gap_height_distribution). The gap angles to be checked
are 30°, 60°, 90° and 120° (ref. [2], section 6.7.5.3).
Attributes:
-
height(float) –Maximum longitudinal gap height.
-
angle(float) –Angle subtended by the gap arc from the flange center, in radians.
-
shape_factor(float) –Factor accounting for a shape different than sinusoidal. Defaults to 1.0 (sinusoidal gap).
FlangeSegment
¶
Bases: ABC
Abstract base class for a flange segment.
This class is meant to be extended and not to be instantiated directly.
Each FlangeSegment child class must implement the two transfer-function
methods: .bolt_axial_force(Z) and .bolt_bending_moment(Z).
Methods:
-
bolt_axial_force–Calculates the bolt axial force generated by a shell pull force.
-
bolt_bending_moment–Calculates the bolt bending moment generated by a shell pull force.
bolt_axial_force
abstractmethod
¶
Calculates the bolt axial force generated by a shell pull force.
Parameters:
-
shell_pull(float or ndarray) –The shell pull force Z.
Returns:
-
float or ndarray–The resulting bolt axial force.
bolt_bending_moment
abstractmethod
¶
Calculates the bolt bending moment generated by a shell pull force.
Parameters:
-
shell_pull(float or ndarray) –The shell pull force Z.
Returns:
-
float or ndarray–The resulting bolt bending moment.
PolynomialFlangeSegment
¶
Bases: FlangeSegment
A generic FlangeSegment with polynomial transfer functions.
This class implements a polynomial relation between tower shell force Z and bolt axial force Fs or bolt bending moment Ms. It is not meant to be instantiated directly but to be subclassed.
The polynomial transfer functions are defined by 4 reference points:
- P1: Flange segment at rest.
- P2: Flange segment at ultimate tensile limit state.
- P3: Flange segment in small tensile deformation.
- P4: Gap closure state.
Child classes must provide the coordinates of these points (shell force, bolt force and bolt moment) through the abstract properties of this class. The transfer functions are a quadratic polynomial through P1, P2 and P3 in the tensile domain (above the shell force at rest), a quadratic polynomial between P4 and P1 in the compressive domain, and a constant below P4. Child classes may override the tensile polynomials when the reference defines them differently (e.g. the cubic bolt moment of T-flanges).
Methods:
-
bolt_axial_force–Calculates bolt axial force from tower shell force using a polynomial.
-
bolt_bending_moment–Calculates bolt bending moment from tower shell force using a polynomial.
Attributes:
-
shell_force_at_rest–Shell force when no external loads are applied (Z1).
-
bolt_force_at_rest–Bolt axial force when no external loads are applied (Fs1).
-
bolt_moment_at_rest–Bolt bending moment when no external loads are applied (Ms1).
-
shell_force_at_small_displacement–Intermediate tower shell force (Z3).
-
bolt_force_at_small_displacement–Intermediate bolt axial force (Fs3).
-
bolt_moment_at_small_displacement–Intermediate bolt bending moment (Ms3).
-
shell_force_at_tensile_ULS–Ultimate Limit State tower shell force (Z2).
-
bolt_force_at_tensile_ULS–Bolt axial force at tensile failure (Fs2).
-
bolt_moment_at_tensile_ULS–Bolt bending moment at tensile failure (Ms2).
-
shell_force_at_closed_gap–Shell force necessary to completely close the imperfection gap (Z4).
shell_force_at_rest
abstractmethod
property
¶
Shell force when no external loads are applied (Z1).
bolt_force_at_rest
abstractmethod
property
¶
Bolt axial force when no external loads are applied (Fs1).
bolt_moment_at_rest
abstractmethod
property
¶
Bolt bending moment when no external loads are applied (Ms1).
shell_force_at_small_displacement
abstractmethod
property
¶
Intermediate tower shell force (Z3).
bolt_force_at_small_displacement
abstractmethod
property
¶
Intermediate bolt axial force (Fs3).
bolt_moment_at_small_displacement
abstractmethod
property
¶
Intermediate bolt bending moment (Ms3).
shell_force_at_tensile_ULS
abstractmethod
property
¶
Ultimate Limit State tower shell force (Z2).
bolt_force_at_tensile_ULS
abstractmethod
property
¶
Bolt axial force at tensile failure (Fs2).
bolt_moment_at_tensile_ULS
abstractmethod
property
¶
Bolt bending moment at tensile failure (Ms2).
shell_force_at_closed_gap
abstractmethod
property
¶
Shell force necessary to completely close the imperfection gap (Z4).
bolt_axial_force
¶
Calculates bolt axial force from tower shell force using a polynomial.
The relation is defined as a polynomial function based on ref. [2], section G.2.2, eq. G.32.
Parameters:
-
shell_pull(float or ndarray) –The tower shell force Z.
Returns:
-
float or ndarray–The corresponding bolt axial force Fs.
bolt_bending_moment
¶
Calculates bolt bending moment from tower shell force using a polynomial.
The relation is defined as a polynomial function based on ref. [2], section G.2.3, eqs. G.59 (L-flanges) and G.61 (T-flanges).
Parameters:
-
shell_pull(float or ndarray) –The tower shell force Z.
Returns:
-
float or ndarray–The corresponding bolt bending moment Ms.
PolynomialLFlangeSegment
dataclass
¶
PolynomialLFlangeSegment(a, b, s, t, R, central_angle, Zg, bolt, Fv, Do, washer, nut, gap, tilt_angle=0.0, E=210000000000.0, G=80770000000.0, s_ratio=1.0, r=0.01, k_shell=None, PPL=0.0, DFT=0.0, settlement_factor=1.0)
Bases: PolynomialFlangeSegment
An L-Flange implementation of a PolynomialFlangeSegment.
This class models an L-flange segment using the polynomial model from ref. [1] and [2]. It defines the reference points for the polynomial functions inherited from the parent class.
The transfer functions are available through the bolt_axial_force and
bolt_bending_moment methods, which accept either a scalar or a NumPy
array of shell pull forces.
Attributes:
-
a(float) –Distance from inner flange face to bolt hole center.
-
b(float) –Distance from bolt hole center to shell center-line.
-
s(float) –Shell thickness.
-
t(float) –Flange thickness.
-
R(float) –Shell outer curvature radius.
-
central_angle(float) –Angle subtended by the flange segment arc.
-
Zg(float) –Load on the shell at rest (e.g., dead weight). Negative for compression.
-
bolt(Bolt) –The bolt in the flange segment.
-
Fv(float) –Design preload value before losses.
-
Do(float) –Bolt hole diameter.
-
washer(Washer) –The washer used. None if no washer.
-
nut(Nut) –The nut used.
-
gap(Gap) –The flange gap.
-
tilt_angle(float) –Flange tilt angle in radians.
-
E(float) –Young's modulus of the flange material.
-
G(float) –Shear modulus of the flange material.
-
s_ratio(float) –Ratio of bottom shell thickness to
s. -
r(float) –Radius of the rounding between shell and flange.
-
k_shell((float, callable, None)) –Shell stiffness [N/m/m]. Can be a value, a function taking the flange segment as argument and returning the stiffness, or
Noneto use the simplified formula of ref. [2], eq. G.43. -
PPL(float) –Percentage of bolt pretension loss due to plastic strain, expressed as a fraction of
Fv(e.g. 0.03 for 3%). Defaults to 0.0. -
DFT(float) –Maximum allowable dry film thickness of coating applied on the contact area between washers and flange [m]. Defaults to 0.0 m.
-
settlement_factor(float) –Factor reducing the amount of bolt settlement, to be taken as 1.0 for torque tightening and 0.5 for tension tightening. Defaults to 1.0.
Methods:
-
failure_mode–Determines the failure mode of the flange.
-
validate–Verifies the applicability of the polynomial model.
bolt_preload
cached
property
¶
float: Bolt preload after settlement and plastic losses.
The preload Fv is reduced by the settlement loss (function of DFT
and settlement_factor, ref. [2], section 6.7.5.1.2, eqs. 27 and 28) and
by the plastic loss (PPL * Fv, ref. [2], eq. 24).
shell_force_at_rest
cached
property
¶
Shell force when no external loads are applied (Z1).
The shell loads at rest are normally the self-weights of the structure supported by the flange.
bolt_force_at_rest
cached
property
¶
Bolt axial force when no external loads are applied (Fs1).
The bolt force at rest is just the bolt pretension.
bolt_moment_at_rest
cached
property
¶
Bolt bending moment when no external loads are applied (Ms1).
shell_force_at_small_displacement
cached
property
¶
Intermediate tower shell force (Z3).
This auxiliary point gives the polynomial the right initial slope, evaluated according to ref. [2], Table G.1, point 3.
bolt_force_at_small_displacement
cached
property
¶
Intermediate bolt axial force (Fs3).
This auxiliary point gives the polynomial the right initial slope, evaluated according to ref. [2], Table G.1, point 3.
bolt_moment_at_small_displacement
cached
property
¶
Intermediate bolt bending moment (Ms3).
shell_force_at_tensile_ULS
cached
property
¶
Ultimate Limit State tower shell force (Z2).
This is the tower shell force that brings the flange segment to its tensile ULS, evaluated according to ref. [2], Table G.1, point 2.
bolt_force_at_tensile_ULS
cached
property
¶
Bolt axial force at tensile failure (Fs2).
This is the bolt's tensile force at the shell's ULS, assuming failure mode B (ref. [2], eq. G.36), scaled by the gap shape factor.
bolt_moment_at_tensile_ULS
cached
property
¶
Bolt bending moment at tensile failure (Ms2).
shell_force_at_closed_gap
cached
property
¶
Shell force necessary to completely close the imperfection gap (Z4).
Evaluated according to ref. [2], eq. G.56.
failure_mode
¶
Determines the failure mode of the flange.
The ultimate shell force is evaluated for each of the failure modes A, B, D and E of ref. [2], and the governing mode is the one with the lowest ultimate shell force.
Parameters:
-
fy_sh(float) –Yield stress of the shell material.
-
fy_fl(float) –Yield stress of the flange material.
-
gamma_0(float, default:1.1) –Material factor. Defaults to 1.1.
Returns:
-
tuple–A tuple containing:
- str: The failure mode ("A", "B", "D", or "E").
- list: A list of the shell force limits for each failure mode [Zu_A, Zu_B, Zu_D, Zu_E].
validate
¶
Verifies the applicability of the polynomial model.
Checks if this L-Flange Segment fails according to failure mode B.
Parameters:
-
fy_sh(float) –Yield stress of the shell material.
-
fy_fl(float) –Yield stress of the flange material.
-
gamma_0(float, default:1.1) –Material factor. Defaults to 1.1.
Raises:
-
ValueError–If the failure mode is not "B".
PolynomialLFlangeSegmentED2
dataclass
¶
PolynomialLFlangeSegmentED2(a, b, s, t, R, central_angle, Zg, bolt, Fv, Do, washer, nut, gap, tilt_angle=0.0, E=210000000000.0, G=80770000000.0, s_ratio=1.0, r=0.01, k_shell=None, PPL=0.0, DFT=0.0, settlement_factor=1.0)
Bases: PolynomialLFlangeSegment
An L-Flange segment modeled as it will be modified in IEC 61400-6 ED2.
This class has the same parameters and interface as PolynomialLFlangeSegment,
but it replaces the a* parameter, the parallel-gap closing force and the
gap stiffness with the formulations that will be introduced in
IEC 61400-6 ED2 (ref. [5], section 9.7, changes #1 to #3).
PolynomialTFlangeSegment
dataclass
¶
PolynomialTFlangeSegment(a, b, s, t, R, central_angle, Zg, bolt, Fv, Do, washer, nut, gap, tilt_angle, E=210000000000.0, G=80770000000.0, s_ratio=1.0, r=0.01, k_shell=None, PPL=0.0, DFT=0.0, settlement_factor=1.0)
Bases: PolynomialFlangeSegment
A T-Flange implementation of a PolynomialFlangeSegment.
This class models a T-flange segment using the polynomial model from ref. [1] and [2]. It defines the reference points for the polynomial functions inherited from the parent class. The segment contains a pair of bolts, one on each side of the shell.
The transfer functions are available through the bolt_axial_force and
bolt_bending_moment methods, which accept either a scalar or a NumPy
array of shell pull forces. Differently from the L-flange, the bolt
bending moment in the tensile domain is a cubic polynomial (ref. [2],
eq. G.61).
Attributes:
-
a(float) –Distance from inner flange face to bolt hole center.
-
b(float) –Distance from bolt hole center to shell center-line.
-
s(float) –Shell thickness.
-
t(float) –Flange thickness.
-
R(float) –Shell outer curvature radius.
-
central_angle(float) –Angle subtended by the flange segment arc.
-
Zg(float) –Load on the shell at rest (e.g., dead weight), per bolt pair. Negative for compression.
-
bolt(Bolt) –The bolt in the flange segment.
-
Fv(float) –Design preload value before losses.
-
Do(float) –Bolt hole diameter.
-
washer(Washer) –The washer used. None if no washer.
-
nut(Nut) –The nut used.
-
gap(Gap) –The flange gap.
-
tilt_angle(float) –Flange tilt angle in radians. It has no default value, because ref. [2], section G.2.4, requires the inclination of T-flanges to be always considered: pass 0.0 explicitly only if the taper of the flange ensures that the first point of contact is directly below the tower wall (ref. [2], section 6.7.5.3).
-
E(float) –Young's modulus of the flange material.
-
G(float) –Shear modulus of the flange material.
-
s_ratio(float) –Ratio of bottom shell thickness to
s. -
r(float) –Radius of the rounding between shell and flange.
-
k_shell((float, callable, None)) –Shell stiffness [N/m/m]. Can be a value, a function taking the flange segment as argument and returning the stiffness, or
Noneto use the simplified formula of ref. [2], eq. G.43. -
PPL(float) –Percentage of bolt pretension loss due to plastic strain, expressed as a fraction of
Fv(e.g. 0.03 for 3%). Defaults to 0.0. -
DFT(float) –Maximum allowable dry film thickness of coating applied on the contact area between washers and flange [m]. Defaults to 0.0 m.
-
settlement_factor(float) –Factor reducing the amount of bolt settlement, to be taken as 1.0 for torque tightening and 0.5 for tension tightening. Defaults to 1.0.
Methods:
-
failure_mode–Determines the failure mode of the flange.
-
validate–Verifies the applicability of the polynomial model.
bolt_preload
cached
property
¶
float: Bolt preload after settlement and plastic losses.
The preload Fv is reduced by the settlement loss (function of DFT
and settlement_factor, ref. [2], section 6.7.5.1.2, eqs. 27 and 28) and
by the plastic loss (PPL * Fv, ref. [2], eq. 24).
shell_force_at_rest
cached
property
¶
Shell force when no external loads are applied (Z1).
The shell loads at rest are normally the self-weights of the structure supported by the flange.
bolt_force_at_rest
cached
property
¶
Bolt axial force when no external loads are applied (Fs1).
The bolt force at rest is just the bolt pretension.
bolt_moment_at_rest
cached
property
¶
Bolt bending moment when no external loads are applied (Ms1).
shell_force_at_small_displacement
cached
property
¶
Intermediate tower shell force (Z3).
This auxiliary point gives the polynomial the right initial slope, evaluated according to ref. [2], Table G.1, point 3.
bolt_force_at_small_displacement
cached
property
¶
Intermediate bolt axial force (Fs3).
This auxiliary point gives the polynomial the right initial slope, evaluated according to ref. [2], Table G.1, point 3.
bolt_moment_at_small_displacement
cached
property
¶
Intermediate bolt bending moment (Ms3).
shell_force_at_tensile_ULS
cached
property
¶
Ultimate Limit State tower shell force (Z2).
This is the tower shell force that brings the flange segment to its tensile ULS, evaluated according to ref. [2], Table G.1, point 2.
bolt_force_at_tensile_ULS
cached
property
¶
Bolt axial force at tensile failure (Fs2).
This is the bolt's tensile force at the shell's ULS, assuming failure mode A (ref. [2], eq. G.36), scaled by the gap shape factor.
bolt_moment_at_tensile_ULS
cached
property
¶
Bolt bending moment at tensile failure (Ms2).
shell_force_at_closed_gap
cached
property
¶
Shell force necessary to completely close the imperfection gap (Z4).
Evaluated according to ref. [2], eq. G.56.
failure_mode
¶
Determines the failure mode of the flange.
The ultimate shell force is evaluated for each of the failure modes A, B, D and E of ref. [2] (eqs. G.24 to G.29), and the governing mode is the one with the lowest ultimate shell force.
Parameters:
-
fy_sh(float) –Yield stress of the shell material. Not used, since the plastic hinge of T-flanges is in the flange (ref. [2], Figure G.6).
-
fy_fl(float) –Yield stress of the flange material.
-
gamma_0(float, default:1.1) –Material factor. Defaults to 1.1.
Returns:
-
tuple–A tuple containing:
- str: The failure mode ("A", "B", "D", or "E").
- tuple: The shell force limits for each failure mode (Zu_A, Zu_B, Zu_D, Zu_E).
validate
¶
Verifies the applicability of the polynomial model.
Checks if this T-Flange Segment fails according to failure mode A (ref. [2], eq. G.31).
Parameters:
-
fy_sh(float) –Yield stress of the shell material.
-
fy_fl(float) –Yield stress of the flange material.
-
gamma_0(float, default:1.1) –Material factor. Defaults to 1.1.
Raises:
-
ValueError–If the failure mode is not "A".
PolynomialTFlangeSegmentED2
dataclass
¶
PolynomialTFlangeSegmentED2(a, b, s, t, R, central_angle, Zg, bolt, Fv, Do, washer, nut, gap, tilt_angle, E=210000000000.0, G=80770000000.0, s_ratio=1.0, r=0.01, k_shell=None, PPL=0.0, DFT=0.0, settlement_factor=1.0)
Bases: PolynomialTFlangeSegment
A T-Flange segment modeled as it will be modified in IEC 61400-6 ED2.
This class has the same parameters and interface as PolynomialTFlangeSegment,
but it replaces the gap stiffness with the formulation that will be introduced
in IEC 61400-6 ED2 (ref. [5], sections 9.3.3 and 9.7, change #2). The other
ED2 changes of ref. [5], section 9.7 (torsional correction factor and a*)
only concern L-flanges.
bolt_markov_matrix
¶
bolt_markov_matrix(fseg, flange_markov_matrix, bending_factor=0.0, macro_geometric_factor=1.0, mean_factor=1.0, range_factor=1.0, SMF=1.0)
Evaluates the bolt Markov matrix from the shell Markov matrix.
The flange bending moment ranges and means are converted into shell pull
forces acting on the flange segment, and then into minimum and maximum bolt
stresses through the transfer functions of the flange segment. The bolt
stress is the sum of the axial stress and of the bending stress scaled by
bending_factor, evaluated on the bolt thread cross-section, according
to ref. [2], section 6.7.5.4, eq. (42).
The flange bending moment M is converted into the segment shell force as Z = M / W * A_seg (ref. [2], eq. G.33), where W is the section modulus of the tower shell, evaluated at the shell mid-surface, and A_seg the shell cross-section area of the segment.
Parameters:
-
fseg(PolynomialFlangeSegment) –The flange segment containing the transfer functions. WARNING: Currently only works with PolynomialFlangeSegments.
-
flange_markov_matrix(MarkovMatrix) –The Markov matrix of bending moments on the flange.
-
bending_factor(float, default:0.0) –Factor for the bending portion of the total stress range (kappa_b of ref. [2], eq. (43)). Defaults to 0.0 (axial stress only).
-
macro_geometric_factor(float, default:1.0) –Factor for macro geometric influences (the SCF of ref. [2], section 6.7.5.3), affecting dead weight, mean, and range values. If omitted, it defaults to 1.0.
-
mean_factor(float, default:1.0) –Factor for the mean values of the tower's bending moments. If omitted, it defaults to 1.0.
-
range_factor(float, default:1.0) –Factor for the range of the tower's bending moments. If omitted, it defaults to 1.0.
-
SMF(float, default:1.0) –Stress Multiplication Factor to be applied to bolt Markov matrix stress ranges. If omitted, it defaults to 1.0.
Returns:
-
MarkovMatrix–The bolt's Markov matrix representing the stress history. Its cycles and duration are the same as the flange Markov matrix.
shell_stiffness
¶
Calculates the axial stiffness of a flange-segment shell via interpolation.
This function interpolates shell stiffness from a dataset of 2160 FEA results,
covering 8 diameters (3 m to 10 m), 15 shell thicknesses (10 mm to 150 mm)
and 18 gap angles (10° to 180°). This is the database of pre-computed
stiffness values described in ref. [5], section 9.3.1, as an alternative
to the simplified formula of ref. [2], eqs. G.43 and G.44.
Values outside the range covered by the dataset are not extrapolated, and
nan is returned instead.
Example
Parameters:
-
shell_radius(float) –Outer radius of the shell.
-
shell_thickness(float) –Thickness of the shell.
-
gap_angle(float) –Angular length of the flange gap in radians.
Returns:
-
float–The interpolated shell stiffness (K_sh), or
nanif the arguments are outside the dataset range.