## 3 Algorithm for Finding the Static Equilibrium
For springs, bushings, and buffers, the virtual linear (\(\delta\mathrm{r}\)) and angular (\(\delta\mathrm{\phi}\)) displacements are expressed according to the generalized coordinate from the corresponding suspension side (\(Z_{\mathrm{Gs}}\) or \(Z_{\mathrm{Gd}}\), by case):  
\[\delta\mathrm{r}\,=\,\delta\mathrm{r}(Z_{\mathrm{Gs}}/\mathrm{Gd})\,=\,\frac {\mathrm{vr}}{\upsilon Z_{\mathrm{Gs}}/\mathrm{Gd}}\cdot\delta Z_{\mathrm{Gs} }\,/\mathrm{Gd},\,\delta\mathrm{\phi}\,=\,\delta\mathrm{\phi}(Z_{\mathrm{Gs} \,/\,\mathrm{Gd}})\,=\,\frac{\mathrm{\upsilon\phi}}{\upsilon Z_{\mathrm{Gs} \,/\,\mathrm{Gd}}}\cdot\delta Z_{\mathrm{Gs}\,/\,\mathrm{Gd}}. \tag{11}\]  
while for the anti-roll bar, both coordinates influence the virtual displacements:  
\[\delta\mathrm{r_{Ws/Wd}}\,=\,\delta\mathrm{r_{Ws/Wd}}(Z_{\mathrm{Gs}},Z_{ \mathrm{Gd}})\,=\,\frac{\mathrm{vr_{Ws/Wd}}}{\upsilon Z_{\mathrm{Gs}}}\cdot \delta Z_{\mathrm{Gs}}\,+\,\frac{\mathrm{vr_{Ws/Wd}}}{\upsilon Z_{\mathrm{Gd}}} \cdot\delta Z_{\mathrm{Gd}}. \tag{12}\]  
Each of the two (left and right) wheel guidance mechanisms has one degree of mobility (i.e., the vertical displacement/travel of the related wheel), with the equation of virtual mechanical work (10) being transposed into a two-equation nonlinear system as follows:  
\[\mathrm{F_{1}}(Z_{\mathrm{Gs}},Z_{\mathrm{Gd}}) =\mathrm{F_{s}}\cdot\frac{\mathrm{vr_{Ks}}}{\upsilon Z_{\mathrm{Gs }}}+\mathrm{F_{as}}\cdot\frac{\mathrm{vr_{Ds}}}{\upsilon Z_{\mathrm{Gs}}}+ \mathrm{F_{s}}\cdot\frac{\mathrm{vr_{Ds}}}{\upsilon Z_{\mathrm{Gs}}}+\mathrm{F _{ws}}\cdot\frac{\mathrm{vr_{Ws}}}{\upsilon Z_{\mathrm{Gs}}}+\mathrm{F_{ws}} \cdot\frac{\mathrm{vr_{Ws}}}{\upsilon Z_{\mathrm{Gd}}}+\sum\limits_{\mathrm{i=1 }}^{\mathrm{n}}\left(\mathrm{M_{F}}\cdot\frac{\mathrm{\upsilon\phi}}{\upsilon Z _{\mathrm{Gs}}}\right)_{\mathrm{i}}=0, \tag{13}\] \[\mathrm{F_{2}}(Z_{\mathrm{Gs}},Z_{\mathrm{Gd}}) =\mathrm{F_{d}}\cdot\frac{\mathrm{vr_{Pd}}}{\upsilon Z_{\mathrm{Gd }}}+\mathrm{F_{ad}}\cdot\frac{\mathrm{vr_{Qd}}}{\upsilon Z_{\mathrm{Gd}}}+ \mathrm{F_{td}}\cdot\frac{\mathrm{vr_{Id}}}{\upsilon Z_{\mathrm{Gd}}}+ \mathrm{F_{wd}}\cdot\frac{\mathrm{vr_{Wd}}}{\upsilon Z_{\mathrm{Gd}}}+\sum \limits_{\mathrm{i=1}}^{\mathrm{n}}\left(\mathrm{M_{F}}\cdot\frac{\mathrm{ \upsilon\phi}}{\upsilon Z_{\mathrm{Gd}}}\right)_{\mathrm{i}}=0.\]  
Determining the equilibrium position is further reduced to a mono-objective optimal design problem (without design constraints), which consists of determining the values of the independent design variables \(Z_{\mathrm{Gs}}\) and \(Z_{\mathrm{Gd}}\), for which the function:  
\[\mathrm{F}(Z_{\mathrm{Gs}},Z_{\mathrm{Gd}})\,=|\mathrm{F_{1}}(Z_{\mathrm{Gs}},Z_{\mathrm{Gd}})|\,+\,|\mathrm{F_{2}}(Z_{\mathrm{Gs}},Z_{\mathrm{Gd}})|,\ Z_{ \mathrm{Gs,d}}\in[Z_{\mathrm{Gs,d\ min}},Z_{\mathrm{Gs,d\ max}}], \tag{14}\]  
has a minimum value. The solution can be determined through an iterative process by considering discrete values for the two design variables in the compression (up)-extension (down) operating range of the suspension mechanism, and by identifying the values that ensure the minimum of the function (14). The value pairs for the design variables were generated through the next sequence:  
\[ \begin{array}{l}Z_{\mathrm{Gs}}^{0}\,=\,Z_{\mathrm{Gs}\,\min},\,Z_{\mathrm{Gd}}\in\left[Z_{ \mathrm{Gd}\,\min},\,Z_{\mathrm{Gd}\,\max}\right],\\ Z_{\mathrm{Gs}}^{1}\,=\,Z_{\mathrm{Gs}}^{0}\,+\,\Delta Z_{\mathrm{Gs}},\,Z_{ \mathrm{Gd}}\in\left[Z_{\mathrm{Gd}\,\min},Z_{\mathrm{Gd}\,\max}\right],\\ \cdots\\ Z_{\mathrm{Gs}}^{k+1}\,=\,Z_{\mathrm{Gs}}^{k}\,+\,\Delta Z_{\mathrm{Gs}},\,Z_{ \mathrm{Gd}}\in\left[Z_{\mathrm{Gd}\,\min},Z_{\mathrm{Gd}\,\max}\right],\\ \cdots\\ Z_{\mathrm{Gs}}\,=\,Z_{\mathrm{Gs}\,\max},\,Z_{\mathrm{Gd}}\in\left[Z_{ \mathrm{Gd}\,\min},Z_{\mathrm{Gd}\,\max}\right],\end{array}  \tag{15}\]where \(\Delta Z_{\rm Gs}\) is the step by which the design variable \(Z_{\rm Gs}\) changes (similarly, the other design variable, \(Z_{\rm Gd}\), changes with the step \(\Delta Z_{\rm Gd}\) within its own variation range).