## 4 Solution of the System of Equilibrium Equations
### Conceptual Algorithm for Solving the Extended System of Equations  
The extended system of equations was formed by combining the system of equations of motion (24) with the constraints equation \(f(\mathbf{q},\lambda)\), and can be expressed as Equation (30). \[\left\{ \begin{array}{l}G(\mathbf{q},\lambda)=0\\ f(\mathbf{q},\lambda)=0\end{array} \right. \tag{30}\]  
This system for any time instant \(t_{n}=n\Delta t\) can be iteratively solved and can be used to determine the searched displacement vector \(\mathbf{q}\) and the load parameter \(\lambda\) for the nonlinear equilibrium path containing the local limit points. The constraints equation has the following form [25]. \[f(\mathbf{q},\lambda)=\Delta\mathbf{q}_{m}^{T}\Delta\mathbf{q}_{m}+\Delta\lambda_{m}^{2}- \Delta l^{2}=0 \tag{31}\]  
where \(\Delta l\) is the increment (parameter) of the arc length on the solution path, \(\mathbf{q}=\left(u,w,\varphi\right)^{T}\) is a vector of the searched displacements, \(\Delta\lambda_{m}=\lambda^{n}-\lambda_{m}\) is the increment of the current load parameter \(\lambda^{n}\), \(\Delta\mathbf{q}_{m}=\mathbf{q}^{n}-\mathbf{q}_{m}\) is the increment of the current vector of unknown displacements \(\mathbf{q}^{n}\) in relation to the last convergent values of the load parameter \(\lambda_{m}\) and displacement vector \(\mathbf{q}_{m}\), which were obtained with the assumed accuracy in the previous load step \(m\). Directly solving the constraints Equation (31) allows for us to determine the load parameter \(\lambda^{n}\). The solution requires checking the differentiator \(g(\mathbf{q})=\Delta l^{2}-\mathbf{q}_{m}^{T}\mathbf{q}_{m}\) sing and was determined according to the following two equations. \[\lambda_{1,2}^{n}=\lambda_{m}\pm\sqrt{\Delta l^{2}-\Delta\mathbf{q}_{m}^{T} \Delta\mathbf{q}_{m}},\text{ if }g(\mathbf{q})\geq 0\]  
and  
\[\lambda_{1,2}^{n}=\lambda_{m}\pm\sqrt{\Delta\mathbf{q}_{m}^{T}\Delta\mathbf{q}_{m}- \Delta l^{2}},\text{ if }g(\mathbf{q})<0\]  
Then, the solution is selected as the smallest \"distance\" away from the solution that was obtained in a previous load step \(m-1\). The smallest \"distance\" responds to the smallest angle (or the largest cosine of the angle) between the solutions in actual load step \(m\) and the previous one \(m-1\):  
\[\vartheta=\min(\vartheta_{1},\vartheta_{2})=\min\biggl{(}\arccos\frac{\Delta \mathbf{q}_{m,1}\Delta\mathbf{q}_{m-1}}{\Delta l^{2}},\arccos\frac{\Delta\mathbf{q}_{m,2} \Delta\mathbf{q}_{m-1}}{\Delta l^{2}}\biggr{)} \tag{32}\]  
Analyzing the conditions of the solution to the constraints Equation (31), indicates that this criterion can be described by the following equation. \[\lambda^{n}=\lambda_{m}+sign(\Delta l^{2}-\Delta\mathbf{q}_{m}^{T}\Delta\mathbf{q}_{m })\sqrt{abs(\Delta l^{2}-\Delta\mathbf{q}_{m}^{T}\Delta\mathbf{q}_{m})} \tag{33}\]  
This extended system can be solved using a two-stage procedure described below. 1. Prediction stage \(n=0\)--for known initial values established in the previous load step \(m\) (i.e., \(\lambda_{m},\Delta\lambda^{0}=\Delta\lambda_{m},\mathbf{q}_{m}\)), the load parameter \(\lambda^{0}\) is determined using the constraints Equation (31): \[\lambda^{0}=\lambda_{m}+\Delta\lambda^{0}\] (34)
2. Correction stage \(n=1,\,2,\,\dots,\,N\)--is realized in four iterative steps. 1. New displacement increments \(\Delta\mathbf{q}^{n}\) are determined using the system of motion Equations (7). 2. The load parameter \(\lambda^{n}\) is determined using Equation (13). 3. The updated displacements vector is calculated, according to: \(\mathbf{q}^{n}=\mathbf{q}^{n-1}+\Delta\mathbf{q}^{n}\). 4. The iterations are terminated after reaching a predefined accuracy \(\|\mathbf{G}(\mathbf{q}^{n},\lambda^{n})\|\leq\varepsilon_{G}\) and then the load and displacement parameters are updated \(\lambda_{m+1}=\lambda^{n}\), \(\mathbf{q}_{m+1}=\mathbf{q}^{n}\) and the next load step starts from a new prediction stage. If the predefined accuracy is not achieved, then the next correction stage is required.