1 Introduction

In recent decades, there is a huge rise in the number of cable–strut structures consisting of stretched cables and compressed struts. The considerable benefits of this kind of structures, such as lightweight, innovative configurations and deployability, make them prevalent in a variety of fields including architecture, astronautics, biomechanics, etc. Insofar as most cable–strut structures are statically and kinematically indeterminate systems that cannot retain their designed shapes without appropriate pretensions, form finding is naturally considered a critical step of the design process for such structures.

In order to find the specific equilibrium configuration and its corresponding initial member forces, the form finding was extensively studied for cable–strut structures using various methods. The force density method [1, 2], the dynamic relaxation method [3,4,5,6] and the finite element method [7,8,9,10] are known as typical form finding methods. Moreover, there were many other remarkable studies making valuable contributions to the form finding. Estrada et al. [11], Zhang and Ohsaki [12], Tran and Lee [13], Lee and Lee [14] presented numerical methods for the form finding of tensegrities. In these methods, the force density matrix and the equilibrium matrix were iteratively decomposed in different ways. Masic et al. [15] suggested an algebraic method based on invariant tensegrity transformations. Ohsaki and Zhang [16] proposed a nonlinear programming approach to the form finding using fictitious material properties. Recently, some heuristic algorithms were also introduced into the form finding analysis, such as the genetic algorithm [17,18,19,20], the Monte Carlo method [21], the simulated annealing algorithm [22] and the ant colony systems algorithm [23]. The general strategies of these algorithms were to formulate the form finding problems into discrete optimization models. The most recent review on this issue can be found in references [24, 25].

Additionally, the force finding problem is another important part of the form finding issue. The force finding, also known as the initial forces design, is the identification of a self-equilibrated pre-stress state for a structure with given shape. According to the equilibrium matrix theory established by Pellegrino and Calladine [26], each set of initial member forces can be considered as a unique linear combination of the independent self-stress states [27]. For a structure with one self-stress state, the obtained state could be used as a pre-stress state since it is by nature consonant with the stress unilateral property of each member, i.e., cables are in tension and struts in compression. For a structure with multiple self-stress states, each state extracted from the null space of the equilibrium matrix does not obey the stress unilateral property generally, which means those states cannot be directly used. To search compatible pre-stress states, Quirant et al. [28, 29] presented a linear program that constituted a convex polyhedral cone and its application was limited to simple cases. Sánchez et al. [30] proposed strategies to identify and localize self-stress states in a modular tensegrity grid instead of the whole tensegrity system.

As the pleasing symmetry is a frequent occurrence in cable–strut structures, symmetric features have been intentionally used to facilitate the force finding process by different means. Zhou et al. [31] proposed a new symmetry-based grouping scheme for the double singular values decomposition (DSVD) method of force finding. Based on the linear adjustment theory, Ströbel [32], Zhang et al. [33], Ren et al. [34] developed numerical procedures to find an optimal state with minimum residual nodal forces. In these methods, the symmetry was exploited to generate proper group classifications so as to solve the force finding problem [35,36,37]. Moreover, using the group representation theory, Raj and Guest [38] proposed a simplification technique for attaining feasible sets of initial forces, where the symmetry-adapted force density matrix was used to check the required nullity with less difficulty. Kangwai and Guest [39] and Zhang et al. [40] developed an analytical formulation of symmetry-adapted equilibrium matrix in a unique coordinate system where the hidden symmetry of structures manifested itself explicitly in terms of the self-stress state. Chen et al. [41] then directly extracted the integral pre-stress state from the null space of the first block matrix of this symmetry-adapted equilibrium matrix.

Although these aforementioned methods were, in a sense, of great assistance to simplify the initial force design of cable–strut structures, there remain several issues worth addressing. In the linear-adjustment-theory-based numerical procedures, the pretension assignment to several symmetric members is a key step that greatly affects the resultant pretensions. Specifically, its resultant pretensions may not accord with the stress unilateral property as well as the requirement of symmetric patterns if an unreasonable pretension assignment is given. The methods based on the group representation theory can only manifest the intrinsic symmetry of structures with respect to a symmetry-adapted coordinate frame. However, this coordinate system is not commonly used in the structural design, which is inconvenient for designers.

