## 2 Procedure for Bol Fatigue Analysis Using Schmidt-Neuper Method
### Basic Procedure for Schmidt-Neuper Algorithm  
The stresses in the bolt are estimated for ultimate and fatigue strength measurement using a single segment of the entire flange, as depicted in Figure 1. The tension force \(Z\), equal to the sum of the shell's stresses, is applied to the section. Resorting to this simplified model, the critical step in bolt fatigue analysis is to establish the link between \(Z\) and the bolt internal force \(F_{\text{VS}}\). As indicated in Figure 2, the pretension bolts and flange segment system is modeled as a spring system [30]. Parallel springs representing the washer and flange are in series with the spring, symbolizing the bolt. The bolt and washer's elastic stiffness can be evaluated as follows:  
\[C_{\text{s}}=\frac{EA_{\text{N}}}{L_{\text{s}}} \tag{1}\]  
\[C_{\text{D,2}}=\frac{E\pi\big{(}D_{\text{w}}^{2}-d_{\text{h}}^{2}\big{)}}{4T_{ \text{w}}} \tag{2}\]  
where \(E\) signifies the steel's elasticity modulus; \(A_{\text{N}}\) denotes the nominal bolt surface, which is calculable from the nominal bolt diameter; \(L_{\text{S}}\) is the free bolt length, which excludes the part of the bolt that passes through the nut; \(D_{\text{w}}\) and \(d_{\text{h}}\) refer to the key head's width bolt and the diameter of the bolt hole, respectively; \(T_{\text{w}}\) is the washer thickness. Figure 1: The whole flange and its one segment. Figure 2: The spring model to simulate the flange system. The following formula can be applied to determine the stiffness of a flange with a thickness \(T_{\rm f}\)[31]. \[C_{\rm D,1}=\frac{\pi E}{8T_{\rm f}}\Bigg{[}\bigg{(}D_{\rm w}+\frac{2T_{\rm f}}{10 }\bigg{)}^{2}-d_{\rm h}^{2}\Bigg{]} \tag{3}\]  
The stiffness of the flange and washer can be described in the following manner:  
\[C_{\rm D}=\bigg{(}\frac{1}{C_{\rm D,1}}+\frac{2}{C_{\rm D,2}}\bigg{)}^{-1} \tag{4}\]  
The symbol \(C\) specifies the total stiffness as follows:  
\[C=C_{\rm S}+C_{\rm D} \tag{5}\]  
Hence, the bolt and flange spring ratios are determined, respectively, as follows:  
\[p=C_{\rm S}/C,q=C_{\rm D}/C \tag{6}\]  
We can define a constant named level ratio as follows [29]:  
\[\lambda=\frac{0.7a+b}{0.7a} \tag{7}\]  
where \(a\) and \(b\) are the distances between the bolt center to the flange inner diameter and the mid-surface of the thin wall of the tower, respectively, as illustrated in \[C_{\text{s}}=\frac{EA_{\text{N}}}{L_{\text{s}}} \tag{1}\]0 Here, \(d\) is the flange inner diameter. PCD represents the pitch circle diameter, which is the diameter corresponding to the center line of the bolt. Two additional constants are defined as follows:  
\[C_{\text{s}}=\frac{EA_{\text{N}}}{L_{\text{s}}} \tag{1}\]1  
where \(Z_{\rm I}\) and \(Z_{\rm II}\) are the maximum wall load limits I and II, respectively; \(F_{\rm V}\) represents the preload bolt. \[C_{\text{s}}=\frac{EA_{\text{N}}}{L_{\text{s}}} \tag{1}\]2 Illustration of the flange geometry parameter. To produce the nonlinear relationship between the bolt load \(F_{\text{VS}}\) and tower wall load \(Z\), the following points on the curves are given by the Schmidt-Neuper algorithm:  
\[F_{\text{VS}}=\left\{ \begin{array}{ll}2F_{\text{V}}+\lambda Z&Z<-Z_{\text{II}} \\ 2F_{\text{V}}-\lambda Z_{\text{II}}&Z=-Z_{\text{II}}\\ F_{\text{V}}-pZ_{\text{I}}&Z=-Z_{\text{I}}\\ F_{\text{V}}&Z=0\\ F_{\text{V}}+pZ_{\text{I}}&Z=Z_{\text{I}}\\ \lambda Z_{\text{II}}&Z=Z_{\text{II}}\\ \lambda Z&Z_{\text{II}}<Z\end{array} \right. \tag{9}\]  
In Equation (9), the tower wall load \(Z\) can be evaluated by the external loads, and it yields the following:  
\[Z=\frac{2M}{RN}+\frac{F_{z}}{N} \tag{10}\]  
where \(M\) refers to the bending moment at the flange section; \(R\) is the outside radius of the tower at the flange position; \(F_{z}\) is a total force in the \(z\)-direction, and \(N\) is the number of bolts in the flange connection. The moment at flange \(M\) can be decomposed into \(M_{x}\) and \(M_{y}\). Both loads are assumed to be spatially fluctuating according to a sine or cosine function.