1 1. Introduction

Efficient numerical algorithms are increasingly demanding to solve viscoelastic problems because analytical solutions are very limited, regarding the time-dependent constitutive relationship, complex geometry and boundary conditions [1,2,3,4,5,6,7].

The scaled boundary method (SBM) [8,9,10,11] is a spatial discretized algorithm that is semi-analytical, and takes advantages in dealing with problems of stress singularities and unbounded domains [12,13,14,15,16,17,18,19,20]. SBM has been employed in the viscoelastic analysis as a spacial solver at each of time intervals [5].

SBM is more computationally expensive than FEM mainly because an eigenvalue problem needs to be solved in generating system equations, thus as a spatial solver used for every recursive euqation, frequently, it is definitely more necessary and significant for SBM to reduce its computational cost.

In this paper, using an expansion technique in the time domain, an initial boundary value problem of viscoelasticity is decoupled into a series of recurrent boundary value problems which are solved by an EFG-SBM. If the structure of interest is cyclically symmetric [24,22,23,24], both the eigenvalue and system equations of EFG-SBM can be solved utilizing a partitioning algorithm, and the computational cost will be reduced by solving a series of independent subproblems instead of the whole EFG-SB equations at each of time intervals. On the other hand, at a discretized time interval, the variations of variables can be described more precisely, computing accuracy can be controlled via an adaptive process. Although there was a previous work concerned with exploitation of the cyclic symmetry in viscoelastic analysis by scaled boundary finite element method (SBFEM) [25], but it seems no report relevant to EFG-SBM.

This paper is organized as follows. Recursive viscoelastic governing equations and EFG-SBM equations are given in Sects. 2 and 3, respectively. Rotationally periodic symmetrical structures are briefly described in Sect. 4, and a piecewise partitioning algorithm is presented in the Sect. 5. Section 6 provides numerical verification via two examples and Sect. 7 summarizes conclusions.

2 2. Recurrent governing equations

The governing equations of 2-D viscoelastic problems are described by [26].

Equilibrium equation

$${\rm H}\sigma +b=0$$
(1)

Relationship of strain and displacement

$$\varvec{\upvarepsilon}={\rm H}_{{}}^{{\text{T}}}\mathbf{u}$$
(2)

where σ and ε denote the vectors of stress and strain, respectively, b is the vector of body force, u is the vector of displacement,

$$\mathbf{H} = \left[ {\begin{array}{*{20}{c}} {{\partial \mathord{\left/ {\vphantom {\partial {\partial x}}} \right. \kern-0pt} {\partial x}}}&0&{{\partial \mathord{\left/ {\vphantom {\partial {\partial y}}} \right. \kern-0pt} {\partial y}}} \\ 0&{{\partial \mathord{\left/ {\vphantom {\partial {\partial y}}} \right. \kern-0pt} {\partial y}}}&{{\partial \mathord{\left/ {\vphantom {\partial {\partial x}}} \right. \kern-0pt} {\partial x}}} \end{array}} \right]$$
(3)

The viscoelastic constitutive relationships are specified by a three-parameter solid model (see Fig. 1) in a differential form [1, 27, 28].

Fig. 1
figure 1

Three-parameter solid

$$\alpha _{1}^{{}}\mathbf{D}\varvec{\upvarepsilon}(t)+p_{1}^{{}}\mathbf{D}\frac{{{\text{d}}\varvec{\upvarepsilon}(t)}}{{{\text{d}}t}}=(\alpha _{1}^{{}}+\alpha _{2}^{{}})\varvec{\upsigma}(t)+p_{1}^{{}}\frac{{{\text{d}}\varvec{\upsigma}(t)}}{{{\text{d}}t}}\quad (t> 0)$$
(4)
$$\varvec{\upsigma}(t)=\mathbf{D}\varvec{\upvarepsilon}(t) \quad (t> 0)$$
(5)

where

$$\mathbf{D}=\frac{{E_{2}^{{}}}}{{1 - v_{{}}^{2}}}\left( {\begin{array}{*{20}{c}} 1&v&0 \\ v&1&0 \\ 0&0&{\frac{{1 - v}}{2}} \end{array}} \right)\quad {\text{for the plane stress problem}}$$
(6)
$$p_{1}^{{}}=\frac{{\eta _{1}^{{}}}}{{E_{1}^{{}}+E_{2}^{{}}}} \quad \alpha _{1}^{{}} = \frac{{E_{1}^{{}} }}{{E_{1}^{{}} + E_{2}^{{}} }} \quad \alpha _{2}^{{}} = \frac{{E_{2}^{{}} }}{{E_{1}^{{}} + E_{2}^{{}} }}$$
(7)

where \(v\), \({E_1}\), \({E_2}\), and \({\eta _1}\) are constitutive parameters.

For the plane strain problems, \({E_1}\), \({E_2}\), \({\eta _1}\) and \(v\) need to be replaced by \(\frac{{{E_1}}}{{1 - {v^2}}}\), \(\frac{{{E_2}}}{{1 - {v^2}}}\), \(\frac{{{\eta _1}}}{{1 - {v^2}}}\), and \(\frac{v}{{1 - v}}\), respectively.

The boundary conditions are given by [26]

$$\mathbf{u}=\tilde {\mathbf{u}}\quad \text{on}\;{\Gamma _\text{u}}$$
(8)
$$\mathbf{p}=\tilde {\mathbf{p}}\quad \text{on}\;{\Gamma _\sigma }$$
(9)

where p denotes the vector of traction, \(\tilde {\mathbf{u}}\) and \(\tilde {\mathbf{p}}\) are the prescribed functions on the boundary.

Divide time domain into a number of time intervals, the initial points and sizes of the time intervals are defined by t0, t1, t2,…, tk… and T1, T2, …, Tk…, respectively. At the kth discretized time interval, to describe the variation of variables more precisely, all variables are expanded in terms of \({s_t}\)

$$\varvec{\upsigma}=\sum\limits_{{m=0}} {\varvec{\upsigma}_{{}}^{{km}}s_{t}^{m}}$$
(10)
$$\varvec{\upvarepsilon}=\sum\limits_{{m=0}} {\varvec{\upvarepsilon}_{{}}^{{km}}s_{t}^{m}}$$
(11)
$$\mathbf{b}=\sum\limits_{{m=0}} {\mathbf{b}_{{}}^{{km}}s_{t}^{m}}$$
(12)
$$\mathbf{u}=\sum\limits_{{m=0}} {\mathbf{u}_{{}}^{{km}}s_{t}^{m}}$$
(13)
$$\tilde {\mathbf{u}}=\sum\limits_{{m=0}} {\tilde {\mathbf{u}}_{{}}^{{km}}s_{t}^{m}}$$
(14)
$$\mathbf{p}=\sum\limits_{{m=0}} {\mathbf{p}_{{}}^{{km}}s_{t}^{m}}$$
(15)
$$\tilde {\mathbf{p}}=\sum\limits_{{m=0}} {\tilde {\mathbf{p}}_{{}}^{{km}}s_{t}^{m}}$$
(16)
$$s_{t}^{{}}=\frac{{t - t_{{k - 1}}^{{}}}}{{T_{k}^{{}}}}$$
(17)

where tk−1 and Tk represent the initial point and size of the kth time interval, respectively, σkm and εkm represent the expanding coefficients of σ and ε at kth time interval, respectively, m stands for the power order of expansion, bkm denotes the expanding coefficient of b, \(\mathbf{u}_{{}}^{{km}}\), \(\mathbf{p}_{{}}^{{km}}\), \(\tilde {\mathbf{u}}_{{}}^{{km}}\) and \(\tilde {\mathbf{p}}_{{}}^{{km}}\)are the expanding coefficients of u, p, \(\tilde {\mathbf{u}}\) and \(\tilde {\mathbf{p}}\), at kth time interval, respectively.

The conversion relationship between the differentiations with respect to t and st is

$$\frac{{\text{d}}}{{{\text{d}}t}}=\frac{1}{{T_{k}^{{}}}}\frac{{\text{d}}}{{{\text{d}}s_{t}^{{}}}}$$
(18)

Substituting Eqs. (1016) into Eqs. (1, 2, 5, 8, 9) then yields

$${\rm H}\varvec{\upsigma}_{{}}^{{km}}+\mathbf{b}_{{}}^{{km}}=0$$
(19)
$$\varvec{\upvarepsilon}_{{}}^{{km}}={\rm H}_{{}}^{{\text{T}}}\mathbf{u}_{{}}^{{km}}$$
(20)
$$\mathbf{u}_{{}}^{{km}}=\tilde {\mathbf{u}}_{{}}^{{km}} \quad {\rm on} \ \Gamma_u$$
(21)
$$\mathbf{p}_{{}}^{{km}}=\tilde {\mathbf{p}}_{{}}^{{km}}\quad {\rm on} \ \Gamma_{\sigma}$$
(22)

At the first time interval (k = 1), when m = 0, i.e. t = 0,