Therefore, the purpose of this article is to propose a symmetry-based method of force finding that could avoid the above issues. In order to exploit the symmetry of structures, this useful property is thoroughly investigated by two different means that are essentially consistent with each other. From an algebraic viewpoint, a symmetry indicator is proposed based on the equilibrium matrix theory, which can demonstrate the symmetry property in terms of each member. Furthermore, the orthogonal projection onto the null space of the equilibrium matrix is used to show the symmetry property of structures from a geometrical viewpoint. Then, an algebraic algorithm of computing feasible pre-stress states is presented in the light of the above orthogonal projection. Finally, three examples are given to verify the applicability and validity of the proposed algorithm.

2 Basic concepts in the force finding process

2.1 Feasible pre-stress state

Force finding analysis is to identify a self-equilibrated pre-stress state for the structure with given shape, which is also known as initial force design. The pre-stresses should be assigned considering the stress unilateral property of members; i.e., cables are under tension and struts under compression. Note that for symmetric structures, pre-stress states having symmetric patterns are of interest in this article. The elements in those states that correspond to the symmetrically located members of a structure are expected to have the same pre-stress values. The term “feasible pre-stress state” is then used to refer to a special pre-stress state that has a symmetric pattern and meanwhile obeys the stress unilateral property.

2.2 Independent self-stress state

For a three-dimensional assembly with n nodes, b elements (struts and cables) and ckinematic constraints, it has the following equilibrium equation:

$$\begin{aligned} {{\varvec{At}}}={{\varvec{f}}} \end{aligned}$$
(1)

where \({{\varvec{A}}}\;( {\in {\mathbb {R}}^{( {3n-c} )\times b}} )\) is the equilibrium matrix, \({{\varvec{t}}}\;( {\in {\mathbb {R}}^{b\times 1}} )\) is the vector of external nodal loads and \({{\varvec{f}}}( {\in {\mathbb {R}}^{( {3n-c} )\times 1}} )\) is the vector of member forces. Based on the equilibrium matrix theory, every vector of a basis of null space of matrix A is defined as a self-stress state satisfying the equation \({{\varvec{At}}}=\mathbf{0 }\). Every single pre-stress state \({{\varvec{q}}}\) can be written uniquely as a linear combination of those basis vectors:

$$\begin{aligned} {{\varvec{q}}}={{\varvec{S}}}{\varvec{\alpha }} \end{aligned}$$
(2)

where \({\varvec{\alpha }} =[ {\alpha _1 ,\alpha _2 ,\ldots ,\alpha _s } ]^{\mathrm{T}}\) is the vector of the combination coefficients of self-stress states and \({{\varvec{S}}}\) is the self-stress matrix with all those basis vectors of the null space of matrix A as its columns. In the linear algebra, both Gaussian elimination (GE) and singular value decomposition (SVD) can be used to obtain a basis of the null space of matrix. It is notable that the result given by SVD must be an orthonormal basis while that yielded by GE is generally a common basis that is not necessarily orthonormal.

In this article, the SVD technique was applied to the equilibrium matrix \({{\varvec{A}}}\) due to its robustness and stability as algorithms:

$$\begin{aligned} {{\varvec{A}}}={{\varvec{URV}}}^{\mathrm{T}} \end{aligned}$$
(3)

in which \({{\varvec{R}}}( {\in {\mathbb {R}}^{( {3n-c} )\times b}} )\) is a matrix where principal diagonal entries are \(r_{{\varvec{A}}} =\hbox {rank}\left( {{\varvec{A}}} \right) \) nonzero singular values in descending order and the other elements are zero; \({{\varvec{U}}}\;( {\in {\mathbb {R}}^{\left( {3n-c} \right) \times \left( {3n-c} \right) }} )\) and \({{\varvec{V}}}\;( {\in {\mathbb {R}}^{b\times b}} )\) represent the left and the right orthogonal matrices, respectively. Then, the self-stress matrix \({{\varvec{S}}}\) can be obtained as follows:

$$\begin{aligned} {{\varvec{S}}}=\left[ {{\varvec{v}}}_{r_{{\varvec{A}}} +1} ,{{\varvec{v}}}_{r_{{\varvec{A}}} +2} ,\ldots ,{{\varvec{v}}}_{b} \right] \end{aligned}$$
(4)

