## 2 Theoretical Concepts
### Development of Hysteresis Models
\begin{aligned} \mathbf{m_{k+1}}&=\mathbf{K }_{P}^{T}\cdot\mathbf{u_{k+1}}-\mathbf{K}_{R}\cdot\boldsymbol{\theta}_{\mathbf{ k}}^{\prime\prime}-\mathbf{K}_{R}\cdot\boldsymbol{\Delta\theta}^{\prime\prime}\\ \mathbf{m_{k+1}}&=\mathbf{m_{k}}+\mathbf{K_{d}} \cdot\boldsymbol{\Delta\theta}^{\prime\prime}\end{aligned} \right. \tag{10}\]  
Replacing \(\mathbf{m_{k+1}}\) in the first equations yields:  
\[\boldsymbol{\Delta\theta}^{\prime\prime}=(\mathbf{K}_{R}+\mathbf{K_{d}})^{-1} (\mathbf{K}_{P}^{T}\cdot\mathbf{u_{k+1}}-\mathbf{K}_{R}\cdot\boldsymbol{ \theta}^{\prime\prime}-\mathbf{m_{k}}) \tag{12}\]  
where \(\mathbf{K_{d}}\) is a \(\mathbf{K}_{R}\) size matrix that contains on the main diagonal the history variables \(k_{i}^{hr}\). \[\mathbf{K_{d}}= \begin{bmatrix}k_{1}^{hr}&0&\ldots&0\\ 0&k_{2}^{hr}&\ldots&0\\ \vdots&\vdots&\ddots&\vdots\\ 0&0&\ldots&k_{nph}^{hr}\end{bmatrix}  \tag{13}\]  
\(k_{i}^{hr}\) are the slopes of the hysteresis model branches and \(nph\) is the number of plastic hinges. A representative feature of FAM is the usage of trial bending moment values above the elastic limit which are reduced to capacity. Thus, the first step in simulating the structural nonlinear behavior is to define the trial values based on the previous step's information. \[\boldsymbol{\Delta\theta}_{\textbf{trial}}^{\prime\prime}=(\mathbf{K}_{R}+ \mathbf{K_{d}^{trial}})^{-1}(\mathbf{K}_{P}^{T}\cdot\mathbf{u_{k+1}}-\mathbf{ K}_{R}\cdot\boldsymbol{\theta}^{\prime\prime}-\mathbf{m_{k}}) \tag{14}\]  
\[\mathbf{m_{k+1}^{trial}}=\mathbf{m_{k}}+\mathbf{K}_{P}^{T}\cdot(\mathbf{u_{k+ 1}}-\mathbf{u_{k}})-\mathbf{K}_{R}\cdot\boldsymbol{\Delta\theta}_{\textbf{ trial}}^{\prime\prime} \tag{15}\]  
In the original approach of the FAM, the trial bending moments are calculated in each time step assuming that no plastic rotation increment \(\boldsymbol{\Delta\theta}_{\textbf{trial}}^{\prime\prime}\) occurs. For the implementation of hysteresis functions a non-zero plastic rotation trial increment \(\boldsymbol{\Delta\theta}_{\textbf{trial}}^{\prime\prime}\) must be introduced. Taking into account that trial bending moments and trial plastic rotation increment are determined using the last and current step data, trial \(\mathbf{K_{d}}\) values must also be assumed. It is important to mention that as long as the structural model exhibits elastic behavior, every \(k_{i}^{hr}\) value in \(\mathbf{K_{d}}\) is set to zero. Consequently, the \(\boldsymbol{\Delta\theta}_{\textbf{trial}}^{\prime\prime}\) is a null vector and the bending moment trial values \(\mathbf{m_{k+1}^{trial}}\) are considered to be the final values. On the other hand, after the bending capacity is exceeded, plastic deformations occur and the hysteresis rules are engaged for the determination of final \(\mathbf{m_{k+1}}\) and \(\boldsymbol{\Delta\theta}\) vectors. For every plastic hinge, the rules that define the cyclic model are implemented using the values of the \(\mathbf{K_{d}}\) matrix which are updated accordingly in each time step. As stated before, the procedure for the determination of nonlinear structural response at any time step starts with an initial \(\mathbf{K_{d}}\) trial matrix whose values \(k_{i}^{hr}\) describe the unloading slopes for all the plastic hinges. Next, trial plastic rotation increment and trial bending moment are determined. Furthermore, in order to update the \(\mathbf{K_{d}}\) matrix, for every plastic hinge, the values in \(\mathbf{m_{k+1}^{trial}}\) are compared with both the previous corresponding values in \(\mathbf{m_{k}}\) and the capacity function defined for that case. If the bending decreased, the unloading assumption made for \(k_{i}^{hr}\) is correct and the trial bending moment value is set back to the previous step value. Else, if bending increases, the trial value is compared to the capacity function Equation (16). If the capacity function is exceeded, the \(k_{i}^{hr}\) is updated to the slope of the capacity function and the trial bending value is capped to capacity (Figure 1).