$$\varvec{\upsigma}_{{}}^{{km}} = \varvec{\upsigma}_{{}}^{{10}}=\mathbf{D}\varvec{\upvarepsilon}_{{}}^{{km}} = \mathbf{D}\varvec{\upvarepsilon}_{{}}^{{10}}$$
(23)

\(\varvec{\upsigma}_{{}}^{{10}}\), \(\varvec{\upvarepsilon}_{{}}^{{10}}\), and \(\mathbf{u}_{{}}^{{10}}\) can be obtained by solving Eqs. (1923).

At other time intervals (k = 2, 3,…)

$$\varvec{\upvarepsilon}_{{}}^{{k0}}=\sum\limits_{{m=0}} {\varvec{\upvarepsilon}_{{}}^{{(k - 1)m}}}$$
(24)
$$\varvec{\upsigma}_{{}}^{{k0}}=\sum\limits_{{m=0}} {\varvec{\upsigma}_{{}}^{{(k - 1)m}}}$$
(25)
$$\mathbf{u}_{{}}^{{k0}}=\sum\limits_{{m=0}} {\mathbf{u}_{{}}^{{(k - 1)m}}}$$
(26)

For m ≠ 0, substituting Eqs. (1011) in Eq. (4) then yields

$$\varvec{\upsigma}_{{}}^{{km}}=\mathbf{D}\varvec{\upvarepsilon}_{{}}^{{km}}+\mathbf{C}_{{}}^{{km}} \quad k=1,2,3,\ldots \quad m=1,2,\ldots$$
(27)
$$\mathbf{C}_{{}}^{{km}}=\frac{{T_{k}^{{}}{E_1}}}{{m{\eta _1}}}\mathbf{D}\varvec{\upvarepsilon}_{{}}^{{k(m - 1)}} - \frac{{T_{k}^{{}}}}{{m{p_1}}}\varvec{\upsigma}_{{}}^{{k(m - 1)}}$$
(28)

Furthermore,

$$\varvec{\upsigma}_{{}}^{{km}}=\mathbf{D}\varvec{\upvarepsilon}_{{}}^{{km}}+\beta _{m}^{{}}\left(\alpha _{2}^{{}}\mathbf{D}\sum\limits_{{i=1}}^{{m - 1}} {\gamma _{i}^{{}}\varvec{\upvarepsilon}_{{}}^{{ki}}} - \alpha _{1}^{{}}\mathbf{D}\varvec{\upvarepsilon}_{{}}^{{k0}}+\varvec{\upsigma}_{{}}^{{k0}}\right)$$
(29)

where

$$\beta _{m}^{{}}=\frac{1}{{m!}}\left( {\frac{{ - T_{k}^{{}}}}{{p_{1}^{{}}}}} \right)_{{}}^{{\left( m \right)}}$$
(30)
$$\gamma _{i}^{{}}=i!\left( {\frac{{ - p_{1}^{{}}}}{{T_{k}^{{}}}}} \right)_{{}}^{i}$$
(31)

3 Recursive equations of EFG-SBM

The scaled boundary method introduces such a ξ–s coordinate system by scaling a defining curve relative to a scaling center (x0, y0) selected within the domain, as shown in Fig. 2. The coordinate ξ runs from the scaling center towards the curve, and has values of zero at the scaling center and unity at the curve. The coordinate s specifies a distance around the boundary from an origin on the boundary [12, 13].

Fig. 2
figure 2

Definition of the scaled coordinate system

The scaled boundary and Cartesian coordinate systems are related by the scaling equations [12]

$$x={x_0}+\xi {x_s}(s)$$
(32a)
$$y={y_0}+\xi {y_s}(s)$$
(32b)

For Eqs. (1922)

$$\mathbf{u}_{{}}^{{km}}(\xi ,s)=\mathbf{N}(s)\mathbf{u}_{h}^{{km}}(\xi )$$
(33)

where \(\mathbf{u}_{{}}^{{km}}(\xi ,s)\) represents the expanding coefficient of \(\mathbf{u}=\sum\nolimits_{{m=0}} {\mathbf{u}_{{}}^{{km}}s_{t}^{m}}\), \(\mathbf{N}(s)\) is a matrix of shape function and \(\mathbf{u}_{h}^{{km}}(\xi )\) is a set of \(n\) functions analytical in \(\xi\).

The expanding coefficient of the strain \(\varvec{\upvarepsilon}=\sum\limits_{{m=0}} {\varvec{\upvarepsilon}_{{}}^{{km}}s_{t}^{m}}\)in the scaled coordinate system is described by [12, 13]

$$\varvec{\upvarepsilon}_{{}}^{{km}}(\xi ,s)={\mathbf{B}}_{1}^{{}}(s)\mathbf{u}_{{}}^{{km}}{(\xi )_{,\xi }}+\frac{1}{\xi }{\mathbf{B}}_{2}^{{}}(s)\mathbf{u}_{{}}^{{km}}(\xi ) \quad k=1,2,\ldots \quad m=0,1,2,\ldots$$
(34)
$${\mathbf{B}}_{1}^{{}}(s)={\mathbf{b}}_{1}^{{}}(s){\mathbf{N}}(s)=\frac{1}{{\left| {\mathbf{J}} \right|}}{\left[ {\begin{array}{*{20}{c}} {\frac{{\partial {y_s}(s)}}{{\partial s}}}&0&{ - \frac{{\partial {x_s}(s)}}{{\partial s}}} \\ 0&{ - \frac{{\partial {x_s}(s)}}{{\partial s}}}&{\frac{{\partial {y_s}(s)}}{{\partial s}}} \end{array}} \right]^{\text{T}}} \cdot {\mathbf{N}}(s)$$
(35)
$${\mathbf{B}}_{2}^{{}}(s)={\mathbf{b}}_{2}^{{}}(s){\mathbf{N}}{(s)_{,s}}=\frac{1}{{\left| {\mathbf{J}} \right|}}{\left[ {\begin{array}{*{20}{c}} { - {y_s}(s)}&0&{{x_s}(s)} \\ 0&{{x_s}(s)}&{ - {y_s}(s)} \end{array}} \right]^{\text{T}}} \cdot {\mathbf{N}}{(s)_{,s}}$$
(36)
$$\left| {\mathbf{J}} \right|={x_s}(s){y_s}(s)_{{,s}}^{{}} - {y_s}(s){x_s}(s)_{{,s}}^{{}}$$
(37)

where \({\mathbf{N}}{(s)_{,s}}\) refers to the derivative of \({\mathbf{N}}(s)\) with respect to s.

Utilizing the virtual displacement principle then gives (in the absence of body force) [12, 13]

$$\int\limits_{V} {\delta \varvec{\upvarepsilon}{{(\xi ,s)}^{\text{T}}}\varvec{\upsigma}_{{}}^{{km}}(\xi ,s)\operatorname{d} V} - \int\limits_{S} {\delta \mathbf{u}{{(s)}^{\text{T}}}\mathbf{p}_{{}}^{{km}}(s)\operatorname{d} s} =0$$
(38)

m = 0, 1, 2, 3,… k = 1, 2, 3,… where

$$\delta \mathbf{u}(\xi ,s)=\mathbf{N}(s)\delta \mathbf{u}(\xi )$$
(39)

denotes the vector of virtual displacement, and

$$\delta \varvec{\upvarepsilon}(\xi ,s)={\mathbf{B}}_{1}^{{}}(s)\delta \mathbf{u}{(\xi )_{,\xi }}+\frac{1}{\xi }{\mathbf{B}}_{2}^{{}}(s)\delta \mathbf{u}(\xi )$$
(40)

The second term in Eq. (38) becomes

$$\int\limits_{S} {\delta \mathbf{u}{{(s)}^{\text{T}}}\mathbf{p}_{{}}^{{km}}(s)\operatorname{d} s} =\delta {\mathbf{u}^{\text{T}}}\int\limits_{S} {\mathbf{N}\left( s \right)_{{}}^{{\text{T}}}} {\text{ }}\mathbf{p}_{{}}^{{km}}\left( s \right){\text{d}}s=\delta {\mathbf{u}^{\text{T}}}\mathbf{P}_{{}}^{{km}} \quad k=1,2,\ldots \quad m=0,1,2,\ldots$$
(41)

Substituting Eqs. (23) and (29) into Eq. (38), respectively, then gives