where the set of column vectors of this matrix consists of the last \(s=b-r_{{\varvec{A}}}\) columns of matrix \({{\varvec{V}}}\), which is essentially a set of linearly independent vectors whose span is the null space of matrix A, i.e., \(N({{\varvec{A}}})\).

3 Symmetry property

It is well accepted that in most cases the multiple self-stress states obtained by SVD cannot be directly used as feasible pre-stress states since the using algorithm cannot ensure that the elements of every single resultant state are consonant with the stress unilateral property of members. A general approach to getting a feasible pre-stress state is to find a proper linear combination of all those independent self-stress states, and as mentioned before, the workload required in this approach could be reduced by using the symmetry property. To utilize this pleasing property of symmetric structures, a thorough investigation of the null space of matrix A will be conducted in terms of its basis vectors, illustrating the symmetry of structures from both algebraic and geometric standpoints.

3.1 Euclidean norm

The self-stress matrix \({{\varvec{S}}}\) whose columns are basis vectors of \(N({{\varvec{A}}})\), in this case an orthonormal basis of \(N({{\varvec{A}}})\), could be expressed as:

$$\begin{aligned} {{\varvec{S}}}\left( {\in {\mathbb {R}}^{b\times s}} \right) =\left[ {{\begin{array}{cccc} {s_{11} }&{}\quad {s_{12} }&{}\quad \cdots &{}\quad {s_{1s} } \\ {s_{21} }&{}\quad {s_{22} }&{}\quad \cdots &{}\quad {s_{2s} } \\ \vdots &{}\quad \vdots &{}\quad \vdots &{}\quad \vdots \\ {s_{b1} }&{}\quad {s_{b2} }&{}\quad \cdots &{}\quad {s_{bs} } \\ \end{array} }} \right] =\left[ {{\begin{array}{cccc} {{\varvec{s}}}_{1}&{}\quad {{\varvec{s}}}_{2}&{}\quad \cdots &{}\quad {{\varvec{s}}}_{s} \\ \end{array} }} \right] =\left[ {{\begin{array}{l} {\tilde{{{\varvec{s}}}}}_{1} \\ {\tilde{{{\varvec{s}}}}}_{2} \\ \vdots \\ {\tilde{{{\varvec{s}}}}}_{{{\varvec{b}}}} \\ \end{array} }} \right] \end{aligned}$$
(5)

where \({{\varvec{s}}}_l \;\left( {l=1,2,\ldots ,s} \right) \) denotes the lth column vector of \({{\varvec{S}}}\) and \({\tilde{{\varvec{s}}}}_i \;\left( {i=1,2,\ldots ,b} \right) \) denotes the ith row vectors. It is apparent that matrix \({{\varvec{S}}}\) yielded by SVD is a sub-unitary matrix, which means \({{\varvec{S}}}^{\mathrm{T}}{{\varvec{S}}}={{\varvec{I}}}\left( {\in {\mathbb {R}}^{s\times s}} \right) \) but \({{\varvec{SS}}}^{\mathrm{T}}\ne {{\varvec{I}}}\left( {\in {\mathbb {R}}^{b\times b}} \right) \), providing a lot of useful mathematical properties to use.

There are numerous choices of matrix \({{\varvec{S}}}\), and these different self-stress matrices composed of orthonormal basis vectors have the following relationship:

$$\begin{aligned} {{\varvec{S}}}={{\varvec{S}}}^{*}{{\varvec{W}}} \end{aligned}$$
(6)

where the transformation matrix \({{\varvec{W}}}\) is a unitary matrix that \({{\varvec{W}}}^{\mathrm{T}}{{\varvec{W}}}= {{\varvec{WW}}}^{\mathrm{T}}={{\varvec{I}}}\). Therefore, it is easy to prove that \({{\varvec{SS}}}^{\mathrm{T}}={{\varvec{S}}}^{*}\left( {{\varvec{S}}}^{*} \right) ^{\mathrm{T}}\). This means that the matrix \({{\varvec{SS}}}^{\mathrm{T}}\) is unchanged despite the change of basis.

In linear algebra, the Euclidean norm assigns to each vector the length of its arrow, which is often known as the magnitude. The Euclidean norm of each row vector \({\tilde{{\varvec{s}}}}\) could be obtained by:

$$\begin{aligned} \left\| {\tilde{{\varvec{s}}}}_{i} \right\| _2 =\left( {\sum _{l=1}^s {s_{il}^2 } } \right) ^{1/2}. \end{aligned}$$
(7)

Because of the aforementioned property, \(\left\| {\tilde{{\varvec{s}}}} \right\| _2\) preserves its value no matter what basis is used to describe the coordinate system, as long as the columns of matrix \({{\varvec{S}}}\) is an orthonormal basis of \(N({{\varvec{A}}})\). This shows that the magnitude of each row vector of the self-stress matrix remain unaltered whether the chosen coordinate frame changes or not, suggesting that \(\left\| {\tilde{{{\varvec{s}}}}} \right\| _2\) could be a perfect indicator of a certain geometric property of each member.

For a symmetric structure, the row vectors of matrix \({{\varvec{S}}}\) corresponding to the symmetrically located members are found to have the same Euclidean norm values, no matter what coordinate system is chosen. This finding is in line with the previous studies [39, 41] where the self-stress states could be identified in the form of different symmetry patterns with respect to a symmetry-adapted coordinate system. Due to this algebraic property, the Euclidean norm of row vector of self-stress matrix formed by an orthonormal basis can be defined as a symmetry indicator purely showing the geometric symmetry of structures regardless of the change of coordinate frames.

In fact, the Euclidean norm of row vector of the self-stress matrix, i.e., \(\left\| {\tilde{{{\varvec{s}}}}} \right\| _2 \), is identical to the positive square root of the diagonal element of matrix \({{\varvec{SS}}}^{\mathrm{T}}\), which will be explained in next section. Meanwhile, the distributed static indeterminacy [42, 43] can be obtained by computing the diagonal entries of matrix \({\varvec{\varOmega }} ={{\varvec{FS}}}({{\varvec{S}}}^{\mathrm{T}} {{\varvec{FS}}})^{-1}{{\varvec{S}}}^{\mathrm{T}}\) where matrix \({{\varvec{F}}}\) is the diagonal flexibility matrix. From a mathematical viewpoint, the proposed symmetry indicator has a close connection with the distributed static indeterminacy that is also known as a symmetry indicator considering both geometric and stiffness symmetry properties.

3.2 Projection matrix

Apart from the Euclidean norm that is an algebraic equation to quantify the symmetry property in terms of each member, a function called orthogonal projection can be used to elaborate the symmetric feature of structures from a geometric viewpoint.

As a matter of fact, the matrix \({{\varvec{SS}}}^{\mathrm{T}}\) where matrix \({{\varvec{S}}}\) is produced by SVD is a projection matrix

$$\begin{aligned} {{\varvec{P}}}_{N\left( {{\varvec{A}}} \right) } ={{\varvec{SS}}}^{\mathrm{T}}. \end{aligned}$$
(8)

\({{\varvec{P}}}_{N({{\varvec{A}}})}\) is the orthogonal projection onto the null space of the equilibrium matrix \({{\varvec{A}}}\).

It is necessary to point out that if matrix \({{\varvec{S}}}\) is obtained by GE, the vectors of its column set are not necessarily orthonormal. In this case, the projection is

$$\begin{aligned} {{\varvec{P}}}_{N\left( {{\varvec{A}}} \right) } ={{\varvec{S}}}\left( {{\varvec{S}}}^{\mathrm{T}}{{\varvec{S}}} \right) ^{-1}{{\varvec{S}}}^{\mathrm{T}} \end{aligned}$$
(9)

Geometrically, matrix \({{\varvec{P}}}_{N({{\varvec{A}}})} \) can orthogonally project a “point” from space \({\mathbb {R}}^{b}\) to a subspace of \({\mathbb {R}}^{b}\), describing the influence the vector \({{\varvec{e}}}\) has on the vector \({{\varvec{e}}}^{*}\):

$$\begin{aligned} {{\varvec{e}}}^{*}={{\varvec{P}}}_{N\left( {{\varvec{A}}} \right) } {{\varvec{e}}} \end{aligned}$$
(10)

where vector \({{\varvec{e}}}\) denotes a “point” in space \({\mathbb {R}}^{b}\), vector \({{\varvec{e}}}^{*}\) represents its orthogonal projection in \(N({{\varvec{A}}})\) and the elements of these vectors are interpreted as the corresponding coordinate values of points.