$$\int\limits_{V} {\delta \varvec{\upvarepsilon}{{(\xi ,s)}^{\text{T}}}\mathbf{D}\varvec{\upvarepsilon}_{{}}^{{k0}}(\xi ,s)\operatorname{d} V} - \int\limits_{S} {\delta \mathbf{u}{{(s)}^{\text{T}}}\mathbf{p}_{{}}^{{k0}}(s)\operatorname{d} s} =0 \quad t = 0, {\text{i.e.}} \, k=1 \ \text{and} \ m=0$$
(42)
$$\begin{gathered} \int\limits_{V} {\delta \varvec{\upvarepsilon}{{(\xi ,s)}^{\text{T}}}\mathbf{D}\varvec{\upvarepsilon}_{{}}^{{km}}\operatorname{d} V} +\beta _{m}^{{}}\alpha _{2}^{{}}\sum\limits_{{i=1}}^{{m - 1}} {\gamma _{i}^{{}}} \int\limits_{V} {\delta \varvec{\upvarepsilon}{{(\xi ,s)}^{\text{T}}}\mathbf{D}\varvec{\upvarepsilon}_{{}}^{{ki}}\operatorname{d} V} \hfill \\ - \,\beta _{m}^{{}}\alpha _{1}^{{}}\int\limits_{V} {\delta \varvec{\upvarepsilon}{{(\xi ,s)}^{\text{T}}}\mathbf{D}\varvec{\upvarepsilon}_{{}}^{{k0}}\operatorname{d} V} +\beta _{m}^{{}}\int\limits_{V} {\delta \varvec{\upvarepsilon}{{(\xi ,s)}^{\text{T}}}\varvec{\upsigma}_{{}}^{{k0}}\operatorname{d} V} - \int\limits_{S} {\delta \mathbf{u}{{(s)}^{\text{T}}}\mathbf{p}_{{}}^{{km}}(s)\operatorname{d} s} =0 \hfill \\ \end{gathered} \quad {\text{at}} \ t> 0$$
(43)

Using Eqs. (34), (3941) and Green’s Theorem then gives [5, 12]

$$\begin{gathered} \delta {\mathbf{u}^{\text{T}}}\left\{ {\mathbf{E}_{0}^{{}}\mathbf{u}_{{h,\xi }}^{{k0}}+\mathbf{E}_{1}^{{\text{T}}}\mathbf{u}_{h}^{{k0}}} \right\} - \delta {\mathbf{u}^{\text{T}}}\mathbf{P}_{{}}^{{k0}} \hfill \\ - \int\limits_{0}^{1} {\delta \mathbf{u}{{\left( \xi \right)}^{\text{T}}}\left\{ {\mathbf{E}_{0}^{{}}\xi \mathbf{u}_{h}^{{k0}}{{\left( \xi \right)}_{,\xi \xi }}+\left[ {\mathbf{E}_{0}^{{}}+\mathbf{E}_{1}^{{\text{T}}} - \mathbf{E}_{1}^{{}}} \right]\mathbf{u}_{h}^{{k0}}{{\left( \xi \right)}_{,\xi }} - \mathbf{E}_{2}^{{}}\frac{1}{\xi }\mathbf{u}_{h}^{{k0}}\left( \xi \right)} \right\}\operatorname{d} \xi } =0 \hfill \\ \end{gathered} \quad {\text{at}} \ t> 0$$
(44)
$$\begin{gathered} \delta {\mathbf{u}^{\text{T}}}\left\{ {\mathbf{E}_{0}^{{}}\mathbf{u}_{{h,\xi }}^{{km}}+\mathbf{E}_{1}^{{\text{T}}}\mathbf{u}_{h}^{{km}}} \right\} \hfill \\ + \, \delta {\mathbf{u}^{\text{T}}}\left\{ {\beta _{m}^{{}}\alpha _{2}^{{}}\sum\limits_{{i=1}}^{{m - 1}} {\gamma _{i}^{{}}\left\{ {\mathbf{E}_{0}^{{}}\mathbf{u}_{{h,\xi }}^{{ki}}+\mathbf{E}_{1}^{{\text{T}}}\mathbf{u}_{h}^{{ki}}} \right\}} - \beta _{m}^{{}}\alpha _{1}^{{}}\left\{ {\mathbf{E}_{0}^{{}}\mathbf{u}_{{h,\xi }}^{{k0}}+\mathbf{E}_{1}^{{\text{T}}}\mathbf{u}_{h}^{{k0}}} \right\}+\beta _{m}^{{}}\mathbf{P}_{{}}^{{k0}} - \mathbf{P}_{{}}^{{km}}} \right\} \hfill \\ - \, \beta _{m}^{{}}\alpha _{2}^{{}}\sum\limits_{{i=1}}^{{m - 1}} {\gamma _{i}^{{}}\int\limits_{0}^{1} {\delta \mathbf{u}{{\left( \xi \right)}^{\text{T}}}\left\{ {\mathbf{E}_{0}^{{}}\xi \mathbf{u}_{h}^{{ki}}{{\left( \xi \right)}_{,\xi \xi }}+[\mathbf{E}_{0}^{{}}+\mathbf{E}_{1}^{{\text{T}}} - \mathbf{E}_{1}^{{}}]\mathbf{u}_{h}^{{ki}}{{\left( \xi \right)}_{,\xi }} - \mathbf{E}_{2}^{{}}\frac{1}{\xi }\mathbf{u}_{h}^{{ki}}\left( \xi \right)} \right\}\operatorname{d} \xi } } \hfill \\ + \,\beta _{m}^{{}}\alpha _{1}^{{}}\int\limits_{0}^{1} {\delta \mathbf{u}{{\left( \xi \right)}^{\text{T}}}\left\{ {\mathbf{E}_{0}^{{}}\xi \mathbf{u}_{h}^{{k0}}{{\left( \xi \right)}_{,\xi \xi }}+[\mathbf{E}_{0}^{{}}+\mathbf{E}_{1}^{{\text{T}}} - \mathbf{E}_{1}^{{}}]\mathbf{u}_{h}^{{k0}}{{\left( \xi \right)}_{,\xi }} - \mathbf{E}_{2}^{{}}\frac{1}{\xi }\mathbf{u}_{h}^{{k0}}\left( \xi \right)} \right\}\operatorname{d} \xi } \hfill \\ - \int\limits_{0}^{1} {\delta \mathbf{u}{{\left( \xi \right)}^{\text{T}}}\left\{ {\mathbf{E}_{0}^{{}}\xi \mathbf{u}_{h}^{{km}}{{\left( \xi \right)}_{,\xi \xi }}+[\mathbf{E}_{0}^{{}}+\mathbf{E}_{1}^{{\text{T}}} - \mathbf{E}_{1}^{{}}]\mathbf{u}_{h}^{{km}}{{\left( \xi \right)}_{,\xi }} - \mathbf{E}_{2}^{{}}\frac{1}{\xi }\mathbf{u}_{h}^{{km}}\left( \xi \right)} \right\}\operatorname{d} \xi } =0 \hfill \\ \end{gathered} \quad {\text{at}} \ t> 0$$
(45)

where

$${\mathbf{E}}_{0}^{{}}=\int\limits_{S} {{\mathbf{B}}_{1}^{{}}{{(s)}^{\text{T}}}{\mathbf{DB}}_{1}^{{}}(s)\left| {{\mathbf{J}}(s)} \right|\operatorname{d} s}$$
(46a)
$${\mathbf{E}}_{1}^{{}}=\int\limits_{S} {{\mathbf{B}}_{2}^{{}}{{(s)}^{\text{T}}}{\mathbf{DB}}_{1}^{{}}(s)\left| {{\mathbf{J}}(s)} \right|\operatorname{d} s}$$
(46b)
$${\mathbf{E}}_{2}^{{}}=\int\limits_{S} {{\mathbf{B}}_{2}^{{}}{{(s)}^{\text{T}}}{\mathbf{DB}}_{2}^{{}}(s)\left| {{\mathbf{J}}(s)} \right|\operatorname{d} s}$$
(46c)

In Eqs. (44) and (45) and the following section, \(\mathbf{u}_{{h,\xi }}^{{km}}\) and \(\mathbf{u}_{h}^{{km}}\) are used to represent \(\mathbf{u}_{{h,\xi }}^{{km}}(\xi =1)\) and \(\mathbf{u}_{h}^{{km}}(\xi =1)\).

In Eq. (44),

$$\mathbf{P}_{{}}^{{k0}}=\int\limits_{S} {\mathbf{N}\left( s \right)_{{}}^{{\text{T}}}} {\text{ }}\mathbf{p}_{{}}^{{k0}}\left( s \right){\text{d}}s\quad k = 1$$
(47)

In Eq. (45),

$$\mathbf{P}_{{}}^{{k0}}=\int\limits_{S} {\mathbf{N}\left( s \right)_{{}}^{{\text{T}}}} {\text{ }}\mathbf{p}_{{}}^{{k0}}\left( s \right){\text{d}}s=\sum\limits_{{m=0}} {\mathbf{P}_{{}}^{{(k - 1)m}}} \quad k = 2, 3, \ldots$$
(48)

Furthermore [5],