As mentioned earlier, every single vector in \(N({{\varvec{A}}})\) can be considered as a possible pre-stress state, which means that all possible pre-stress states can be viewed as “points” in \(N({{\varvec{A}}})\) and each of these points has a counterpart in \({\mathbb {R}}^{b}\) according to Eq. (10). This suggests that if an appropriate point in \({\mathbb {R}}^{b}\) is given, the corresponding point in \(N({{\varvec{A}}})\) yielded by Eq. (10) can be used as a feasible pre-stress state. Geometrically, the symmetry property of structures can be observed via the coordinate value of point \({{\varvec{e}}}^{*}\); the coordinates are supposed to have identical values if their corresponding members are at the symmetric locations. To this issue, it is reasonable to choose a special vector in \({\mathbb {R}}^{b}\) following a certain symmetric pattern, such as \({{\varvec{e}}}=\left( {1,1,\ldots ,1} \right) ^{\mathrm{T}}\), with a view to easily obtaining a feasible pre-stress state.

For structures with certain symmetry, it is found that when the special vector \(\left( {1,1,\ldots ,1} \right) ^{\mathrm{T}}\left( {\in {\mathbb {R}}^{b}} \right) \) is substituted into Eq. (10), vector \( {{\varvec{e}}}^{*}\) always has a symmetric pattern as the components of point \({{\varvec{e}}}^{*}\) can be divided into different groups in light of their coordinate values and all the components with an identical coordinate value belong to a group of symmetrically located members of structures. In this case, each element of the vector \({{\varvec{e}}}^{*}\) equals to \(\sum \nolimits _{l=1}^s {s_{il}^{2}}\), which is the square of the Euclidean norm of each row vector of self-stress matrix formed by an orthonormal basis. This indicates that although these two findings about the symmetry property of structures are discovered via different means, they are essentially consistent with each other and in accord with the geometric symmetry.

4 Symmetry-based method for computing feasible pre-stress states

Based on the above findings, the resultant vector \({{\varvec{e}}}^{*}\) given by Eq. (10) can be used as a feasible pre-stress state, since it generally has a symmetric pattern and naturally accords with the stress unilateral property of members if a suitable point \({{\varvec{e}}}\) in \({\mathbb {R}}^{b}\) is given. It is obvious that different vector \({{\varvec{e}}}\) results in different vector \({{\varvec{e}}}^{*}\). In a special case, substituting \( {{\varvec{e}}}=\left( {1,1,\ldots ,1} \right) ^{\mathrm{T}}\) into Eq. (10) yields

$$\begin{aligned} {{\varvec{e}}}^{*}={{\varvec{S}}}{\varvec{\alpha }}^{*} \end{aligned}$$
(11)

where

$$\begin{aligned} {\alpha _{\tau }^{*} =\sum _{i=1}^b {s_{\tau i} } } \quad {\left( {\tau =1,2,\ldots ,s} \right) } \end{aligned}$$
(12)

in which \(\alpha _{\tau }^{*}\) is the \(\tau \hbox {th}\) element of vector \({\varvec{\alpha }}^{*}\) and can be computed by summing the whole elements of the \(\tau \hbox {th}\) column of self-stress matrix \({{\varvec{S}}}\) with an orthonormal basis of \(N({{\varvec{A}}})\) as its columns. This symmetry-based method for computing feasible pre-stress states is entitled “projection method,” since this method is proposed based on an orthogonal projection. The projection method was then coded using MATLAB 2014b and its process was outlined as follows:

Step 1: :

Assemble the equilibrium matrix A under the chosen coordinate system;

Step 2: :

Apply the SVD technique on matrix A and extract the self-stress matrix S from its right orthogonal matrix \({{\varvec{V}}}\);

Step 3: :

Use Eq. (12) to calculate the particular combination coefficient \({\varvec{\alpha }}^{*}\);

Step 4: :

Compute a feasible pre-stress state \({{\varvec{e}}}^{*}\)according to Eq. (11).

Nevertheless, it should be emphasized that a feasible pre-stress state \({{\varvec{e}}}^{*}\) is more like a ratio between the initial forces of members. Therefore, another scalar parameter called amplitude coefficient \(\beta ^{*}\) is used to control the overall magnitude of the initial forces. If a pre-stress state is obtained, a set of initial forces can be given by the equation \({{\varvec{t}}}=\beta ^{*}{{\varvec{e}}}^{*}\).