$${P^{*km}}=E_{0}^{{}}u_{{h,\xi }}^{{km}}+E_{1}^{T}u_{h}^{{km}} \quad k = 1,2, \ldots \quad m = 0,1,2, \ldots$$
(49)
$$\mathbf{E}_{0}^{{}}{\xi ^2}\mathbf{u}_{h}^{{km}}{\left( \xi \right)_{,\xi \xi }}+[\mathbf{E}_{0}^{{}}+\mathbf{E}_{1}^{{\text{T}}} - \mathbf{E}_{1}^{{}}]\xi \mathbf{u}_{h}^{{km}}{\left( \xi \right)_{,\xi }} - \mathbf{E}_{2}^{{}}\mathbf{u}_{h}^{{km}}\left( \xi \right)=0$$
(50)

where

$$\mathbf{P}_{{}}^{{*km}}=\mathbf{P}_{{}}^{{k0}}\quad {\rm at} \ t=0$$
(51)
$$\mathbf{P}_{{}}^{{*km}}=\mathbf{P}_{{}}^{{km}} - \beta _{m}^{{}}\alpha _{2}^{{}}\sum\limits_{{i=1}}^{{m - 1}} {\gamma _{i}^{{}}\mathbf{P}_{{}}^{{*ki}}} +\beta _{m}^{{}}\alpha _{1}^{{}}\mathbf{P}_{{}}^{{*k0}} - \beta _{m}^{{}}\mathbf{P}_{{}}^{{k0}}\quad at t>0 \ {\rm and} \ m=1,2,\ldots$$
(52)
$$\mathbf{P}_{{}}^{{*k0}}=\sum\limits_{{i=0}} {\mathbf{P}_{{}}^{{*(k - 1)i}}} \quad at t>0 {\text{i.e.}} k=2,3,\ldots$$
(53)

\(\mathbf{u}_{{}}^{{km}}(\xi )\) is approximated by

$$\mathbf{u}_{{}}^{{km}}(\xi )=c_{1}^{{km}}{\xi ^{ - {\lambda _1}}}{\varvec{\upphi}_1}+c_{2}^{{km}}{\xi ^{ - {\lambda _2}}}{\varvec{\upphi}_2}+... = \sum\limits_{{i=1}}^{n} {c_{i}^{{km}}{\xi ^{ - {\lambda _i}}}{\varvec{\upphi}_i}} \quad k=1,2,\ldots \quad m=0,1,2,\ldots$$
(54)

When \(\xi =1\)

$$\mathbf{u}_{h}^{{km}}=c_{1}^{{km}}{\varvec{\upphi}_1}+c_{2}^{{km}}{\varvec{\upphi}_2}+... = \sum\limits_{{i=1}}^{n} {c_{i}^{{km}}{\varvec{\upphi}_i}} = {\mathbf{\Phi }}\mathbf{c}_{{}}^{{km}}$$
(55)

where

$$\varvec{\Phi}=\left[ {\begin{array}{*{20}{c}} {\varvec{\upphi}_{1}^{{}}}&{\varvec{\upphi}_{2}^{{}}}& \cdots &{\varvec{\upphi}_{n}^{{}}} \end{array}} \right]$$
(56)
$$\mathbf{c}_{{}}^{{km}} = {\left[ {c_{1}^{{km}},c_{2}^{{km}},...,c_{n}^{{km}}} \right]^{\text{T}}}$$
(57)

Therefore,

$$\left[ {{\lambda _i}^{2}\mathbf{E}_{0}^{{}} - {\lambda _i}\left[ {\mathbf{E}_{1}^{{\text{T}}} - \mathbf{E}_{1}^{{}}} \right] - \mathbf{E}_{2}^{{}}} \right]{\varvec{\upphi}_i}=0$$
(58)
$$\mathbf{P}_{{}}^{{*km}}=\mathbf{Q}\mathbf{c}_{{}}^{{km}}$$
(59)

where

$$\mathbf{Q}=\left[ {\begin{array}{*{20}{c}} {\mathbf{q}_{1}^{{}}}&{\mathbf{q}_{2}^{{}}}& \cdots &{\mathbf{q}_{n}^{{}}} \end{array}} \right]$$
(60)
$$\mathbf{q}_{i}^{{}}=\left[ {\mathbf{E}_{1}^{{\text{T}}} - {\lambda _i}\mathbf{E}_{0}^{{}}} \right]{\varvec{\upphi}_i}$$
(61)

Equations (58) and (61) can be further expressed by [5, 12, 13]

$$\left[ {\begin{array}{*{20}{c}} {{Z_{11}}}&{{Z_{12}}} \\ {{Z_{21}}}&{{Z_{22}}} \end{array}} \right]\left\{ {\begin{array}{*{20}{c}} \varvec{\upphi} \\ \mathbf{q} \end{array}} \right\}=\lambda \left\{ {\begin{array}{*{20}{c}} \varvec{\upphi} \\ \mathbf{q} \end{array}} \right\}$$
(62)

where

$${\mathbf{Z}_{11}}={\mathbf{E}}_{{\mathbf{0}}}^{{ - 1}}{\mathbf{E}}_{1}^{{\text{T}}}$$
(63a)
$${\mathbf{Z}_{12}}= - {\mathbf{E}}_{{\mathbf{0}}}^{{ - 1}}$$
(63b)
$${\mathbf{Z}_{21}}={\mathbf{E}}_{1}^{{}}{\mathbf{E}}_{0}^{{ - 1}}{\mathbf{E}}_{1}^{{\text{T}}} - {\mathbf{E}}_{2}^{{}}$$
(63c)
$${\mathbf{Z}_{22}}= - {\mathbf{E}}_{1}^{{}}{\mathbf{E}}_{0}^{{ - 1}}$$
(63d)

Left multiplying both sides of Eq. (55) with \({\varvec{\Phi}^{ - 1}}\) then yields

$$\mathbf{c}_{{}}^{{km}}={{\mathbf{\Phi }}^{ - 1}}\mathbf{u}_{h}^{{km}}$$
(64)

Thus,

$$Q\mathbf{c}_{{}}^{{km}}=Q{\varvec{\Phi}^{ - 1}}\mathbf{u}_{h}^{{km}}=\mathbf{K}\mathbf{u}_{h}^{{km}}=\mathbf{P}_{{}}^{{*km}}\quad k=1,2,\ldots \quad m=0,1,2,\ldots$$
(65)

The boundary is divided into several segments at each of which N(s) is defined by EFGM [5, 13, 29, 30].

$$\left[ {\begin{array}{*{20}{c}} {{N_1}(s),}& \ldots &{,{N_{n_{l}^{{}}}}(s)} \end{array}} \right]=\varvec{\upvarphi}{(s)^{\text{T}}}{\varvec{\Theta}^{ - 1}}$$
(66)

where

$$\varvec{\upvarphi}{\left( s \right)^{\text{T}}}=[{\varphi _1}(s){\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\varphi _2}(s){\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} ...{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\varphi _{n_{l}^{{}}}}(s){\kern 1pt} ]$$
(67)
$$\varvec{\Theta}=\left[ {\begin{array}{*{20}{c}} {{\varphi _1}({s_1})}&{...}&{{\varphi _{n_{l}^{{}}}}({s_1})} \\ {...}&{...}&{...} \\ {{\varphi _1}({s_{n_{l}^{{}}}})}&{...}&{{\varphi _{n_{l}^{{}}}}({s_{n_{l}^{{}}}})} \end{array}} \right]$$
(68)
$$\varphi _{I}^{{}}(s)=\mathbf{p}{(s)^{\text{T}}}\mathbf{A}{(s)^{ - 1}}\mathbf{H}_{I}^{{}}(s)$$
(69)
$$\mathbf{A}(s)=\sum\limits_{{I=1}}^{{n_{x}^{{}}}} {{w_I}(s)\mathbf{p}({s_I})\mathbf{p}{{({s_I})}^{\text{T}}}}$$
(70)
$$\mathbf{H}_{I}^{{}}(s)=w_{I}^{{}}(s)\mathbf{p}({s_I})$$
(71)
$$\mathbf{p}{(s)^{\text{T}}}=\left[ {1,s} \right]$$
(72)

nL is the total number of nodes at the lth segment. nx is the total number of nodes in the domain of definition of point s at the segment.

A spline weight function [5, 13] is employed in the form of

$${w_I}(s)=\left\{ \begin{gathered} 1 - 6{\left( {\frac{{\left| {s - {s_I}} \right|}}{{{r_I}}}} \right)^2}+8{\left( {\frac{{\left| {s - {s_I}} \right|}}{{{r_I}}}} \right)^3} - 3{\left( {\frac{{\left| {s - {s_I}} \right|}}{{{r_I}}}} \right)^4}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} 0<\left| {s - {s_I}} \right|<{r_I} \hfill \\ 0{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \left| {s - {s_I}} \right| \geq {r_I}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \hfill \\ \end{gathered} \right.$$
(73)

where \({s_I}\) is s coordinate of Ith node, and \({r_I}\) is the size of support domain.

Therefore,

$$\left[ {\begin{array}{*{20}{c}} {{N_1}(s)_{{,s}}^{{}},}& \ldots &{,{N_{n_{l}^{{}}}}(s)_{{,s}}^{{}}} \end{array}} \right]=\varvec{\upvarphi}(s)_{{,s}}^{{\text{T}}}{\varvec{\Theta}^{ - 1}}$$
(74)

where

$$\varvec{\upvarphi}(s)_{{,s}}^{{\text{T}}}=\mathbf{p}(s)_{{,s}}^{{\text{T}}}\mathbf{A}{(s)^{ - 1}}\mathbf{H}(s)+\mathbf{p}(s)_{{}}^{{\text{T}}}\left[ {\mathbf{A}(s)_{{,s}}^{{ - 1}}\mathbf{H}(s)+\mathbf{A}{{(s)}^{ - 1}}\mathbf{H}(s)_{{,s}}^{{}}} \right]$$
(75)
$$\mathbf{A}(s)_{{,s}}^{{ - 1}}= - \mathbf{A}{(s)^{ - 1}}\mathbf{A}(s)_{{,s}}^{{}}\mathbf{A}{(s)^{ - 1}}$$
(76)

In the recursive solution of Eq. (65), a self-adaptive computation is carried out at each of the time intervals with a convergence criterion

$${\text{Abs}}\left( {\left( {{{u_{{hj}}^{{kR}}s_{t}^{R}} \mathord{\left/ {\vphantom {{u_{{hj}}^{{kR}}s_{t}^{R}} {\sum\limits_{{m=0}}^{{R - 1}} {u_{{hj}}^{{km}}s_{t}^{m}} }}} \right. \kern-0pt} {\sum\limits_{{m=0}}^{{R - 1}} {u_{{hj}}^{{km}}s_{t}^{m}} }}} \right)_{{s_{t}^{{}}=1}}^{{}}} \right) \leq \beta$$
(77)

where β is an error bound, \(u_{{hj}}^{{km}}\) denotes the jth component of \(\mathbf{u}_{h}^{{km}}\) (m = 1, 2,…, R). Every \(\mathbf{u}_{h}^{{kR}}\)(R = 1, 2,…) is required to be checked with the above criterion, if the criterion is satisfied consecutively three times, computing will stop at current time interval, and step into the next one. If the criterion is not met, the next order (R + 1) computation will continue untill Eq. (77) meets.

In the computation, mm and mim, the upper and lower bound of R, will be prescribed in advance. If condition (77) is not satisfied when R = mm, a size decrement of time step is necessary to restart the recursive procedure at the current time interval; if condition (77) is satisfied when R < mim, a size increment of the time step can be considered at the next time interval.

In this paper, mm = 20, mim = 5, size increment and decrement are both half size of current time step.

4 Rotationally periodic symmetry

A structure or a computational region \(\Omega\) is said to possess rotationally periodic symmetry of order \(N\) when its geometry and physical properties are invariant under the following N symmetry transformations [23, 24]

$${\Psi _i}=\left( {i - 1} \right)\theta \quad i = 1,2, \ldots ,N$$
(78)

where \({\Psi _i}\) represents a rotation of \(\Omega\) about its axis of rotation, \(\theta ={{2\pi } \mathord{\left/ {\vphantom {{2\pi } N}} \right. \kern-0pt} N}\), and N is defined as the order of symmetry. In Fig. 3, \(N=6\).

Fig. 3
figure 3

A rotationally periodic plane plate with \(N=6.\) The symmetric node orbits OA, OB and their corresponding symmetric coordinate system for reference

Designate the boundary of \(\Omega\) as \(\varGamma\) that is naturally divided into \(N\) identical parts\({\varGamma _i}\) (\(i=1,{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} ...{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} ,N\)). \({\varGamma _i}\) is arranged in an anti-clock wise sequence, i.e.

$$\varGamma ={\varGamma _1} \cup {\varGamma _2} \cdot \cdot \cdot \cup {\kern 1pt} {\kern 1pt} {\varGamma _N},{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\varGamma _i}={\Psi _i}:{\varGamma _1}$$
(79)

Equation (79) means that \({\varGamma _i}\) can be obtained from \({\varGamma _1}\), which is called ‘basic region’ and can be arbitrarily chosen from those identical parts. For any node or integration point in the basic region, there are certainly other \(N - 1\) different nodes or integration points, which are located symmetrically on the other \(N - 1\) symmetry regions. All these \(N\) nodes constitute a set of symmetric nodes, which is called symmetric node orbit, and is designated as \({\kern 1pt} {O_A}\)

$${\kern 1pt} {O_A}=\left\{ {{A_1},{A_2},...,{A_N}} \right\}$$
(80)

In Fig. 3, it is readily seen that the six interface nodes \({\kern 1pt} {B_i}\) (\(i=1,{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} ...{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} ,N\)) constitute orbit \({\kern 1pt} {O_B}\). Only those nodes that are located on the internal part and the ‘right’ interface of \({\varGamma _1}\) are regarded as belonging to the basic region. Only \({\kern 1pt} {B_1}\) is regarded as belonging to \({\varGamma _1}\) and \({\kern 1pt} {B_2}\) will then be regarded as belonging to \({\varGamma _2}\).

5 An EFG-SBM-based partitioning algorithm

Consider a cyclically symmetric structure with order \(N\) and divide \(\varGamma\) into\(N\) cyclically symmetric segments. There are M nodes at each segment.

\(\mathbf{u}_{h}^{{km}}\) in the xy coordinate system is described by

$${\left[ {\mathbf{u}_{h}^{{km}}} \right]^\text{T}}=\left[ {{{\left[ {\mathbf{u}_{h}^{{km}}} \right]}^{1\text{T}}},{{\left[ {\mathbf{u}_{h}^{{km}}} \right]}^{2\text{T}}},...,{{\left[ {\mathbf{u}_{h}^{{km}}} \right]}^{N\text{T}}}} \right] \quad k=1,2,\ldots \quad m=0,1,2,\ldots$$
(81)

where sub-vector \({\left[ {\mathbf{u}_{h}^{{km}}} \right]^i}\) belongs to the ith symmetry region.

In such an ordering way, the coefficient matrices \({{\mathbf{Z}}_{11}}\), \({{\mathbf{Z}}_{12}}\), \({{\mathbf{Z}}_{21}}\) and \({{\mathbf{Z}}_{22}}\) in Eq. (62) can be written as

$${{\text{Z}}_{rs}}={\left[ {\begin{array}{*{20}{c}} {{\text{Z}}_{{rs}}^{{11}}}&{{\text{Z}}_{{rs}}^{{12}}}& \cdots &{{\text{Z}}_{{rs}}^{{1N}}} \\ {{\text{Z}}_{{rs}}^{{21}}}&{{\text{Z}}_{{rs}}^{{22}}}& \cdots &{{\text{Z}}_{{rs}}^{{2N}}} \\ \vdots & \vdots & \ddots & \vdots \\ {{\text{Z}}_{{rs}}^{{N1}}}&{{\text{Z}}_{{rs}}^{{N2}}}& \cdots &{{\text{Z}}_{{rs}}^{{NN}}} \end{array}} \right]_{N*2M \times N*2M}}\quad r{\text{,}}s = 1,2$$
(82)

In a symmetry-adapted reference coordinate system, \(\mathbf{u}_{h}^{{km}}\) and \(\mathbf{P}_{{}}^{{*km}}\) are replaced by

$$\mathbf{u}_{h}^{{km}}={{\mathbf{T}}^M}\bar {\mathbf{u}}_{h}^{{km}}$$
(83a)
$$\mathbf{P}_{{}}^{{*km}}={{\mathbf{T}}^M}\bar {\mathbf{P}}_{{}}^{{*km}}$$
(83b)

where

$${{\mathbf{T}}^M}={\left[ {\begin{array}{*{20}{c}} {{\mathbf{\bar {T}}}_{1}^{M}}&{}&{}&{\mathbf{0}} \\ {}&{{\mathbf{\bar {T}}}_{2}^{M}}&{}&{} \\ {}&{}&{...}&{} \\ {\mathbf{0}}&{}&{}&{{\mathbf{\bar {T}}}_{N}^{M}} \end{array}} \right]_{N*2M \times N*2M}}\qquad {\mathbf{\bar{T}}}_{i}^{M} = \left[ {\begin{array}{*{20}c} {{\mathbf{T}}_{i} } & {} & {} & {\mathbf{0}} \\ {} & {{\mathbf{T}}_{i} } & {} & {} \\ {} & {} & {...} & {} \\ {\mathbf{0}} & {} & {} & {{\mathbf{T}}_{i} } \\ \end{array} } \right]_{{2M \times 2M}}$$
(84)
$${{\mathbf{T}}_i}=\left[ {\begin{array}{*{20}{c}} {\cos \left( {i - 1} \right)\theta }&{ - \sin \left( {i - 1} \right)\theta } \\ {\sin \left( {i - 1} \right)\theta }&{\cos \left( {i - 1} \right)\theta } \end{array}} \right],\quad \theta = \frac{{2\pi }}{N}$$
(85)

where \({\mathbf{\bar {u}}}_{h}^{{km}}\) and \({\mathbf{\bar {P}}}_{{}}^{{*km}}\) are defined via Eq. (80).

Substituting Eqs. (83a, 83b) into Eq. (65) and left-multiplying both sides of Eq. (65) with \({{\mathbf{T}}^M}^{{\text{T}}}\) then yield

$${\mathbf{\bar {K}\bar {u}}}_{h}^{{km}}={\mathbf{\bar {P}}}_{{}}^{{*km}}$$
(86)

where

$${\mathbf{\bar {K}}}={\mathbf{T}}_{{}}^{{M{\text{T}}}}\mathbf{K}{\mathbf{T}}_{{}}^{M}={\mathbf{T}}_{{}}^{{M{\text{T}}}}\mathbf{Q}{\varvec{\Phi}^{ - 1}}{\mathbf{T}}_{{}}^{M}=\bar {\mathbf{Q}}{\bar {\varvec{\Phi}}^{ - 1}}$$
(87)
$$\bar {\varvec{\Phi}}={{\mathbf{T}}^{M{\text{T}}}}\varvec{\Phi}$$
(88a)
$$\bar {Q}={{\mathbf{T}}^{M{\text{T}}}}Q$$
(88b)
$$\varvec{\upphi}={{\mathbf{T}}^M}\bar {\varvec{\upphi}}$$
(89a)
$$\mathbf{q}={{\mathbf{T}}^M}\bar {\mathbf{q}}$$
(89b)

Substituting Eqs. (89a, b) into Eq. (62) and left-multiplying both sides of Eq. (62) with \({{\mathbf{T}}^M}^{{\text{T}}}\) then yield

$$\left[ {\begin{array}{*{20}{c}} {{T^{MT}}}&0 \\ 0&{{T^{MT}}} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {{Z_{11}}}&{{Z_{12}}} \\ {{Z_{21}}}&{{Z_{22}}} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {{T^M}}&0 \\ 0&{{T^M}} \end{array}} \right]\left\{ {\begin{array}{*{20}{c}} {\bar {\phi }} \\ {\bar {q}} \end{array}} \right\}=\lambda \left\{ {\begin{array}{*{20}{c}} {\bar {\phi }} \\ {\bar {q}} \end{array}} \right\}$$
(90)

i.e.

$$\left[ {\begin{array}{*{20}{c}} {{{{\mathbf{\bar {Z}}}}_{11}}}&{{{{\mathbf{\bar {Z}}}}_{12}}} \\ {{{{\mathbf{\bar {Z}}}}_{21}}}&{{{{\mathbf{\bar {Z}}}}_{22}}} \end{array}} \right]\left\{ {\begin{array}{*{20}{c}} {\bar {\phi }} \\ {{\mathbf{\bar {q}}}} \end{array}} \right\}=\lambda \left\{ {\begin{array}{*{20}{c}} {\bar {\phi }} \\ {{\mathbf{\bar {q}}}} \end{array}} \right\}$$
(91)

where

$${\mathbf{\bar {Z}}}_{{rs}}^{{}}={\mathbf{T}}_{{}}^{{M{\text{T}}}}{\mathbf{Z}}_{{rs}}^{{}}{\mathbf{T}}_{{}}^{M}\quad r{\text{,}}s = 1,2$$
(92)

It can be proved that \({{\mathbf{\bar {Z}}}_{11}}\), \({{\mathbf{\bar {Z}}}_{12}}\), \({{\mathbf{\bar {Z}}}_{21}}\) and \({{\mathbf{\bar {Z}}}_{22}}\) are block-circulant [23], i.e.

$${{\mathbf{\bar {Z}}}_{rs}}=\left[ {\begin{array}{*{20}{c}} {{{{\mathbf{\bar {Z}}}}_{rs}}^{1}}&{{{{\mathbf{\bar {Z}}}}_{rs}}^{2}}& \cdots &{{{{\mathbf{\bar {Z}}}}_{rs}}^{N}} \\ {{{{\mathbf{\bar {Z}}}}_{rs}}^{N}}&{{{{\mathbf{\bar {Z}}}}_{rs}}^{1}}&{}& \vdots \\ \vdots &{}& \ddots &{{{{\mathbf{\bar {Z}}}}_{rs}}^{2}} \\ {{{{\mathbf{\bar {Z}}}}_{rs}}^{2}}& \cdots &{{{{\mathbf{\bar {Z}}}}_{rs}}^{N}}&{{{{\mathbf{\bar {Z}}}}_{rs}}^{1}} \end{array}} \right],\quad r{\text{,}}s = 1,2$$
(93)

In addition to this, \(\bar {\mathbf{E}}_{0}^{{}}={\mathbf{T}}_{{}}^{{M{\text{T}}}}\mathbf{E}_{0}^{{}}{\mathbf{T}}_{{}}^{M}\), \(\bar {\mathbf{E}}_{1}^{{}}={\mathbf{T}}_{{}}^{{M{\text{T}}}}\mathbf{E}_{1}^{{}}{\mathbf{T}}_{{}}^{M}\), and \(\bar {\mathbf{E}}_{2}^{{}}={\mathbf{T}}_{{}}^{{M{\text{T}}}}\mathbf{E}_{2}^{{}}{\mathbf{T}}_{{}}^{M}\) are also block circulant [23].

To partition the computing processes of Eqs. (86) and (91), \({\mathbf{\bar {u}}}_{h}^{{km}}\) and \({\mathbf{\bar {P}}}_{{}}^{{*km}}\) are transformed via \(\left[ {e_{1}^{{}},e_{2}^{{}}, \ldots ,e_{N}^{{}}} \right]\) that is a group of complete orthogonal basis vectors [23, 24]

$${\mathbf{\bar {u}}}_{h}^{{km}}={{\mathbf{E}}^M}{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{u} }}_{h}^{{km}}$$
(94a)
$$\bar {\mathbf{P}}_{{}}^{{*km}}={{\mathbf{E}}^M}{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{P} }}_{{}}^{{*km}}$$
(94b)