5 Examples

5.1 A three-bar structure

As shown in Fig. 1, a three-bar structure is chosen to examine the above findings on the symmetry property of structures, as its orthonormal projection onto \(N({{\varvec{A}}})\) can be displayed graphically. This structure has four nodes, three of which are completely fixed. Based on the equilibrium matrix theory, this structure is found to be a statically indeterminate and kinematically determinate assembly that has one self-stress state.

Fig. 1
figure 1

(1) A three-bar structure, (2) an orthonormal projection

Its equilibrium matrix \({{\varvec{A}}}\) was written as \(\left[ {{\begin{array}{ccc} {{\sqrt{2}}/2}&{}\quad {{-\,\sqrt{2}}/2}&{}\quad 0 \\ {{-\,\sqrt{2}}/2}&{} \quad {{-\,\sqrt{2}}/2}&{}\quad 1 \\ \end{array} }} \right] \) with respect to the chosen coordinate frame in Fig. 1(1). Then, one possible self-stress state \({{\varvec{s}}}=\left[ {1/{2,1/{2,}{\sqrt{2}}/2}} \right] ^{\mathrm {T}}\) was obtained by using the SVD technique and the projection matrix \({{\varvec{P}}}_{N\left( {{\varvec{A}}} \right) } \)was found to be \(\left[ {{\begin{array}{ccc} {{0.75}}&{}\quad {{-\,0.2}5}&{}\quad {{0.35}} \\ {{-\,0.2}5}&{}\quad {{0.75}}&{}\quad {{0.35}} \\ {{0.35}}&{}\quad {{0.35}}&{}\quad {0.50} \\ \end{array} }} \right] \) based on Eq. (8). It is easy to find that the \(\left\| {\tilde{{\varvec{s}}}} \right\| _2 \) values of the three bars are 1 / 2, 1 / 2 and \({\sqrt{2}}/2\) sequentially. Moreover, as depicted in Fig. 1(2), the point \({{\varvec{e}}}=\left[ {1,1,1} \right] ^{\mathrm {T}}\) is projected onto a plane by the matrix \({{{\varvec{P}}}}_{N({{\varvec{A}}})} \)and its projection \({{\varvec{e}}}^{*}\) is \(\left[ {0.85,0.85,1.21} \right] ^{\mathrm{T}}\). Apparently, bar 1 and bar 2 have the same \(\left\| {\tilde{{\varvec{s}}}} \right\| _2 \) value and the same coordinate value of point \({{\varvec{e}}}^{*}\), which corresponds to the fact that bar 1 and bar 2 are symmetrically located. Hence, the above findings on symmetric structures are confirmed.

5.2 A two-strut cable dome

As shown in Fig. 2, a two-dimensional simple cable dome previously analyzed in reference [44] was taken as an example to confirm the validity of the proposed method for force finding. This assembly has 11 members including eight cables and two struts and it has 6 nodes marked by dots, two of which are completely constrained. It is found that this assembly is a statically indeterminate assembly that has two self-stress states.

Fig. 2
figure 2

A two-strut cable dome (thick lines denote struts, and thin lines cables)

For this symmetric structure, one possible self-stress matrix \({{\varvec{S}}}\) was obtained by the operation of SVD in MATLAB 2014b, i.e.,

$$\begin{aligned} {{\varvec{S}}}=\left[ {{\begin{array}{llllllllll} {0.18997}&{}\quad {0.18997}&{}\quad {0.18997}&{}\quad {0.18997}&{}\quad {0.52837}&{}\quad {0.52837}&{}\quad {-\,0.37910}&{}\quad {-\,0.37910}&{}\quad {0.07024}&{}\quad {0.07024} \\ {0.38280}&{}\quad {0.38280}&{}\quad {0.38280}&{}\quad {0.38280}&{}\quad {0.02037}&{}\quad {0.02037}&{}\quad {0.36087}&{}\quad {0.36087}&{}\quad {-\,0.27619}&{}\quad {-\,0.27619} \\ \end{array} }} \right] ^{\mathrm{T}}. \end{aligned}$$