where

$${{\mathbf{E}}^M}={[{e_{\text{rs}}} \cdot {{\mathbf{I}}^M}]^\text{T}}$$
(95)

\({{\mathbf{I}}^M}\) is a 2M-dimensional unit matrix. \({e_{rs}}\) is the sth element of \({{\mathbf{e}}_r}\) defined by

$${{\mathbf{e}}_1}={{{{\left[ {1,1, \ldots ,1} \right]}^{\text{T}}}} \mathord{\left/ {\vphantom {{{{\left[ {1,1, \ldots ,1} \right]}^{\text{T}}}} {\sqrt N }}} \right. \kern-0pt} {\sqrt N }}$$
$${{\mathbf{e}}_{2i}}=\sqrt {{2 \mathord{\left/ {\vphantom {2 N}} \right. \kern-0pt} N}} {\left[ {\cos i{\theta _1},\cos i{\theta _2}, \ldots ,\cos i{\theta _N}} \right]^{\text{T}}}$$
$${{\mathbf{e}}_{2i+1}}=\sqrt {{2 \mathord{\left/ {\vphantom {2 N}} \right. \kern-0pt} N}} {\left[ {\sin i{\theta _1},\sin i{\theta _2}, \ldots ,\sin i{\theta _N}} \right]^{\text{T}}}$$
$${\theta _k}=\left( {k - 1} \right)\theta {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \left( {k=1,2, \ldots ,N} \right)$$
$${{\mathbf{e}}_N}={{{{\left[ {1, - 1,1, \ldots , - 1} \right]}^{\text{T}}}} \mathord{\left/ {\vphantom {{{{\left[ {1, - 1,1, \ldots , - 1} \right]}^{\text{T}}}} {\sqrt N }}} \right. \kern-0pt} {\sqrt N }}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \quad {\text{(when is even)}}$$
(96)

where \(\left[ {{{\left( {N - 1} \right)} \mathord{\left/ {\vphantom {{\left( {N - 1} \right)} 2}} \right. \kern-0pt} 2}} \right]\) refers to the largest integer that does not exceed \({{\left( {N - 1} \right)} \mathord{\left/ {\vphantom {{\left( {N - 1} \right)} 2}} \right. \kern-0pt} 2}\).

Substituting Eqs. (94a, b) into Eq. (86) and left-multiplying both sides of Eq. (86) with \({{\mathbf{E}}^M}^{T}\) then yield

$${\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{K} \underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{u} }}_{h}^{{km}}={\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{P} }}_{{}}^{{*km}}$$
(97)

where

$${\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{K} }}=\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\mathbf{Q}} {\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\varvec{\Phi}} ^{ - 1}}=\mathbf{E}_{{}}^{{M{\text{T}}}}\bar {\mathbf{K}}\mathbf{E}_{{}}^{M}=\mathbf{E}_{{}}^{{M{\text{T}}}}\bar {\mathbf{Q}}{\bar {\varvec{\Phi}}^{ - 1}}\mathbf{E}_{{}}^{M}$$
(98)
$$\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{Q} ={{\mathbf{E}}^{M{\text{T}}}}\bar {Q}$$
(99a)
$$\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\varvec{\Phi}} ={{\mathbf{E}}^{M{\text{T}}}}\bar {\varvec{\Phi}}$$
(99b)
$$\bar {\phi }={{\mathbf{E}}^M}\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\phi }$$
(100a)
$${\mathbf{\bar {q}}}={{\mathbf{E}}^M}{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{q} }}$$
(100b)

Left multiplying two sides of Eq. (91) with \({{\mathbf{E}}^M}^{T}\)and substituting Eqs. (100a, b) into Eq. (91), one has

$$\left[ {\begin{array}{*{20}{c}} {{{{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{Z} }}}_{11}}}&{{{{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{Z} }}}_{12}}} \\ {{{{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{Z} }}}_{21}}}&{{{{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{Z} }}}_{22}}} \end{array}} \right]\left\{ {\begin{array}{*{20}{c}} {\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\phi } } \\ {{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{q} }}} \end{array}} \right\}=\uplambda \left\{ {\begin{array}{*{20}{c}} {\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\phi } } \\ {{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{q} }}} \end{array}} \right\}$$
(101)

where

$${{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{Z} }}_{ij}}={{\mathbf{E}}^M}^{\text{T}}{{\mathbf{\bar {Z}}}_{ij}}{{\mathbf{E}}^M} \quad i,j = 1,2$$
(102)

\({{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{Z} }}_{11}}\), \({{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{Z} }}_{12}}\), \({{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{Z} }}_{21}}\) and \({{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{Z} }}_{22}}\) are block-diagonal, i.e.

$${{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{Z} }}_{ij}}=\sum\limits_{{r=0}}^{{[{N \mathord{\left/ {\vphantom {N 2}} \right. \kern-0pt} 2}]}} { \oplus {\kern 1pt} } {{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{Z} }}_{ij}}^{{rr}}\quad i,j = 1,2$$
(103)

where \(\oplus\) represents the direct sum of matrices.

Equation (103) indicates that Eq. (101) can be partitioned into \([{{\left( {N+2} \right)} \mathord{\left/ {\vphantom {{\left( {N+2} \right)} 2}} \right. \kern-0pt} 2}]\) independent sub-eigenvalue-problems, i.e.

$$\left[ {\begin{array}{*{20}{c}} {{{{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{Z} }}}_{11}}^{{rr}}}&{{{{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{Z} }}}_{12}}^{{rr}}} \\ {{{{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{Z} }}}_{21}}^{{rr}}}&{{{{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{Z} }}}_{22}}^{{rr}}} \end{array}} \right]\left\{ {\begin{array}{*{20}{c}} {\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\phi } _{r}^{ * }} \\ {{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{q} }}_{r}^{ * }} \end{array}} \right\}=\lambda \left\{ {\begin{array}{*{20}{c}} {\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\phi } _{r}^{ * }} \\ {{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{q} }}_{r}^{ * }} \end{array}} \right\}\quad r = 0,1,2, \ldots ,\left[ {{N \mathord{\left/ {\vphantom {N 2}} \right. \kern-\nulldelimiterspace} 2}} \right]$$
(104)

Based on Laplace theorem [31], it can be proved that the eigenvalues of Eq. (101) are the eigenvalues of Eq. (104). \(\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\varvec{\Phi}}\) consists of

$$\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\varvec{\Phi}} =\left[ {\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\varvec{\Phi}} _{{}}^{1},\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\varvec{\Phi}} _{{}}^{2},...,\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\varvec{\Phi}} _{{}}^{N}} \right]$$
(105a)
$$\underline{{\Phi ^{j} }} = [\underline{{\phi _{1}^{j} }} ,...\underline{{\phi _{i}^{j} }} ,...\underline{{\phi _{{2M}}^{j} }} ]\quad (j = 1,2,{\text{ }},N)$$
(105b)

\(\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\varvec{\Phi}} _{{}}^{1}\) is related to \(r=0\) via

$$\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\phi } _{i}^{{{\text{1T}}}}=\left[ {\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\phi } _{{0i}}^{{*{\text{T}}}},0_{{}}^{{2{\text{T}}}},...,0_{{}}^{{N{\text{T}}}}} \right]$$
(106a)

When \(N\) is even, \(\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\varvec{\Phi}} _{{}}^{N}\) is related to \(r={N \mathord{\left/ {\vphantom {N 2}} \right. \kern-0pt} 2}\) via

$$\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\phi } _{i}^{{N{\text{T}}}}=\left[ {0_{{}}^{{1{\text{T}}}},...0_{{}}^{{\left( {N - 1} \right){\text{T}}}},\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\phi } _{{ri}}^{{*{\text{T}}}}} \right]$$
(106b)

\(\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\varvec{\Phi}} _{{}}^{j}\) (j = 2r, or 2r + 1) is related to \(r=1,2, \ldots ,\left[ {{{\left( {N - 1} \right)} \mathord{\left/ {\vphantom {{\left( {N - 1} \right)} 2}} \right. \kern-0pt} 2}} \right]\) via

$$\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\phi } _{i}^{{2r{\text{T}}}}=\left[ {0_{{}}^{{1{\text{T}}}},...,0_{{}}^{{\left( {2r - 1} \right){\text{T}}}},\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\phi } _{{ri}}^{{*{\text{T}}}},0_{{}}^{{\left( {2r+2} \right){\text{T}}}},...,0_{{}}^{{N{\text{T}}}}} \right]$$
(106c)
$$\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\phi } _{i}^{{\left( {2r+1} \right){\text{T}}}}=\left[ {0_{{}}^{{1{\text{T}}}},...,0_{{}}^{{\left( {2r - 1} \right){\text{T}}}},\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\phi } _{{r\left( {2M+i} \right)}}^{{*{\text{T}}}},0_{{}}^{{\left( {2r+2} \right){\text{T}}}},...,0_{{}}^{{N{\text{T}}}}} \right]$$
(106d)

Definitely, \(\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\phi } _{i}^{{j{\text{T}}}}\)(i = 1, 2, … 2M; j = 1, 2, … N) is linearly independent of each other.

\({\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{Q} }}\) is constituted by

$${\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{Q} =}}\left[ {{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{Q} }}_{{}}^{1},{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{Q} }}_{{}}^{2},...,{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{Q} }}_{{}}^{N}} \right]$$
(107)

where \({\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{Q} }}_{{}}^{j}{\mathbf{=[\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{q} }}_{1}^{j},...{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{q} }}_{i}^{j},...{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{q} }}_{{2M}}^{j}{\mathbf{]}}\), and \({\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{q} }}_{i}^{j}\) can be constituted in a similar way.

Therefore,

$${\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\Phi } }}=\left[ {\begin{array}{*{20}{c}} {{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\Phi } }}_{0}^{*}}&{}&{}&{} \\ {}&{{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\Phi } }}_{1}^{*}}&{}&{} \\ {}&{}& \ldots &{} \\ {}&{}&{}&{{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\Phi } }}_{{nsp}}^{*}} \end{array}} \right]$$
(108a)
$${\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{Q} }}=\left[ {\begin{array}{*{20}{c}} {{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{Q} }}_{0}^{*}}&{}&{}&{} \\ {}&{{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{Q} }}_{1}^{*}}&{}&{} \\ {}&{}&{...}&{} \\ {}&{}&{}&{{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{Q} }}_{{nsp}}^{*}} \end{array}} \right]$$
(108b)

The dimension of \({\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\Phi } }}_{0}^{*}\) is 2M, the dimension of \({\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\Phi } }}_{i}^{*}\), \(\left( {i=1, \ldots ,nsp - 1} \right)\) is 2 × 2M, and the dimension of \({\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\Phi } }}_{{nsp}}^{*}\) is 2M or 2 × 2M if N is even or odd.

Substituting Eqs. (108a, b) into Eq. (98) then gives

$${\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{K} }}=\left[ {\begin{array}{*{20}{c}} {{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{Q} }}_{0}^{*}{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\Phi } }}{{_{{}}^{{* - 1}}}_0}}&{}&{}&{} \\ {}&{{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{Q} }}_{1}^{*}{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\Phi } }}{{_{{}}^{{* - 1}}}_1}}&{}&{} \\ {}&{}&{...}&{} \\ {}&{}&{}&{{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{Q} }}_{{nsp}}^{*}{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\Phi } }}{{_{{}}^{{* - 1}}}_{nsp}}} \end{array}} \right]$$
(109)

and

$${\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{K} }}_{{rr}}^{{}}\left[ {{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{u} }}_{h}^{{km}}} \right]_{r}^{{}}=\left[ {{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{P} }}_{{}}^{{*km}}} \right]_{r}^{{}}\quad r = 0,1,2, \ldots ,\left[ {{N \mathord{\left/ {\vphantom {N 2}} \right. \kern-\nulldelimiterspace} 2}} \right]$$
(110)