The suggested symmetry indicator of each member, i.e., \(\left\| {\tilde{{\varvec{s}}}} \right\| _2 \), was then accurately calculated to algebraically illustrate the symmetry property of this structure. Accordingly, all the members of this assembly could be divided into four groups, as listed in Table 1. This grouping is consistent with its geometrical symmetry.

Table 1 \(\Vert {\tilde{{\varvec{s}}}} \Vert _2 \) value of each members and resultant pre-stress states obtained by two methods

Using the projection method proposed in this article, the combination coefficients of self-stress states \({\varvec{\alpha }}^{*}\) were found to be \(\left[ {1.19891,1.74130} \right] ^{\mathrm{T}}\) based on Eq. (12) with respect to the above self-stress matrix. Then, a pre-stress state was computed using Eq. (11) as shown in Table 1. The pattern of this state corresponds to the above grouping, where the members of each group have the same pre-stress value; apart from that, this state obeys the stress unilateral properties, i.e., cables are under tension and struts are under compression. This means the obtained state is a feasible pre-stress state. Therefore, the validity of the projection method is confirmed.

Moreover, the proposed method was compared with the double singular value decomposition method (DSVD) [44] that is considered as a common approach to the force finding. According to the previous study, it was found that in the DSVD method, the above symmetry-based grouping is impossible to lead to a feasible pre-stress state. To address this issue, one suggested way is to merge group 2 and group 3 into one single group and then the resultant state was generated as listed in Table 1. Apparently, the two results given by different methods are both feasible pre-stress states, although they are different in magnitude. However, the DSVD method is more time-consuming in comparison to the projection method, since the DSVD method must use the SVD technique on two matrices including the equilibrium matrix \({{\varvec{A}}}\) and another one while the projection method only needs to use it on matrix \({{\varvec{A}}}\).

5.3 A newly built stadium

A newly built stadium in Zaozhuang, China, is shown in Fig. 3, which is a unique spoke structure in the form of a single layer of outer ring and a double layer of inner ring. Two characteristics weigh heavily in distinguishing this form from others. One is the unique shape of its inner rings closely resembling a saddle, which is realized by adding extra cables as special members in a certain order, and the other is a sophisticated configuration of roof cable. For simplicity, all the external ring beams were neglected in the following investigation. This assembly is constituted by 336 members (48 struts and 288 cables) and 144 nodes including 48 fully fixed boundary nodes. On this occasion, it is a statically indeterminate assembly with 48 self-stress states.

Fig. 3
figure 3

(1) An aerial photograph of the Zaozhuang stadium during construction, taken by Pan qin, (2) the detailed configurations of components

To visually display the architectural geometry, a fictitious saddle-shaped surface is drawn with respect to relative coordinates in Fig. 4(1). The projections of all nodes on three mutually orthogonal planes are plotted in terms of absolute coordinates in Fig. 4(2)–(4), respectively, all of which were defined by mathematical equations as stated in charts. Notice that in Fig. 4(1) the dots on the edge of the surface represent the nodes at the upper ring whose projections fall within the red curves, and that the parabolic curves on this surface, whose projections were denoted by black curves, are used to control the shape of the surface. Moreover, as shown in Fig. 4(2)–(4), the horizontal layout of this roof structure is an ellipse with 232.0 m in minor axis and 255.0 m in major axis, and the height differences of its inner rings, i.e., upper and lower, are both 4.7 m.

Fig. 4
figure 4

(1) Fictitious saddle-shaped surface and its projections on three planes; the projections of all nodes on (2) XY plane (3) XZ plane (4) YZ plane

This roof structure depicted in Fig. 3 is constructed by six types of components cautiously designed and manufactured during the construction process, and their material parameters are tabulated in Table 2. It is mentioned before that aside from the pre-stress state, the amplitude coefficient \(\beta ^{*}\) plays a significant role in the initial force design. For simplicity, the 35 percent of ultimate tensile force of the lower ring cable was used to control this coefficient, i.e., \(\beta ^{*}e_{\mathrm{low}\,\mathrm{ring}\,\mathrm{cable}}^{*} \le 2.30\times 10^{4}\,\hbox {kN}\), in this case.

Table 2 Material parameters of different member types