where

\(\left[ {\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\mathbf{u}} _{h}^{{km}}} \right]_{{}}^{1}=\left[ {\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\mathbf{u}} _{h}^{{km}}} \right]_{0}^{{}}\); \(\left[ {\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\mathbf{u}} _{h}^{{km}}} \right]_{{}}^{N}=\left[ {\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\mathbf{u}} _{h}^{{km}}} \right]_{{{N \mathord{\left/ {\vphantom {N 2}} \right. \kern-0pt} 2}}}^{{}}\) (when \(N\) is even)

$$\left[ {\left[ {\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\mathbf{u}} _{h}^{{km}}} \right]_{{}}^{{p\text{T}}},{\text{ }}\left[ {\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\mathbf{u}} _{h}^{{km}}} \right]_{{}}^{{q\text{T}}}} \right]=\left[ {\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\mathbf{u}} _{h}^{{km}}} \right]_{r}^{\text{T}}\quad \left( {p=2r,{\text{ }}q=2r+1;{\text{ }}r=1,2, \ldots ,\left[ {{{\left( {N - 1} \right)} \mathord{\left/ {\vphantom {{\left( {N - 1} \right)} 2}} \right. \kern-0pt} 2}} \right]} \right)$$
(111)

When load distribution and displacement constraint are both rotationally symmetric,

$${\left[ {\overline {{{P^{*km}}}} } \right]^1}={\left[ {\overline {{{P^{*km}}}} } \right]^2}= \cdots ={\left[ {\overline {{{P^{*km}}}} } \right]^N}$$
(112)
$$\left[ {\underline{{P^{{*km}} }} } \right]^{2} = \left[ {\underline{{P^{{*km}} }} } \right]^{3} = \cdots = \left[ {\underline{{P^{{*km}} }} } \right]^{N} = {\mathbf{0}},\quad \left[ {\underline{{P^{{*km}} }} } \right]^{1} {\text{ = }}\sqrt N \left[ {\underline{{P^{{*km}} }} } \right]^{1}$$
(113)

One only needs to solve the first sub-problem in Eq. (113) because other [N/2] subproblems have zero solutions.

No matter the load distribution and displacement constraint are rotationally symmetric or not, the solution of Eq. (62) can be computationally partitioned via Eq. (101), and \(\mathbf{K}\)can be generated via

$$\bar {\mathbf{K}} = \mathbf{E}_{{}}^{M}{\mathbf{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{K} }}\mathbf{E}_{{}}^{{M{\text{T}}}}$$
(114)

and

$$\mathbf{K}={\mathbf{T}}_{{}}^{M}{\mathbf{\bar {K}T}}_{{}}^{{M{\text{T}}}}$$
(115)

When displacement constraints are rotationally symmetric, Eq. (65) can be solved by solving a series of smaller independent problems described by Eq. (110). When displacement constraints are not rotationally symmetric, Eq. (65) can be solved using \(\mathbf{K}\) generated via Eqs. (114115).

Consequently, the computing expense of EFG-SBM via a combination with a temporally piecewise adaptive algorithm can be significantly reduced by the exploration of cyclic symmetry.

6 Numerical examples

Two numerical examples are given to verify the proposed algorithm, and all the computations are carried out on a PC with 3.10 GHz CPU and 4G RAM.

Both are the creep analyses, assuming that b = 0, \(\tilde {\mathbf{u}}\) = 0, \(\tilde {\mathbf{p}}\) is time independent and β = 1 × 10−5.

6.1 Numerical example 1

Consider a regular octagonal gear subjected to a uniform pressure on one edge as shown in Fig. 4 where q = 1 N/m, R1 = 1 m and R2 = 2 m. There are eight hinged supports at concave corner points. Plane stress conditions are assumed with E1 = 1000 Pa, E2 = 2000 Pa, η1 = 2 × 104 N s/m2 and ν = 0.3. 30 nodes are uniformly arranged at every edge. All geometric, physical properties and constraints are cyclic symmetry with N = 8.

Fig. 4
figure 4

A regular octagonal gear in the numerical example 1

The result obtained by the proposed approach is compared with a reference solution [28] whose elastic solution is given by ANSYS with 12,779 nodes and 4078 8-node-quadrangle finite elements. The solution of ux at point 2 is presented in Table 1 and Fig. 5. The maximum relative error between the proposed algorithm and reference solution is about 3.76%. The solution of uy at node A is presented in Table 2 and Fig. 6. The maximum relative error is about 2.86%. Initial time step is assumed with T0 = 100 s and then the algorithm would adaptively decrease half size of initial time step to restart computing at the first time interval. Size of time step is adaptively incremented to 75 s at the sixth time interval. A comparison of computing expense is given in Table 3.

Table 1 Numerical comparison of ux at point 2 (x2 = 0, y2 = 2 m)
Fig. 5
figure 5

Numerical comparison of ux at point 2

Table 2 Numerical comparison of uy at node A (xA = − 0.15 m, yA = 1.57 m)
Fig. 6
figure 6

Numerical comparison of uy at node A

Table 3 A comparison of CPU time

6.2 Numerical example 2

Consider a regular octagonal plane plate subjected to a uniform tangential force p = 1 N/m along the boundaries, as shown in Fig. 7, where R = 1 m. Plane stress conditions are assumed with E1 = 1000 Pa, E2 = 2000 Pa, η1 = 2 × 104 N s/m2 and ν = 0.3. Sizes of time steps are adaptive and initial time step is assumed with T0 = 100 s. There are eight hinged supports along the boundaries. 100 nodes are uniformly arranged at each sub-cyclic symmetry region. All geometric, physical properties, constraints and load conditions are cyclic symmetry with N = 8.

Fig. 7
figure 7

A regular 8-edge plate subjected to a tangential distributed force along the boundaries

The result obtained by the proposed approach is compared with a reference solution [28] whose elastic solution is given by ANSYS with 73,033 nodes and 24,448 8-node-quadrangle finite elements. The solution of uy at node A is presented in Table 4 and Fig. 8. The maximum relative error between the proposed algorithm and reference solution is about 2.07%. The solution of ux at point B is presented in Table 5 and Fig. 9. The maximum relative error is about 1.87%. A comparison of computing expense is given in Table 6. Figures 10 and 11 exhibit the adaptive procedures of size of time interval and power order, respectively.

Table 4 Numerical comparison of uy at node A (xA = 0.07654 m, yA = 0.92388 m)
Fig. 8
figure 8

Numerical comparison of uy at node A

Table 5 Numerical comparison of ux at point B (xB = 0.08419 m, yB = 0.46194 m)
Fig. 9
figure 9

Numerical comparison of ux at point B

Table 6 A comparison of CPU time
Fig. 10
figure 10

Size of time interval

Fig. 11
figure 11

The max power order of expansion at each time interval

7 Computing remarks

  1. 1.

    In comparison with ANSYS, a sufficient computing accuracy can be provided by the proposed algorithm, as shown in Tables 1, 2, 4 and 5, and Figs. 5, 6, 8 and 9. Both examples need a FEM-based convergent elastic solution that requires more DOF of unknowns in comparison with EFG-SBM. In example 2, the proposed algorithm needs only 1600 DOF, the convergent elastic solution given by ANSYS needs 146,066 DOF. An ANSYS-based viscoelastic analysis for this problem may lead to more DOF.

  2. 2.

    Figure 10 exhibits the adaptive procedure of size of time interval. When creep tends to a stable state, the variation of displacement becomes less and less, and the size of time step gradually becomes relative bigger in the adaptive process. When the size of time step is enlarged, more recursive computing may be required to satisfy Eq. (77) as shown in Fig. 11. In Table 6 of example 2, we see that the computational expense at the first time interval is the most more than other time intervals. It is because that the convergence criterion (77) could not be satisfied even when R = mm and then the algorithm would adaptively decrease half size of initial time step to restart computing as shown in Fig. 10.

  3. 3.

    Exploiting cyclical symmetry, a substantial speed-up can be achieved in solving viscoelastic problems by EFG-SBM, as shown in Tables 3 and 6.

8 Conclusions

The objective of this paper is to utilize the cyclic symmetry to improve the computational efficiency in a EFG-SBM based recursive solution process for the numerical viscoelastic analysis. The major contributions include:

  1. 1.

    An EFG-SBM-based partitioning algorithm via a combination with a temporally piecewise adaptive algorithm is presented. Then both eigenvalue and system equations can be partitioned into a number of smaller problems which can be solved independently, and thereby the computational efficiency is significantly improved;

  2. 2.

    In the whole recursive process of the partitioning algorithm, the eigenvalue equations and the stiffness matrix need to be solved only one time.

  3. 3.

    Since the proposed partitioning algorithm facilitates to be parallelized, a higher computing efficiency can be expected.