By following the same procedure, one possible self-stress matrix was obtained and used to compute the \(\left\| {\tilde{{\varvec{s}}}} \right\| _2 \) values as illustrated in Fig. 5, in terms of which the whole structure was split into 86 distinct groups. As shown in Table 3, the coefficient \({\varvec{\alpha }}^{*}\) was then found using Eq. (12) with respect to the above self-stress matrix, which led to a feasible pre-stress state. Finally, the resultant state of initial pre-stress was combined with the chosen amplitude coefficient to generate a set of initial forces as displayed in Fig. 6.

Fig. 5
figure 5

\(\Vert {\tilde{{\varvec{s}}}} \Vert _2\) values and corresponding grouping details (\(\mathbf{N}_{\mathbf{G}}\) means the number of groups)

Table 3 A set of the combination coefficients \({\varvec{\alpha }}^{*}\) calculated by the projection method
Fig. 6
figure 6

A set of member pretensions based on the feasible pre-stress state given by the projection method

It can be seen from Fig. 6 that for this entire structure, the maximum pretension value is \({2.30}\times {10}^{{4}}\, \hbox {kN}\) in the highest upper ring cables, and the minimum one is \({3.13}\times {10}^{{2}} \, \hbox {kN}\) in the inner added cables. Furthermore, the pretensions of the ring cables ranging from \({1.49}\times {10}^{{4}} \, \hbox {kN}\) to \({2.30}\times {10}^{{4}} \, \hbox {kN}\) are at least three times larger than those of the others, i.e., \({3.31}\times {10}^{{2}}\)\({4.20}\times {10}^{{3}} \, \hbox {kN}\). Nevertheless, it is noticeable that despite the small pretensions of inner added cables, they are of utmost importance in creating a unique shape, a saddle-like shape in this case.

To assess the validity of the projection method, a numerical procedure based on the linear adjustment theory [35,36,37] was employed in the force finding of this example. This method is regarded as a conventional approach for force finding and has been implemented in the finite element software called Easy. In the beginning, pretension values of some members should be assigned manually due to the symmetry of this structure. Different assignments can result in different pre-stress states, and the resultant pretensions may not accord with the stress unilateral property and the requirement of symmetric patterns if the assignment is unreasonable. In this case, the pretensions of the highest and the lowest ring cables, both upper and lower, were assumed to be equal to the values obtained by the symmetry-based algorithm, and then an optimal result was obtained according to the linear adjustment theory, as shown in Fig. 7.

Fig. 7
figure 7

A comparison of two pretension sets calculated by the projection method and the linear-adjustment-theory-based numerical procedure

As clearly illustrated in Fig. 7, the two sets of pretensions generated by these two different methods are virtually the same except that there is a small difference in the upper layer, i.e., the upper roof and ring cables, since it is possible that there are still residual nodal forces after the minimization based on linear adjustment theory. This finding essentially confirms the applicability and accuracy of the projection method.

6 Conclusions

It is well accepted that in the context of mathematics, each pre-stress state is considered as a vector in the null space of the equilibrium matrix, i.e., \(N({{\varvec{A}}})\). Based on this important subspace, a thorough investigation into the symmetry of structures was conducted by two means, demonstrating this property from different viewpoints. Algebraically, the Euclidean norm of each row vector of an orthonormal basis of \(N({{\varvec{A}}})\) was defined as a symmetry indicator. This indicator is valid regardless of the changes of coordinate frames, whereas the method based on group representation theory can only indicate the symmetry in terms of self-stress states derived under a symmetry-adapted coordinate frame. Geometrically, the orthonormal projection onto \(N({{\varvec{A}}})\) was used to show the symmetry property. It is found that for the same symmetric structure, the findings given by the above two means are consistent with each other and accord fully with its symmetry property.

Based on that, a symmetry-based method of force finding was developed, which is entitled “projection method” by this article. It can be concluded from the illustrative examples that this algorithm is effective and accurate for cable–strut structures with certain symmetry as it is able to generate feasible pre-stress states that obey the stress unilateral property and have symmetric patterns. Compared with the DSVD method of force finding, the proposed method is more effective since the DSVD method must use the SVD technique twice while the projection method only needs once. Furthermore, compared with the method based on the linear adjustment theory, the projection method is more suitable for large-scale structures with complicated configurations, because giving pretension assignments becomes harder as the complexity degree of structures increases.