1 Introduction

Considerable work has been devoted to developing models for 3D elastic frame structures for small strains and in the presence of large rotations. In this context, the co-rotational is one of the classical approaches used. The motion of the continuous medium is decomposed into a rigid body motion followed by a pure deformation. For this reason, the finite element is studied in the linear case where clearly drawbacks appear. Then, the nonlinear motion is obtained by joining the linear kinematic with a rigid body motion that is recovered by the use of orthogonal transformation matrices. The evolution of the co-rotational approach can be traced by referring to the works of Stuelpnagel [37], Belytschko and Hsieh [5], Goldstein [15], Argyris [1], Rankin and Nour-Omid [32], Cardona and Geradin [9], Crisfield [11], Atluri and Cazzani [3], Geradin and Rixen [14], Ibrahimbegović et al. [19] and Felippa [13].

The large-scale calculations required by these formulations have encouraged efficient treatments of the finite rotations. Those treatments, typically based on the rotation vector of the Euler theorem to describe finite rotations, have an economical definition of the rotated local reference system because only three parameters are used. Such a minimal set approach for the parameterization of the rotations, however, suffers from the singularities in the transformation matrices for several angles and requires complex manipulations to overcome nonconservative descriptions. In effect, in the use of updated Lagrangian procedures, the composition of rotations is required while rotation vectors cannot be added together. As a result an inverse problem must be solved to recover admissible variations of the rotation vector or case statements must be used in the coding. Formulations based on finite rotation updates in incremental-iterative procedures can be found in Ibrahimbegović and Al Mikdad [18] and Yang et al. [40]. Recently, an algorithm where the solution of the inverse problem is not case sensitive was set out in Pimenta et al. [31] and Campello et al. [8].

As stated, the singularities for arbitrarily large rotations are not just inherent in the co-rotational approach, but in all methods based on a minimal set of parameters. The choice of the three parameters, therefore, is usually made by considering the characteristics of a specific application, without however avoiding singularities. In the quaternion descriptions, free singularity parameterizations can be obtained by adding a further parameter, and subjecting the related Lagrange multiplier to a constraint equation. Besides, more nonlinear equations have to be solved while computationally expensive evaluations of the coefficients in the force vector and in the tangent stiffness matrix persist.

Total Lagrangian approaches have also been developed. In a first alternative, slopes are used instead of rotation parameters. In the absolute nodal coordinate formulation (see Sopanen and Mikkola [35], Dufva et al. [12], Sugiyama et al. [38]) the cross-section orientation of the element in the frame of reference is defined by position vector gradients. A similar vectorial finite element approach (Rhim and Lee [33]) defines the cross-section in the 3D space by two vectors that take warping into account. However, due to the use of a cross-sectional coordinate system, the rigid cross-section assumption is abandoned while the description of the elastic forces becomes more complex. A second alternative is represented by the use of low-order 3D finite elements based on definitions of relative lengths only (see [25, 28]). In this approach, strains are computed by making them linear independent and invariant to the rigid kinematics measures.

More recently, formulations where the nonlinear rigid motion is recovered by referring to three unit and mutually orthogonal vectors attached to the elements have been presented. All nine components of such vectors in the global inertial frame of reference are assumed as unknown and the rotational degree of freedom of the element is reduced to only three by six constraint conditions. In the works of Betsch and Steinmann [6, 7] orthonormality of the directors is enforced by using six scalar products. In particular, three unit length and three orthogonality conditions are imposed on the directors by using the scalar products among them and reciprocally, respectively. In [26] and [27], instead, three scalar products and one cross product are used to define the constraint conditions. In particular, one orthogonality and two unit length conditions are imposed by scalar products while the complete definition of a director is obtained by referring to a cross product. Hence, the formulation proves to be well posed for any finite rotations.

In this paper we present a minimal set approach for the parameterization of the rotations in the context of updated Lagrangian descriptions. Such an approach is based on that used in [26] and [27] for the statical and dynamical geometrically nonlinear analysis of beams. Here, the use of the internal constraint equations is replaced by the intrinsic definition of the related rotation parameters by obtaining a three parameter description. We demonstrate that such a reduction from nine to three unknown components is well posed under widely applicable hypotheses. The resulting formulation still involves vector space operations for the description of the finite 3D rotations while algorithmical formulation is simple and evaluations of the coefficients in the force vector and in the tangent stiffness matrix are inexpensive.

As regards beam element modeling, here we use a small strain - finite displacement formulation of a two-node finite element based on the Timoshenko beam theory. The actual configuration of the element is rigidly translated and rotated, and deformed according to selected linear modes. Rigid and deformation modes are referred to the nodes at the boundaries of the element with six unknowns per node. The nonlinear motion is recovered by referring to three unit and mutually orthogonal vectors attached to the nodes. As stated, three of the nine components of such vectors in the global inertial frame of reference are assumed as unknown. Afterward, the deformative modes are summed up in the strain tensor definition.

We note that boundary conditions on rotations are imposed by assuming as known the related nodal slopes while applied moments are modelled as forces following the motions. It follows that, as will be discussed later, treatment of rotational boundary conditions and external moments proves to be slightly more complex with respect to the co-rotational formulations. Furthermore, the incremental rotations are restricted to the range of validity of the described parametrization. Overall, however, the use of the presented formulation requires less implementation effort and arithmetical operations with respect to the classical one.

The paper is set out in the following way. In Sects. 2 and 3 we describe the update treatment of rotations by slopes and angles respectively. In Sect. 4 we define the kinematics of the beam element and the related energetic quantities are evaluated. Section 5 discusses some aspects related to the variational formulation and related linearization. Section 6, after defining the treatment of applied moments and boundary conditions, contains the description of the nonlinear problem and the related solution algorithm. Several numerical examples that compare the described formulations based on slopes and angles for the rotation parametrization are presented in Sect. 7 and final conclusions are drawn in Sect. 8. The regularity of the augmented constrained problem is demonstrated in Appendix 1.

2 Update treatment of rotations by slopes

In the following, we refer to Fig. 1 and we denote with Latin indices \(i\) and \(j\) the values \([1,{\ldots },3]\) while \(\delta _{ij}\) is the Kronecker delta. Let \(\mathbf{g}_i = \{ g_{ij} \}\) and \({\hat{\mathbf{g}}}_i = \{ {\hat{g}}_{ij} \}\) be, respectively, the actual and the initial configuration of three unit mutually orthogonal vectors in the inertial reference basis \(\mathbf{k}_i = \{ k_{ij} \} = \{ \delta _{ij} \}\). Matrix \({\hat{\mathbf{G}}}\) links \({\hat{\mathbf{g}}}_i\) and \(\mathbf{k}_i\) vectors by \({\hat{\mathbf{g}}}_i = {\hat{\mathbf{G}}} \mathbf{k}_i\) while \(\mathbf{G}\) maps \({\hat{\mathbf{g}}}_i\) into \(\mathbf{g}_i\) vectors by \(\mathbf{g}_i = \mathbf{G} {\hat{\mathbf{g}}}_i.\)

Fig. 1
figure 1

Unit base vectors: configurations and related mappings

Now let \({\bar{\mathbf{g}}}_i = \{ {\bar{g}}_{ij} \}\) be an intermediate configuration of the \(\mathbf{g}_i\) vectors and \({\bar{\mathbf{e}}}_i = \{ {\bar{e}}_{ij} \}\) the related representation in the \({\hat{\mathbf{g}}}_i\) basis. Analogously, \(\mathbf{e}_i = \{ e_{ij} \}\) is the counterpart of \(\mathbf{g}_i\) in the \({\bar{\mathbf{g}}}_i\) reference. So the \({\bar{\mathbf{E}}} = [ {\bar{\mathbf{e}}}_1 | {\bar{\mathbf{e}}}_2 | {\bar{\mathbf{e}}}_3 ]\) and \(\mathbf{E} = [ \mathbf{e}_1 | \mathbf{e}_2 | \mathbf{e}_3 ]\) matrices describe the tranformations \({\bar{\mathbf{g}}}_i = {\bar{\mathbf{E}}} {\hat{\mathbf{g}}}_i\) and \(\mathbf{g}_i = \mathbf{E} {\bar{\mathbf{g}}}_i,\) respectively. Note that \(\{ {\bar{e}}_{ij} \}\) or \(\{ e_{ij} \}\) reduce to \(\{ \delta _{ij} \}\) if basis \({\bar{\mathbf{g}}}_i\) coincides with \({\hat{\mathbf{g}}}_i\) or \(\mathbf{g}_i\) with \({\bar{\mathbf{g}}}_i.\)

In the approach described in the work [26] the \(g_{ij}\) components of the \(\mathbf{g}_i\) vectors are assumed as unknown parameters. The nine \(g_{ij}\) unknown components are subject to six constraint conditions so that the related direction cosine matrix \(\mathbf{G} = [ \mathbf{g}_1 | \mathbf{g}_2 | \mathbf{g}_3 ]\) is orthogonal, i.e. \(\mathbf{G} \mathbf{G}^T = \mathbf{G}^T \mathbf{G} = \mathbf{I},\) with \(\mathbf{I}\) as identity matrix. In Appendix 1 we give the proof that the rotational degrees of freedom are reduced to just three and the constraint conditions are well posed for unbounded rotations. We outlined that the imposition of the constraint conditions on the \(e_{ij}\) unknown components introduces the terms related to the Lagrange multipliers. The computation of these contributions to the internal force vector and to the tangent stiffness matrix is simple to perform while a nodal process is followed for the derivative of the related extended functional with respect to the Lagrange multipliers. However nine slopes plus six Lagrange multiplier unknowns are used for the description of each rotated cross-section.

Here we abandon the unbounded validity for finite rotations of the cited method so reducing the description to a minimal set of parameters. In effect, under widely applicable hypotheses on the \(\mathbf{e}_i\) incremental vectors from the updated \({\bar{\mathbf{e}}}_i\) ones, by the cited conditions

$$\begin{aligned}&\!\!\!\mathbf{e}_2 \cdot \mathbf{e}_3 = 0 , \nonumber \\&\!\!\!\mathbf{e}_2 \cdot \mathbf{e}_2 - 1 = 0 , \nonumber \\&\!\!\!\mathbf{e}_3 \cdot \mathbf{e}_3 - 1 = 0 , \nonumber \\&\!\!\!\mathbf{e}_2 \times \mathbf{e}_3 = \mathbf{e}_1 , \end{aligned}$$
(1)

here we give an explicit definition of the \(e_{ij}\) components as a function of the \(e_{21},\) \(e_{31}\) and \(e_{32}\) parameters. To demonstrate that such a reduction is well posed we proceed in a constructive manner.

Of course, by the fourth of the (1) conditions, the cross product between the \(\mathbf{e}_2\) and \(\mathbf{e}_3\) directors is an explicit definition of the components \(e_{11},\) \(e_{12}\) and \(e_{13}\) of the \(\mathbf{e}_1\) director for any rotation. We assume \(1 - e_{31}^2 - e_{32}^2 > 0\) and \(e_{33} > 0\) so that

$$\begin{aligned} e_{33} = \sqrt{1 - e_{31}^2 - e_{32}^2} \end{aligned}$$
(2)

is obtained directly by the \(\mathbf{e}_3\) unit length condition. By the first of (1), then, the expression

$$\begin{aligned} e_{23} = - \frac{ e_{21} e_{31} + e_{22} e_{32} }{ e_{33} } \end{aligned}$$
(3)

is well posed. Inserting (3) into the second of (1) and defining

$$\begin{aligned} \Delta = e_{33}^2 + e_{32}^2 - e_{21}^2 ( e_{31}^2 + e_{32}^2 + e_{33}^2 ) = e_{33}^2 + e_{32}^2 - e_{21}^2\nonumber \\ \end{aligned}$$
(4)

we have

$$\begin{aligned}&e_{22} = \frac{ - e_{21} e_{31} e_{32} + e_{33} \sqrt{\Delta } }{ e_{32}^2 + e_{33}^2 } \text{ or} \nonumber \\&\quad e_{22} = \frac{ - e_{21} e_{31} e_{32} - e_{33} \sqrt{\Delta } }{ e_{32}^2 + e_{33}^2 } \end{aligned}$$
(5)

if the further condition \(\Delta > 0\) is satisfied as \(e_{32}^2 + e_{33}^2 \ne 0\) due to \(e_{33} > 0.\) Apart from the choice of the two solutions given in (5), the reduction in unknown parameters by the (1) conditions is realized. In effect, by inserting the \(e_{33}\) expression of (2) in (3) and (5) we obtain the expression of the components of the \(\mathbf{e}_2\) and \(\mathbf{e}_3\) vectors as a function of the \(e_{21},\) \(e_{31}\) and \(e_{32}\) assumed parameters. Then, the components of the \(\mathbf{e}_1\) vector are also defined.

Now let \(\theta _{ij}\) and \(\pi /2 + \theta _{ij}\) be the angles between \(\mathbf{e}_i\) and \({\bar{\mathbf{e}}}_j\) vectors for \(i = j\) and \(i \ne j,\) respectively. So \(e_{ij} = \text{ cos}\theta _{ij}\) for \(i = j\) while \(e_{ij} = \text{ sin}\theta _{ij}\) for \(i \ne j.\) Suppose that \(\theta _{ij} \in ( -\theta ^{*} , +\theta ^{*} )\) with \(\theta ^{*} = \text{ arcsin} (\sqrt{2}/2) = 0.785398 \text{ rad} = 45^o.\) Then we verify that

$$\begin{aligned}&0 = 1 - 2\text{ sin}^2\theta ^{*} < 1 - e_{31}^2 - e_{32}^2 < 1 ,\nonumber \\\&\quad \text{ and} 0 < \text{ cos}\theta ^{*} < e_{33} < 1. \end{aligned}$$
(6)

As \(\mathbf{e}_3\) is a unit length vector, with (4) we can write \(\Delta = 1 - e_{31}^2 - e_{21}^2.\) Additionally, exploiting \(\mathbf{E} \mathbf{E}^T = \mathbf{I},\) we obtain the expression \(\Delta = e_{11}^2.\) Then

$$\begin{aligned} \text{ cos}^2\theta ^{*} < \Delta < 1. \end{aligned}$$
(7)

We denote respectively with \(e_{22}^+\) and \(e_{22}^-\) the first and the second solution given in (5). By referring to the \(\theta _{ij}\) angles, then

$$\begin{aligned} e_{22}^{\pm } = \frac{- \text{ sin}\theta _{21} \text{ sin}\theta _{31} \text{ sin}\theta _{32} \pm \text{ cos}\theta _{33} \text{ cos}\theta _{11}}{1 - \text{ sin}^2\theta _{31}}. \end{aligned}$$
(8)

By the (7) bounds, evaluations on the \(e_{22}^{\pm }\) coefficients give

$$\begin{aligned} \begin{array}{c} - \text{ sin}^3\theta ^{*} + \text{ cos}^2\theta ^{*} < e_{22}^+ < (\text{ sin}^3\theta ^{*} + 1) / (1 - \text{ sin}^2\theta ^{*}) , \\ - \text{ sin}^3\theta ^{*} - 1 < e_{22}^- < (\text{ sin}^3\theta ^{*} - \text{ cos}^2\theta ^{*}) / (1 - \text{ sin}^2\theta ^{*}). \end{array} \end{aligned}$$
(9)

As we can verify by the (9) inequalities we have \(e_{22}^+ > 0\) and \(e_{22}^- < 0.\) As \(e_{22}\) is in the range \(( \text{ cos}(-\theta ^{*}) , \text{ cos}(\theta ^{*}) )\) the choice \(e_{22} = e_{22}^+\) must be made.

Then, in the formulation \(\theta ^{*}\) proves to be the singularity value for the rotational parameters. However, as at present the formulation is based on the updated Lagrangian procedure, such a value is not a restricting bound.

To obtain the updated treatment of rotations we refer to the following expression for the actual configuration of the \(\mathbf{g}_i\) orthonormal triad at the \(k\)-th step

$$\begin{aligned} \mathbf{g}_{i(k)} = \mathbf{G}_{(k)} {\hat{\mathbf{g}}}_i, \mathbf{G}_{(k)} = \mathbf{E}_{(k)} {\bar{\mathbf{E}}}_{(k)}. \end{aligned}$$
(10)

Vectors \(\mathbf{e}_{i(k)}\) defining \(\mathbf{E}_{(k)}\) in (10), as stated, represent the incremental rotation from the \(\bar{\mathbf{e}}_{i(k)}\) previously computed configuration. The subsequent \(k+1\) step, afterward, refers to the

$$\begin{aligned} {\bar{\mathbf{E}}}_{(k+1)} = \mathbf{E}_{(k)}^{*} \bar{\mathbf{E}}_{(k)}, \bar{\mathbf{E}}_{(k+1)}&= \left[ \begin{array}{c|c|c}&\,&\\ {\bar{\mathbf{e}}}_{1(k+1)}&\bar{\mathbf{e}}_{2(k+1)}&\bar{\mathbf{e}}_{3(k+1)} \\&\,&\end{array} \right],\nonumber \\ \mathbf{E}_{(k)}^{*}&= \left[ \begin{array}{c|c|c}&\,&\\ {\mathbf{e}}_{1(k)}^{*}&{\mathbf{e}}_{2(k)}^{*}&{\mathbf{e}}_{3(k)}^{*} \\&\,&\end{array} \right] \end{aligned}$$
(11)

updated configuration with the \(\mathbf{e}_{i(k)}^{*}\) established configuration of \(\mathbf{e}_{i}.\) The process is initialized by \(\bar{\mathbf{E}}_{(0)} = \mathbf{I}.\)

As we can see, simple products are used recursively to compose as many successive rotations as necessary. In particular, the \({\bar{\mathbf{E}}}\) matrix takes into account the previously computed rotations of the \({\hat{\mathbf{g}}}_i\) in the \(\bar{\mathbf{g}}_i\) frame while \(\mathbf{e}_i\) vectors map \(\bar{\mathbf{g}}_i\) in the actual \(\mathbf{g}_i\) frame. In fact, we note that the updated values of rotational parameters are directly the \(\bar{E}_{12},\) \(\bar{E}_{13}\) and \(\bar{E}_{23}\) coefficients of the (11) updated rotational matrix.

In the \(k\)-th step, vectors \(\mathbf{e}_{i(k)}\) are completely defined as a function of the \(e_{21(k)},\) \(e_{31(k)}\) and \(e_{32(k)}\) unknown parameters by the previously described expressions. In a continuation procedure, besides, the range \(| \theta _{ij} | < \theta ^{*}\) covers the possible incremental rotation so that the rotations in between two successively established configurations remain moderate. In particular, by simple algebraic manipulations of the previous expressions of the \(e_{ij}\) components, the recursive exact evaluations

  • \(h = 1/(1-e_{31}^2),\) \(c_1 = \sqrt{1-e_{21}^2-e_{31}^2},\)    \(c_3 = \sqrt{1-e_{31}^2-e_{32}^2},\)

  • \(e_{11} = c_1,\)

  • \(e_{33} = c_3,\)

  • \(e_{22} = -(e_{21}e_{31}e_{32}-c_1c_3) h,\)

  • \(e_{23} = -(e_{21}e_{31}c_3+c_1e_{32}) h,\)

  • \(e_{12} = -(e_{31}e_{32}c_1+e_{21}c_3) h,\)

  • \(e_{13} = -(e_{31}c_1c_3-e_{21}e_{32}) h,\)

are used. Also their second and fourth order approximations are tested in the numerical analyses.

We note that the asymptotic extrapolations of rotation matrix components are computationally less expensive than their exact expressions. Furthermore, to obtain an accurate description of the equilibrium points and an efficient behaviour of the continuation process, the updated configurations typically are not very distant.

3 Update treatment of rotations by angles

The treatment of rotations is now based on the recursive composition

$$\begin{aligned} \mathbf{g}_{i(k)} = \mathbf{R}_{(k)} \bar{\mathbf{R}}_{(k)} {\hat{\mathbf{g}}}_i , \end{aligned}$$
(12)

where \(\mathbf{R}_{(k)} = \mathbf{R}({\varvec{\psi }}_{(k)})\) with \(\psi _i\) components of \({\varvec{\psi }}\) being the unknown rotation parameters. Following the description given before, \(\mathbf{R}_{(k)}\) is the incremental rotation matrix which maps the updated frame \(\bar{\mathbf{g}}_{i(k)}\) into the actual frame \(\mathbf{g}_{i(k)}\) while \(\bar{\mathbf{R}}_{(k)} = \bar{\mathbf{R}}_{(k)}(\bar{\varvec{\psi }}_{(k)})\) maps the initial frame \({\hat{\mathbf{g}}}_i\) into the updated frame \(\bar{\mathbf{e}}_{i(k)}.\)

Based on the rotation vector \({\varvec{\psi }} = \varphi {\varvec{\phi }},\) \({\varvec{\phi }}^T {\varvec{\phi }} = 1,\) of the Euler theorem to describe finite rotations, a representation of rotation operators is:

$$\begin{aligned} \mathbf{T} ({\varvec{\psi }}) = \mathbf{I} + \frac{\text{ sin}\varphi }{\varphi } \varvec{ \Psi } + \frac{1-\text{ cos}\varphi }{\varphi ^2} \varvec{ \Psi }^2 , \end{aligned}$$
(13)

where, if the trigonometric functions are expanded in Taylor series, we obtain the exponential map

$$\begin{aligned} \text{ exp} (\varvec{\Psi }) = \mathbf{I} + \varvec{ \Psi } + \frac{1}{2} \varvec{ \Psi }^2 +\cdots . \end{aligned}$$
(14)

In (13) and (14), \(\varvec{ \Psi }\) denotes the skew symmetric tensor obtained by the components of vector \({\varvec{\psi }}\):

$$\begin{aligned} \varvec{ \Psi } = \text{ Skew}({\varvec{\psi }}) = \left[\begin{array}{ccc} 0&-\psi _3&\psi _2 \\ \psi _3&0&-\psi _1 \\ -\psi _2&\psi _1&0 \\ \end{array}\right]. \end{aligned}$$
(15)

The \({\varvec{\psi }} = \text{ axial} (\varvec{ \Psi })\) is the converse operation of (15) that extracts the \({\varvec{\psi }}\) vector from the skew symmetric tensor \(\varvec{ \Psi }.\)

In the use of the \(\mathbf{G} = \mathbf{R}{\bar{\mathbf{R}}}\) composition of rotation operators, however, we stress that \({\varvec{\psi }}_G \ne {\varvec{\psi }} + \bar{\varvec{\psi }}\) successive rotations cannot be obtained by simply adding their corresponding rotation vectors. Then, for a given (\(\bar{\varvec{\psi }},\) \({\bar{\mathbf{R}}}\)) rotation, admissible (\({\varvec{\psi }}_G,\) \(\mathbf{G}\)) rotations are obtained if

$$\begin{aligned} {\varvec{\psi }}_G = R^{-1}(\mathbf{G}). \end{aligned}$$
(16)

The inverse problem (16) is defined as the operation of obtaining the \({\varvec{\psi }}_G\) rotation vector based on the knowledge of the \(\mathbf{G}\) rotation matrix. Such an operation can be obtained by the no ill-conditioning Spurrier algorithm [36]. The procedure, as presented in Simo and Vu-Quoc [34], is summarized here:

  1. 1.

    \(a = \text{ max} ( G_{11}, G_{22}, G_{33}, G_{11}+G_{22}+G_{33} )\);

  2. 2.

    case \(a = G_{11}+G_{22}+G_{33}\):

    1. i.

      \(\bar{q} = (1 + G_{11}+G_{22}+G_{33})^{1/2} / 2\);

    2. ii.

      \(q_i = - \sum \limits _{jk} e_{ijk} G_{jk} / 4\bar{q}, i=1,{\ldots },3\);

  3. 3.

    case \(a \ne G_{11}+G_{22}+G_{33}, a = G_{ii}\):

    1. i.

      \(q_i = [ G_{ii}/2 + (1-G_{11}-G_{22}-G_{33})/4 ]^{1/2}\);

    2. ii.

      \(\bar{q} = (G_{kj}-G_{jk}) / 4q_i, q_j = (G_{ji}+G_{ij}) / 4q_i, q_k = (G_{ki}+G_{ik}) / 4q_i\);

  4. 4.

    calculate (\(\varphi _G,\) \({\varvec{\psi }}_G\)) through:

    1. i.

      \(\varphi _G = 2 \text{ arccos} \bar{q}\);

    2. ii.

      \(\psi _{Gi} = q_i \varphi _G / \text{ sin} (\varphi _G/2) \);

where \(i,\) \(j\) and \(k\) are the cyclic permutation of \(1,\) \(2\) and \(3,\) respectively, and \(e_{ijk}\) is the related permutation symbol. Computation 4.ii., finally, requires a further case depending to avoid numerical instabilities. Here the second order expansion \(\varphi _G / \text{ sin} (\varphi _G/2) = 2 + \varphi _G^2 / 12\) is used when \(|\varphi _G| < 0.001.\)

In a highly simplified and computationally inexpensive approach to the successive composition of rotations, we can assume that the incremental \(\mathbf{R}_{(k)}({\varvec{\psi }})\) operator in the composition (12) produces admissible rotations in the step. Explicitly, the following expressions for the coefficients of the \(\mathbf{R}({\varvec{\psi }})\) incremental matrix are given by:

  • \(\varphi = \sqrt{\psi _1^2+\psi _2^2+\psi _3^2},\)

  • \(s = \text{ sin}\varphi /\varphi ,\) \(c = (1-\text{ cos}\varphi )/\varphi ^2,\)

  • \(R_{11} = 1 - c (\psi _3^2+\psi _2^2),\)

  • \(R_{12} = -s \psi _3 + c \psi _2\psi _1,\)

  • \(R_{13} = s \psi _2 + c \psi _3\psi _1,\)

  • \(R_{21} = s \psi _3 + c \psi _2\psi _1,\)

  • \(R_{22} = 1 - c (\psi _3^2+\psi _1^2),\)

  • \(R_{23} = -s \psi _1 + c \psi _3\psi _2,\)

  • \(R_{31} = -s \psi _2 + c \psi _3\psi _1,\)

  • \(R_{32} = s \psi _1 + c \psi _3\psi _2,\)

  • \(R_{33} = 1 - c (\psi _2^2+\psi _1^2).\)

Second and fourth order approximations of the exponential map are also used in the tests. By referring to the established configuration \({\varvec{\psi }}^{*}_{(k)},\) afterwards, the updated configuration is realized in the subsequent \(k+1\) step as

$$\begin{aligned} \mathbf{G} = \mathbf{R}^{*}_{(k)} {\bar{\mathbf{R}}}_{(k)} , {\varvec{\psi }}_G = R^{-1}(\mathbf{G}) , {\bar{\mathbf{R}}}_{(k+1)} = \mathbf{T} ({\varvec{\psi }}_G). \end{aligned}$$
(17)

The process is initialized by \({\bar{\mathbf{R}}}_{(0)} = \mathbf{I}.\)

As stated, an algorithm where the solution of the inverse problem is not case sensitive can be found in [31] and [8]. The representation of the rotation operator is then given by

$$\begin{aligned} \mathbf{T} ({\varvec{\psi }}) = \mathbf{I} + \frac{4}{4+\varphi ^2} ( \varvec{ \Psi } + \frac{1}{2} \varvec{ \Psi }^2 ) , \end{aligned}$$
(18)

in contrast to (13) while the updated configuration is computed in the \(k+1\) step by using

$$\begin{aligned}&\!\!\!\mathbf{G} = \mathbf{R}^{*}_{(k)} \bar{\mathbf{R}}_{(k)} , {\varvec{\psi }}_G = \frac{4}{4-{\varvec{\psi }}^{{*}T}\bar{\varvec{\psi }}} ( {\varvec{\psi }}^{{*}} + \bar{\varvec{\psi }} + \frac{1}{2} {\varvec{\psi }}^{{*}} \times \bar{\varvec{\psi }} ) , \nonumber \\&\!\!\!{\bar{\mathbf{R}}}_{(k+1)} = \mathbf{T} ({\varvec{\psi }}_G) \end{aligned}$$
(19)

and \({\bar{\mathbf{R}}}_{(0)} = \mathbf{I}.\) The coefficients of the \(\mathbf{R}({\varvec{\psi }})\) incremental matrix are now obtained by using the (18) representation:

  • \(\varphi = \sqrt{\psi _1^2+\psi _2^2+\psi _3^2},\)

  • \(h = 2/(4+\varphi ^2),\)

  • \(R_{11} = 1-(\psi _3^2+\psi _2^2) h,\)

  • \(R_{12} = (\psi _2\psi _1-2\psi _3) h,\)

  • \(R_{13} = (\psi _3\psi _1+2\psi _2) h,\)

  • \(R_{21} = (\psi _2\psi _1+2\psi _3) h,\)

  • \(R_{22} = 1-(\psi _3^2+\psi _1^2) h,\)

  • \(R_{23} = (\psi _3\psi _2-2\psi _1) h,\)

  • \(R_{31} = (\psi _3\psi _1-2\psi _2) h,\)

  • \(R_{32} = (\psi _3\psi _2+2\psi _1) h,\)

  • \(R_{33} = 1-(\psi _2^2+\psi _1^2) h.\)

As before, also second and fourth order approximations of the (18) map are used in the numerical tests.

Note that expressions of the incremental rotation given in the previous section are computationally slightly less expensive than those given in this section because the three components \(e_{21},\) \(e_{31}\) and \(e_{32}\) are assumed directly as unknowns. Such an advantage increases if more terms are added in the related expansions. In the slopes based formulation, furthermore, poor expansions can only compromise the approximation of the solution points while in the angles based formulations the admissibility of the incremental rotations is also compromised. An inverse problem to be solved or case statements, finally, are not present in the coding of the slopes based formulation.

4 Kinematics and energetic quantities of the beam element

Let \(\xi _1\) be the referential coordinate along the beam element centerline \(-h_1/2\le \xi _1\le +h_1/2.\) In the following, we denote with \(n\) and \(m\) respectively the nodes in \(\xi _1=-h_1/2\) and \(\xi _1=+h_1/2.\) Along the beam centerline we define the displacement vector \(\mathbf{u}(\xi _1)=\{u_i(\xi _1)\}\) and the three orthonormal vectors \(\mathbf{g}_1(\xi _1) = \{ g_{1i}(\xi _1) \},\) \(\mathbf{g}_2(\xi _1) = \{ g_{2i}(\xi _1) \}\) and \(\mathbf{g}_3(\xi _1) = \{ g_{3i}(\xi _1) \}\) in the global inertial frame of reference \(\mathbf{k}_i.\) Director vectors \(\mathbf{g}_2\) and \(\mathbf{g}_3\) are along the principal axes of inertia of the cross-section \(\xi _2\) and \(\xi _3,\) respectively. The initial unit vector in the \(\xi _i\) element direction, as before, will be denoted by \(\hat{\mathbf{g}}_i\) (see Fig. 2).

Fig. 2
figure 2

Total Lagrangian co-rotational formulation: element kinematics and coordinate systems

In the beam element, global displacement vector \(\mathbf{u}(\xi _1)\) is composed of rigid and deformation components. In particular, we refer to the \({\bar{\mathbf{u}}} = \{ {\bar{u}}_i(\xi _1) \}\) rigid displacements defined in the initial frame of reference while the deformation \({\tilde{\mathbf{u}}}(\xi _1) = \{ {\tilde{u}}_i(\xi _1) \}\) displacements and \({\tilde{\varvec{\varphi }}}(\xi _1) = \{ {\tilde{\varphi }}_i(\xi _1) \}\) rotations are defined in the local rigidly rotated frame of reference. The deformation kinematics is assumed by the linear interpolations

$$\begin{aligned} {\tilde{u}}_1 = \varepsilon \xi _1 , {\tilde{u}}_2 = \gamma _2\xi _1 , {\tilde{u}}_3 = \gamma _3\xi _1 \end{aligned}$$
(20)

for displacements and

$$\begin{aligned} {\tilde{\varphi }}_1 = \theta \xi _1 , {\tilde{\varphi }}_2 = \chi _3\xi _1 , {\tilde{\varphi }}_3 = \chi _2\xi _1 \end{aligned}$$
(21)

for torque and flexural rotations.

Based on the above definitions and by referring to the \({\mathop {\mathbf{g }}\limits ^{o}}_i = {\mathbf{g }}_i(0)\) definitions, local rotations and director components are now linked by the vectorial operations

$$\begin{aligned} \mathbf{g}_1(\xi _1)&= \overset{o}{\mathbf{g }}_1 + {\tilde{\varphi }}_2(\xi _1)\overset{o}{\mathbf{g }}_2 - {\tilde{\varphi }}_3(\xi _1)\overset{o}{\mathbf{g }}_3 , \nonumber \\ {\mathbf{g }}_2(\xi _1)&= -{\tilde{\varphi }}_2(\xi _1)\overset{o}{\mathbf{g }}_1 + \overset{o}{\mathbf{g }}_2 + {\tilde{\varphi }}_1(\xi _1)\overset{o}{\mathbf{g }}_3 , \nonumber \\ {\mathbf{g }}_3(\xi _1)&= {\tilde{\varphi }}_3(\xi )\overset{o}{\mathbf{g }}_1 - {\tilde{\varphi }}_1(\xi _1)\overset{o}{\mathbf{g }}_2 + \overset{o}{\mathbf{g }}_3. \end{aligned}$$
(22)

We note that the first order accuracy of the (22) representations leads to local evaluations consistent with the small strains hypotheses. By evaluating (22) relations for \(\xi _1=-h_1/2\) and \(\xi _1=h_1/2,\) respectively in the \(n\) and \(m\) nodes, we have

$$\begin{aligned} \overset{o}{\mathbf{g }}_i = ( \overset{n}{{\mathbf{g}}}_i + \overset{m}{{\mathbf{g}}}_i ) / 2 \end{aligned}$$
(23)

and, by using orthonormality of the directors,

$$\begin{aligned} \theta&= ( \overset{n}{{\mathbf{g}}}_3 \cdot \overset{m}{{\mathbf{g}}}_2 - \overset{n}{{\mathbf{g}}}_2 \cdot \overset{m}{{\mathbf{g}}}_3 ) / 2h_1 , \nonumber \\ \chi _2&= - ( \overset{n}{{\mathbf{g}}}_2 \cdot \overset{m}{{\mathbf{g}}}_1 - \overset{n}{{\mathbf{g}}}_1 \cdot \overset{m}{{\mathbf{g}}}_2 ) / 2h_1 , \nonumber \\ \chi _3&= ( \overset{n}{{\mathbf{g}}}_3 \cdot \overset{m}{{\mathbf{g}}}_1 - \overset{n}{{\mathbf{g}}}_1 \cdot \overset{m}{{\mathbf{g}}}_3 ) / 2h_1. \end{aligned}$$
(24)

Furthermore, by defining \(\overset{o}{u}_i = u_i(0)\) we now obtain rigid and deformation components in the initial frame of reference by

$$\begin{aligned} {\bar{u}}_i(\xi _1) = \overset{o}{u}_i + \xi _1 ( \overset{o}{g}_{i1} - \hat{g}_{i1} ) \end{aligned}$$
(25)

and

$$\begin{aligned} {\tilde{u}}_i(\xi _1) = \xi _1 ( \varepsilon \overset{o}{g}_{1i} + \gamma _2\overset{o}{g}_{2i} + \gamma _3\overset{o}{g}_{3i} ) , \end{aligned}$$
(26)

respectively. Then, in the vectorial notation, the motion of the \(\xi _1\) point is described as

$$\begin{aligned} \mathbf{u} = \overset{o}{{\mathbf{u}}} + \xi _1(\overset{o}{\mathbf{g }}_1-\hat{\mathbf{g}}_1) + \xi _1 ( \varepsilon \overset{o}{\mathbf{g }}_1 + \gamma _2\overset{o}{\mathbf{g }}_2 + \gamma _3\overset{o}{\mathbf{g }}_3 ). \end{aligned}$$
(27)

Also here, by evaluating relation (27) for nodal coordinates \(\xi _1=-h_1/2,\) \(\xi _1=h_1/2,\) and by using orthonormality of the directors, we deduce that

$$\begin{aligned} \overset{o}{{\mathbf{u}}} = ( \overset{n}{{\mathbf{u}}} + \overset{m}{{\mathbf{u}}} ) / 2 \end{aligned}$$
(28)

is the central point displacement and

$$\begin{aligned}&\!\!\!\varepsilon = [ \overset{o}{\mathbf{g }}_1 \cdot (\overset{m}{{\mathbf{u}}}-\overset{n}{{\mathbf{u}}}) - h_1 + h_1\overset{o}{g}_{11} ] / h_1 , \nonumber \\&\!\!\!\gamma _2 = [ \overset{o}{\mathbf{g }}_2 \cdot (\overset{m}{{\mathbf{u}}}-\overset{n}{{\mathbf{u}}}) + h_1\overset{o}{g}_{21} ] / h_1 , \nonumber \\&\!\!\!\gamma _3 = [ \overset{o}{\mathbf{g }}_3 \cdot (\overset{m}{{\mathbf{u}}}-\overset{n}{{\mathbf{u}}}) + h_1\overset{o}{g}_{31} ] / h_1 , \end{aligned}$$
(29)

are the expressions of the axial and shear deformations as a function of nodal displacement and director components.

As can be seen, \(n\) and \(m\) nodal components of displacement vector \(\mathbf{u}\) and director vectors \(\mathbf{g}_i\) completely define the kinematics of the beam element. In particular, the (20) and (21) linearized deformations are defined by expressions (24) and (29) while the (27) nonlinear motion of the centerline is described by the displacement vector \(\overset{o}{{\mathbf{u}}}\) in (28) and the director vectors \(\overset{o}{\mathbf{g }}_i\) in (23).

For the evaluation of the energetic quantities of the beam element, we consider the referential coordinates \((\xi _i)\) in the element. We denote with \(\mathbf{u}_P(\xi _j) = \{u_{Pi}(\xi _j)\}\) the displacement of the generic point \(P\) in the element represented in the global reference frame. Then we can refer respectively to the expression

$$\begin{aligned} {\bar{\mathbf{u}}}_P = \overset{o}{{\mathbf{u}}} + \xi _1(\overset{o}{{\mathbf{g}}}_1-\hat{\mathbf{g}}_1) + \xi _2(\overset{o}{\mathbf{g }}_2-\hat{\mathbf{g}}_2) + \xi _3(\overset{o}{\mathbf{g }}_3-\hat{\mathbf{g}}_3) \end{aligned}$$
(30)

for the rigid and to expression

$$\begin{aligned} {\tilde{\mathbf{u}}}_P&= {\tilde{u}}_1\overset{o}{\mathbf{g }}_1 + {\tilde{u}}_2\overset{o}{\mathbf{g }}_2 + {\tilde{u}}_3\overset{o}{\mathbf{g }}_3 + ({\tilde{\varphi }}_3\xi _2 - {\tilde{\varphi }}_2\xi _3)\overset{o}{{\mathbf{g}}}_1\nonumber \\&\quad + {\tilde{\varphi }}_1(\xi _2\overset{o}{\mathbf{g }}_3 - \xi _3\overset{o}{\mathbf{g }}_2) \end{aligned}$$
(31)

for the deformation components of the motion \(\mathbf{u}_P={\bar{\mathbf{u}}}_P+{\tilde{\mathbf{u}}}_P.\)

In the hypotheses of elastic materials, the energetic quantities involved are the internal and external energy

$$\begin{aligned} U = \frac{1}{2} \int \limits _{V} \varvec{\varepsilon }_P:\varvec{\sigma }_P dV , W = \int \limits _{V} \mathbf{p}\cdot \mathbf{u}_P dV , \end{aligned}$$
(32)

respectively. In (32) we denote with \(V\) the volume of beam element, \(\mathbf{p}\) the vector of external loads while \(\varvec{\varepsilon }_P\) and \(\varvec{\sigma }_P\) are the infinitesimal strain and stress tensors in the body, respectively.

The estimation of the internal energy can be carried out by extracting the contributions due to the deformation from the \(\mathbf{u}_P\) motion. Then, the projection of \({\tilde{\mathbf{u}}}_P\) in (31) in the \(\overset{o}{\mathbf{g }}_i\) directions gives the infinitesimal displacements:

$$\begin{aligned} {\tilde{u}}&= {\tilde{\mathbf{u}}}_P\cdot \overset{o}{\mathbf{g }}_1 = \xi _1 ( \varepsilon + \chi _2\xi _2 - \chi _3\xi _3 ) , \nonumber \\ {\tilde{v}}&= {\tilde{\mathbf{u}}}_P\cdot \overset{o}{\mathbf{g }}_2 = \xi _1 ( \gamma _2 - \theta \xi _3 ) , \nonumber \\ {\tilde{w}}&= {\tilde{\mathbf{u}}}_P\cdot \overset{o}{\mathbf{g }}_3 = \xi _1 ( \gamma _3 + \theta \xi _2 ). \end{aligned}$$
(33)

By using this deformation kinematics, we define the following infinitesimal strain components of the \(\varvec{\varepsilon }_P\) tensor:

$$\begin{aligned}&\!\!\!\varepsilon _{11} = \varepsilon + \chi _2\xi _2 - \chi _3\xi _3,\quad \varepsilon _{12} = \frac{1}{2} ( \gamma _2 - \omega \theta ),\nonumber \\&\!\!\!\varepsilon _{13} = \frac{1}{2} ( \gamma _3 + \omega \theta ) , \end{aligned}$$
(34)

and \(\varepsilon _{23}=0.\) In (34) shearing contributions due to the torsional mode are modelled by a \(\omega =\omega (\xi _2,\xi _3)\) function while those due to the flexural modes are omitted to overcome locking effects.

Extensional components \(\varepsilon _{22}\) and \(\varepsilon _{33}\) are then obtained by imposing the statical assumptions \(\sigma _{22}=\sigma _{33}=0\) on the \(\varvec{\sigma }_P\) stress tensor. Then we have

$$\begin{aligned} \varepsilon _{22} = \varepsilon _{33} = - \frac{\lambda }{2(\lambda +\mu )} \varepsilon _{11} , \end{aligned}$$
(35)

where \(\lambda \) and \(\mu \) are the Lamé coefficients. By using the expressions (35), the remaining stress components are:

$$\begin{aligned} \sigma _{11}&= 2\mu \varepsilon _{11} {+} \lambda ( \varepsilon _{11}+\varepsilon _{22}{+}\varepsilon _{33} ) {=} \frac{2\mu +3\lambda }{\lambda +\mu }\mu \varepsilon _{11} = E\varepsilon _{11} , \nonumber \\ \sigma _{12}&= 2\mu \varepsilon _{12} = 2G\varepsilon _{12} , \nonumber \\ \sigma _{13}&= 2\mu \varepsilon _{13} = 2G\varepsilon _{13} \end{aligned}$$
(36)

and \(\sigma _{23}=0.\) In (36), \(E\) and \(G\) are the Young and shear moduli, respectively.

By integrating the internal energy contribution over the section area we have:

$$\begin{aligned} \int \limits _A \varvec{\varepsilon }_P:\varvec{\sigma }_P d A&= \int \limits _A ( E\varepsilon _{11}^2 + 4G\varepsilon _{12}^2 + 4G\varepsilon _{13}^2 ) d A \nonumber \\ &= E ( A \varepsilon ^2 + J_3 \chi _2^2 + J_2 \chi _3^2 ) \nonumber \\ &+ G [ A ( \gamma _2^2 + \gamma _3^2 ) + 2 \theta ^2 \int \limits _A \omega ^2 d A\nonumber \\&+ 2 (\gamma _3-\gamma _2) \theta \int \limits _A \omega d A ] , \end{aligned}$$
(37)

where \(J_2\) and \(J_3\) are the second moments of area about the related principal axes. Besides, by assuming \(\int _A \omega d A = 0\) and \(J_{\omega } = 2 \int _A \omega ^2 d A\) is the St-Venant torsion constant, we can write:

$$\begin{aligned} U&= \frac{1}{2} \int \limits _{-h_1/2}^{h_1/2} \int \limits _A \varvec{\varepsilon }_P:\varvec{\sigma }_P d A \nonumber \\&= \frac{1}{2} h_1 [ E ( A \varepsilon ^2 + J_3 \chi _2^2 + J_2 \chi _3^2 ) \nonumber \\&+ G ( A \gamma _2^2 + A \gamma _3^2 + J_{\omega } \theta ^2 ) ]. \end{aligned}$$
(38)

Note that coupling axial-torsional terms and the warping effect of the cross-section are not taken into account. In effect, here the tests are carried out to prove the computational effectiveness of the finite rotations treatment. Better models for taking into account the torsional effects in the beam, however, can also be considered (Mohri et al. [29, 30], can be referred to for details of this).

External work \(W\) is defined in (32) by the (30) and (31) expressions of the displacement vector. Note that as the kinematics of the element being modelled as a 3D body, only external forces must be assigned.

5 Variational formulation and linearization

In this section, we summarize the derivation of the used variational formulation and related consistent linearization. This is done mainly to facilitate understanding the derivation of the stiffness matrix. Although a multiplicative approach is here exploited, also the necessary linear transformation to define additive representation is established. For detailed expositions, the reader is referred to the relevant cited literature.

We denote respectively by \(\varvec{\varepsilon }^T = \{\varepsilon , \gamma _2, \gamma _3\}\) and \(\varvec{\theta }^T = \{\theta , \chi _2, \chi _3\}\) the deformation and the curvature vector while, if not specified, quantities refer to the central point of the element. By defining the \(d v = (\overset{m}{v} - \overset{n}{v}) / h_1\) discrete counterpart of the derivative of \(v\) with respect to the reference coordinate \(\xi _1,\) from the (29) expressions we have

$$\begin{aligned} \varvec{\varepsilon } = \mathbf{G}^Td\mathbf{u} + \mathbf{G}^T\mathbf{k}_1 - \mathbf{k}_1 = \mathbf{G}^Td\mathbf{x} - \mathbf{k}_1, \end{aligned}$$
(39)

where \(\mathbf{x}\) is the position vector of the centroid point. By indicating with \(\mathbf{v}_{\times }\) the skew-symmetric matrix formed by the component of \(\mathbf{v},\) from the (22) vectorial operation we can write \(\overset{m}{{\mathbf{G}}} = \mathbf{G} (\mathbf{I}+\overset{m}{\varvec{\tilde{\varphi }}}_{\times })\) and \(\overset{n}{{\mathbf{G}}} = \mathbf{G} (\mathbf{I}+\overset{n}{\varvec{\tilde{\varphi }}}_{\times }),\) where \({\varvec{\tilde{\varphi }}}\) is a material incremental rotation. Then, relation \(d\mathbf{G} = \mathbf{G} d{\varvec{\tilde{\varphi }}}_{\times }\) leads to the following expression

$$\begin{aligned} \varvec{\theta }_{\times } = d{\varvec{\tilde{\varphi }}}_{\times } = \mathbf{G}^T d\mathbf{G}. \end{aligned}$$
(40)

As we can see, the classical definitions of material deformation and curvature are obtained in (39) and (40), respectively.

Because rotation operator belongs to the Lie group of proper orthogonal linear transformations \(SO(3) = \{\mathbf{G} : \mathcal{R}^3\rightarrow \mathcal{R}^3 \mid \mathbf{G}^T\mathbf{G}=\mathbf{I}, \text{ det}\mathbf{G}=+1\},\) admissible variations are to performed by

$$\begin{aligned} \delta \mathbf{G} = \delta {\varvec{\varphi }}_{\times }\mathbf{G}, \end{aligned}$$
(41)

where \(\delta {\varvec{\varphi }}\) is the spatial component of the angular variation. Then, by (39) we have

$$\begin{aligned} \delta \varvec{\varepsilon } = (\delta {\varvec{\varphi }}_{\times }\mathbf{G})^T d\mathbf{x} + \mathbf{G}^T d \delta \mathbf{x} = \mathbf{G}^T (d \delta \mathbf{x} + d\mathbf{x}_{\times } \delta {\varvec{\varphi }}), \end{aligned}$$
(42)

while (40) implies

$$\begin{aligned} \delta \varvec{\theta }_{\times }&= (\delta {\varvec{\varphi }}_{\times }\mathbf{G})^T d\mathbf{G} + \mathbf{G}^T d \delta \mathbf{G}\nonumber \\&= \mathbf{G}^T \delta {\varvec{\varphi }}_{\times }^T d\mathbf{G} + \mathbf{G}^T [ d \delta {\varvec{\varphi }}_{\times } \mathbf{G} + \delta {\varvec{\varphi }}_{\times } d\mathbf{G} ] \nonumber \\&= \mathbf{G}^T d \delta {\varvec{\varphi }}_{\times } \mathbf{G}, \end{aligned}$$
(43)

and therefore

$$\begin{aligned} \delta \varvec{\theta } = \mathbf{G}^T d \delta {\varvec{\varphi }}. \end{aligned}$$
(44)

In the previous calculations, classical vectorial relations and transformations between spatial and material descriptions have been used. We note that, by Eqs. (42) and (44), variations of the given deformation and curvature vectors in terms of spatial angular variation follow the conventional definitions. If \(\mathbf{n}\) and \(\mathbf{m}\) respectively denote the internal stress resultants energy conjugated to the \(\delta \varvec{\varepsilon }\) and \(\delta \varvec{\theta }\) virtual strain measures, the expression for the internal virtual work is written as

$$\begin{aligned} \delta U = h_1 [ \mathbf{n}^T \delta \varvec{\varepsilon } + \mathbf{m}^T \delta \varvec{\theta } ]. \end{aligned}$$
(45)

We note that (42) and (44) definitions use \(\varvec{\varphi }\) as primary variable to describe rotations and \(\delta U = \mathbf{f}(\mathbf{x},\mathbf{G})^T\) \( \{ d \delta \mathbf{x}, \delta {\varvec{\varphi }}*, d \delta {\varvec{\varphi }} \}\) results, where \(\mathbf{f}\) is the internal force vector. By referring to the \(\mathbf{G} = \mathbf{R}{\bar{\mathbf{R}}}\) composition of rotation operators, above expressions are consistent when the multiplicative representation

$$\begin{aligned} \mathbf{R}^{(k+1)} = \text{ exp}(\Delta \varvec{\varphi }_{\times }^{(k)}) \mathbf{R}^{(k)}, \varvec{\varphi }^{(k+1)} = R^{-1}(\mathbf{R}^{(k+1)}) \end{aligned}$$
(46)

is used in relation to the \(\Delta \varvec{\varphi }\) incremental rotation. The (45) update procedure must be performed for each iterative step \(k\) of the solution process. In effect, at the converged point \(\Delta \varvec{\varphi } \rightarrow \mathbf{0},\) \(\Delta \mathbf{R} = \text{ exp}(\Delta \varvec{\varphi }_{\times }) \rightarrow \mathbf{I}\) results and variation of the (46) representation agrees with the consistent variation (41). The kind of representation used to define the \(\Delta \mathbf{R}\) operator may influence only the convergence behaviour of the iterative scheme. When an expression

$$\begin{aligned} \delta \varvec{\varphi } = \mathbf{A}({\varvec{\psi }}) \delta \varvec{\psi } \end{aligned}$$
(47)

between \(\delta \varvec{\varphi }\) angular and \(\delta \varvec{\psi }\) rotation vector variations consistent with the (41) relation is given, the different form of the material virtual strains

$$\begin{aligned} \delta \varvec{\varepsilon } = \mathbf{G}^T (d \delta \mathbf{x} + d\mathbf{x}_{\times } \mathbf{A}({\varvec{\psi }}) \delta \varvec{\psi }), \quad \delta \varvec{\theta } = \mathbf{G}^T d [ \mathbf{A}({\varvec{\psi }}) \delta \varvec{\psi } ]\nonumber \\ \end{aligned}$$
(48)

is used. Expressions (48) are now connected with the additive representation

$$\begin{aligned} {\varvec{\psi }}^{(k+1)} = {\varvec{\psi }}^{(k)} + \Delta \varvec{\psi }^{(k)}, \quad \mathbf{R}^{(k+1)} = \text{ exp}({\varvec{\psi }}_{\times }^{(k+1)}) \end{aligned}$$
(49)

where \(\Delta \varvec{\psi }\) is the incremental rotation vector. Essentially, by the (47) relation the configuration space is simplified to a linear vector space. The \(\varvec{\psi }\) rotation vector is used as primary variable while \(\delta U = \mathbf{f}(\mathbf{x},\varvec{\psi })^T \{ d \delta \mathbf{x}, \delta {\varvec{\psi }}, d \delta {\varvec{\psi }} \}\) is the form of the internal virtual work.

We use now the symbol \(d_{\alpha }\) to denote operator \(d/d\alpha \mid _{\alpha =0}.\) In the multiplicative approach the consistent linearization of the virtual work leads to

$$\begin{aligned} Lin(\mathbf{f}) = \mathbf{f} + d_{\alpha } \mathbf{f} \left[ \text{ exp}(\alpha \Delta \varvec{\varphi }_{\times })\mathbf{G} , \mathbf{x}+\alpha \Delta \mathbf{x} \right] \end{aligned}$$
(50)

while, in the additive approach, we have

$$\begin{aligned} Lin(\mathbf{f}) = \mathbf{f} + d_{\alpha } \mathbf{f} \left( \varvec{\psi }+\alpha \Delta \varvec{\psi } , \mathbf{x}+\alpha \Delta \mathbf{x} \right). \end{aligned}$$
(51)

The tangent stiffness matrix related to the (50) linearization is unsymmetric although inexpensive calculations are required to compute its coefficients. In contrast, the (51) linearization provides symmetric but very complex tangent stiffness matrices. In effect, seconde derivative of the \(\mathbf{A}({\varvec{\psi }})\) operator is involved in the linerization process which would be extremely complicated to calculate. Additionally, we remark that simplifications can be operated on the (51) linearization in the additive approach. In such cases, the continuation method with the resulting approximate tangent stiffness matrix has not difficulties in computing the equilibrium points. However, exact values of the tangent stiffness are required for locating the bifurcation points on the equilibrium path.

We now discuss of the used \(S\) parametrization in the multiplicative approach. By referring to the \(\mathbf{G} = \mathbf{E}{\bar{\mathbf{E}}}\) composition, let components \(r_1=-e_{32},\) \(r_2=e_{31}\) and \(r_3=-e_{21}\) of \(\mathbf{r}\) be the three rotation parameters retained to describe the rotation operator \(\mathbf{E}.\) Here the multiplicative representation assumes the form

$$\begin{aligned}&\mathbf{E}^{(k+1)} = \Delta \mathbf{E}^{(k)} \mathbf{E}^{(k)}, \nonumber \\&\mathbf{r}^{(k+1)^T} = \left\{ -E^{(k+1)}_{23} , E^{(k+1)}_{13} , -E^{(k+1)}_{12},\right\} \end{aligned}$$
(52)

in relation to the \(\Delta \mathbf{r}\) incremental rotation vector. As said above, the representation used to define the incremental rotation operator may influence only the convergence behaviour of the iterative scheme. The main requirement is that, at the solution point \(\Delta \mathbf{r} \rightarrow \mathbf{0},\) variation of the (52) representation agrees with the consistent variation (41), as \(\delta \mathbf{E} = d_{\alpha }\mathbf{E}(\mathbf{0}+\alpha \delta \mathbf{r}) = \delta \mathbf{r}_{\times }\mathbf{E}\) verifies. The linearization of the virtual work leads now to

$$\begin{aligned}&\{ d \delta \mathbf{u}, \delta \mathbf{r}, d \delta \mathbf{r} \}^T d_{\alpha } \mathbf{f} \big [ \mathbf{E}(\alpha \Delta \mathbf{r})\mathbf{G} , \mathbf{u}+\alpha \Delta \mathbf{u} \big ] \nonumber \\&\quad =\{ d \delta \mathbf{u}, \delta \mathbf{r}, d \delta \mathbf{r} \}^T \mathbf{K} \{ d \Delta \mathbf{u}, \Delta \mathbf{r}, d \Delta \mathbf{r} \} \nonumber \\&\quad =h_1 \left[ d_{\alpha }\mathbf{n}_{\Delta }^T \delta \varvec{\varepsilon } + d_{\alpha }\mathbf{m}_{\Delta }^T \delta \varvec{\theta } \right]\nonumber \\&\qquad + h_1 \left[ \mathbf{n}^T d_{\alpha }\delta \varvec{\varepsilon }_{\Delta } + \mathbf{m}^T d_{\alpha }\delta \varvec{\theta }_{\Delta } \right], \end{aligned}$$
(53)

where \(\mathbf{K}\) is the tangent stiffness matrix and subscript \(\Delta \) denotes perturbation \(V_{\Delta }(v+\alpha \Delta v).\) The first and second terms in (53) define the material \(\mathbf{K}^{m}\) and geometric \(\mathbf{K}^{g}\) stiffness matrix, respectively.

Defining the material stiffness \(\mathbf{C}_{\varepsilon }\) and \(\mathbf{C}_{\theta }\) respectively by \(\mathbf{C}_{\varepsilon } = \text{ Diag}(EA, GA, GA)\) and \(\mathbf{C}_{\theta } = \text{ Diag}(GJ_{\omega },EJ_2,EJ_3),\) we can write directly

$$\begin{aligned} d_{\alpha }\mathbf{n}_{\Delta } = \mathbf{C}_{\varepsilon } d_{\alpha }\varvec{\varepsilon }_{\Delta } = \mathbf{C}_{\varepsilon } \mathbf{G}^T ( d\Delta \mathbf{u} + d\mathbf{u}_{\times }\Delta \mathbf{r} ), \end{aligned}$$
(54)

and

$$\begin{aligned} d_{\alpha }\mathbf{m}_{\Delta } = \mathbf{C}_{\theta } d_{\alpha }\varvec{\theta }_{\Delta } = \mathbf{C}_{\theta } \mathbf{G}^T d\Delta \mathbf{r}. \end{aligned}$$
(55)

Then, the material stiffness matrix is symmetric with coefficients defined by

$$\begin{aligned} {\begin{array}{c} \mathbf{K}_{d\delta \mathbf{u},d\Delta \mathbf{u}}^{m} = \mathbf{G} \mathbf{C}_{\varepsilon } \mathbf{G}^T, \quad \mathbf{K}_{d\delta \mathbf{u},\Delta \mathbf{r}}^{m} = \mathbf{G} \mathbf{C}_{\varepsilon } \mathbf{G}^T d\mathbf{u}_{\times }, \quad \mathbf{K}_{d\delta \mathbf{u},d\Delta \mathbf{r}}^{m} = 0, \\ \mathbf{K}_{\delta \mathbf{r},d\Delta \mathbf{u}}^{m} = d\mathbf{u}_{\times }^T \mathbf{G} \mathbf{C}_{\varepsilon } \mathbf{G}^T, \quad \mathbf{K}_{\delta \mathbf{r},\Delta \mathbf{r}}^{m} = d\mathbf{u}_{\times }^T \mathbf{G} \mathbf{C}_{\varepsilon } \mathbf{G}^T d\mathbf{u}_{\times }, \quad \mathbf{K}_{\delta \mathbf{r},d\Delta \mathbf{r}}^{m} = 0, \\ \mathbf{K}_{d\delta \mathbf{r},d\Delta \mathbf{u}}^{m} = 0, \quad \mathbf{K}_{d\delta \mathbf{r},\Delta \mathbf{r}}^{m} = 0, \quad \mathbf{K}_{d\delta \mathbf{r},d\Delta \mathbf{r}}^{m} = \mathbf{G} \mathbf{C}_{\theta } \mathbf{G}^T. \end{array}} \end{aligned}$$
(56)

To calculate the geometric stiffness term we first linearize \(\delta \varvec{\varepsilon }\) and \(\delta \varvec{\theta }\) by

$$\begin{aligned} d_{\alpha }\delta \varvec{\varepsilon }_{\Delta }&= d_{\alpha }\mathbf{G}_{\Delta }^T (d \delta \mathbf{u} + d\mathbf{u}_{\times } \delta \mathbf{r}) + \mathbf{G}^T d_{\alpha }{{\mathbf{u}}}_{\times \Delta }\delta \mathbf{r} \nonumber \\&= (\Delta \mathbf{r}_{\times }\mathbf{G})^T (d \delta \mathbf{u} + d\mathbf{u}_{\times } \delta \mathbf{r}) + \mathbf{G}^T d\Delta \mathbf{u}_{\times }\delta \mathbf{r} \end{aligned}$$
(57)

and

$$\begin{aligned} d_{\alpha }\delta \varvec{\theta }_{\Delta } = d_{\alpha }{{\mathbf{G}}}_{\Delta }^T d\delta \mathbf{r} = (\Delta \mathbf{r}_{\times }{{\mathbf{G}}})^T d\delta \mathbf{r}. \end{aligned}$$
(58)

By inserting (57) and (58) expressions in the geometric stiffness terms of (53), after some manipulations, we have

$$\begin{aligned} \mathbf{n}^T d_{\alpha }\delta \varvec{\varepsilon }_{\Delta }&= d\delta \mathbf{u}^T (\mathbf{G}\mathbf{n})_{\times }^T \Delta \mathbf{r} + \delta \mathbf{r}^T d\delta \mathbf{u}_{\times }^T (\mathbf{G}\mathbf{n})_{\times }^T \Delta \mathbf{r} \nonumber \\&+ \delta \mathbf{r}^T (\mathbf{G}\mathbf{n})_{\times } d\Delta \mathbf{u} \end{aligned}$$
(59)

and

$$\begin{aligned} \mathbf{m}^T d_{\alpha }\delta \varvec{\theta }_{\Delta } = d\delta \mathbf{r}^T (\mathbf{G}\mathbf{m})_{\times }^T \Delta \mathbf{r}. \end{aligned}$$
(60)

Finally, the geometric stiffness matrix is unsymmetric with coefficients given by

$$\begin{aligned} \begin{array}{c} \mathbf{K}_{d\delta \mathbf{u},d\Delta \mathbf{u}}^{g} = 0, \mathbf{K}_{d\delta \mathbf{u},\Delta \mathbf{r}}^{g} = (\mathbf{G}\mathbf{n})_{\times }^T, \,\,\mathbf{K}_{d\delta \mathbf{u},d\Delta \mathbf{r}}^{g} = 0, \\ \mathbf{K}_{\delta \mathbf{r},d\Delta \mathbf{u}}^{g} = (\mathbf{G}\mathbf{n})_{\times }, \,\,\mathbf{K}_{\delta \mathbf{r},\Delta \mathbf{r}}^{g} {=} d\mathbf{u}_{\times }^T (\mathbf{G}\mathbf{n})_{\times }^T, \,\, \mathbf{K}_{\delta \mathbf{r},d\Delta \mathbf{r}}^{g} {=} 0, \\ \mathbf{K}_{d\delta \mathbf{r},d\Delta \mathbf{u}}^{g} = 0, \,\, \mathbf{K}_{d\delta \mathbf{r},\Delta \mathbf{r}}^{g} = (\mathbf{G}\mathbf{m})_{\times }^T, \,\,\mathbf{K}_{d\delta \mathbf{r},d\Delta \mathbf{r}}^{g} = 0. \end{array} \end{aligned}$$
(61)

If an additive approach is used, as said the linear transformation \(\delta \varvec{\varphi } = \mathbf{A}(\mathbf{r}) \delta \mathbf{r}\) is to be established. From the (41) relation, this is done by imposing \(d_{\alpha }{{\mathbf{G}}}(\mathbf{r}+\alpha \delta \mathbf{r}) = \delta {\varvec{\varphi }}_{\times } \mathbf{G}(\mathbf{r})\) or, equivalently

$$\begin{aligned} d_{\alpha }\mathbf{E}(\mathbf{r}+\alpha \delta \mathbf{r}) = \delta {\varvec{\varphi }}_{\times } \mathbf{E}(\mathbf{r}). \end{aligned}$$
(62)

Because in the parametrization the \(E_{23},\) \(E_{13}\) and \(E_{12}\) coefficients of \(\mathbf{E}\) compose directly the rotation vector \(\mathbf{r},\) we can write

$$\begin{aligned} d_{\alpha }[\mathbf{E}(\mathbf{r}+\alpha \delta \mathbf{r})]_{23}&= d_{\alpha }(e_{32}+\alpha \delta e_{32}) = - \delta r_{1} = \delta \varphi _{3}e_{31} - \delta \varphi _{1}e_{33}, \nonumber \\ d_{\alpha }[\mathbf{E}(\mathbf{r}+\alpha \delta \mathbf{r})]_{13}&= d_{\alpha }(e_{31}+\alpha \delta e_{31}) = \delta r_{2} = - \delta \varphi _{3}e_{32} + \delta \varphi _{2}e_{33}, \nonumber \\ d_{\alpha }[\mathbf{E}(\mathbf{r}+\alpha \delta \mathbf{r})]_{12}&= d_{\alpha }(e_{21}+\alpha \delta e_{21}) = - \delta r_{3} = - \delta \varphi _{3}e_{22} + \delta \varphi _{2}e_{23}.\nonumber \\ \end{aligned}$$
(63)

Then, we obtain

$$\begin{aligned} \delta \mathbf{r} = \left[\begin{array}{ccc} e_{33}&0&-e_{31} \\ 0&e_{33}&-e_{32} \\ 0&-e_{23}&e_{22} \\ \end{array}\right] \delta {\varvec{\varphi }} = \mathbf{A}(\mathbf{r})^{-1} \delta {\varvec{\varphi }}. \end{aligned}$$
(64)

The inverse relation of (64), by the \(e_{11} = e_{22}e_{33} - e_{23}e_{32}\) evaluation used in the parametrization, leads to the searched expression

$$\begin{aligned} \delta {\varvec{\varphi }} = \frac{1}{e_{11}e_{33}} \left[\begin{array}{ccc} e_{11}&e_{31}e_{23}&e_{31}e_{33} \\ 0&e_{22}e_{33}&e_{32}e_{33} \\ 0&e_{23}e_{33}&e_{33}^2 \\ \end{array}\right] \delta \mathbf{r} = \mathbf{A}(\mathbf{r}) \delta \mathbf{r}. \end{aligned}$$
(65)

From (64) and (65) it is clearly seen that \(\mathbf{A}(\mathbf{r})^{-1}\) and \(\mathbf{A}(\mathbf{r})\) operators are well defined in the assigned range of validity of the parametrization and that \(\mathbf{A}(\mathbf{r})\) reduces to \(\mathbf{I}\) as \(\mathbf{r}\) goes to zero.

6 Applied moments, boundary conditions and solution scheme

In this section, after describing the treatment of the given external moments and boundary conditions, the system of the nonlinear equations and the adopted solution scheme are discussed.

As remarked in the previuos section, only the external work of forces can be defined in the described formulation so moments can be modelled as forces following the motion of points of the beam element. In particular, let vector \(\overset{n}{{\mathbf{m}}}\) be the spatially fixed moment applied in the \(n\) node and \(\overset{n}{{\mathbf{g}}}_i\) the related nodal basis. We also refer to the three points \(P_i\) on \(\overset{n}{{\mathbf{g}}}_i\) at a fixed unit distance from the \(n\) node. Displacements of these points, therefore, are defined by referring to the (30) rigid motion as \(\mathbf{u}_{(1)}={\bar{\mathbf{u}}}(1,0,0),\) \(\mathbf{u}_{(2)}={\bar{\mathbf{u}}}(0,1,0)\) and \(\mathbf{u}_{(3)}={\bar{\mathbf{u}}}(0,0,1).\) Then, we have

$$\begin{aligned} \mathbf{u}_{(i)} = \overset{n}{{\mathbf{u}}} + \overset{n}{{\mathbf{g}}}_i - \hat{\mathbf{g}}_i , \end{aligned}$$
(66)

where \(\overset{n}{{\mathbf{u}}}\) is the displacement vector of the \(n\) node while the presence of the \(\hat{\mathbf{g}}_i\) vectors will not have any influence.

We denote now by \(\mathbf{p}_{(i)}\) three force vectors applied to the related \(P_i\) points. The force—\( \sum _{i} \mathbf{p}_{(i)}\) is also applied to the \(n\) node to zeroing the resultant force vector. By (66), then, we compute the external work as

$$\begin{aligned} W_{\mathbf{m}} = \sum _{i} \mathbf{p}_{(i)}^T ( \mathbf{u}_{(i)} - \overset{n}{{\mathbf{u}}} ) = \sum _{i} \mathbf{p}_{(i)}^T (\overset{n}{{\mathbf{g}}}_i - \hat{\mathbf{g}}_i). \end{aligned}$$
(67)

The variation of the functional \(W_{\mathbf{m}}\) is carried out on the \(\overset{n}{{\mathbf{g}}}_i\) vectors by considering \(\mathbf{p}_{(i)}\) as constants. Then, after variation of (67) with respect to the rotational parameters chosen to represent the \(\overset{n}{g}_{ij}\) components, we define the \(\mathbf{p}_{(i)}\) force vectors by

$$\begin{aligned} \mathbf{p}_{(i)} = - \frac{1}{2} \sum _{jk} e_{ijk} p_j \overset{n}{{\mathbf{g}}}_k, \quad \sum _{i} \overset{n}{{\mathbf{g}}}_i \times \mathbf{p}_{(i)} = \overset{n}{{\mathbf{m}}}. \end{aligned}$$
(68)

As can be observed in (68), applied forces are such that the resulting moment in the \(n\) node is the given \(\overset{n}{{\mathbf{m}}}\) vector. Simple algebraic manipulations, finally, lead to the \(p_i = \overset{n}{{\mathbf{m}}}^T \overset{n}{{\mathbf{g}}}_i\) components. We note that, the definitions given in (67) and (68) imply that the external force vectors are a function of the assumed unknowns.

We emphasize that boundary conditions assigned to rotations are imposed directly because the three chosen parameters fully characterize the rigid configuration of the beam section for both slopes and angles based formulations. For the slopes based formulations, in particular, let \(\overset{n}{\alpha }_i \mathbf{k}_i\) be the imposed rotation at the \(n\) node with an angle \(\alpha _i\) about the \(\mathbf{k}_i\) reference axis. By simple geometrical considerations the following relations between the fixed angle values and the the rotation parameters

$$\begin{aligned} \begin{array}{l} \text{ sin}\overset{n}{\alpha }_1 \! = \! \mathbf{k}_3 \times \overset{n}{{\mathbf{g}}}_3 \cdot \mathbf{k}_1 \! = - \overset{n}{g}_{32} , \\ \text{ sin}\overset{n}{\alpha }_2 \! = \! \mathbf{k}_3 \times \overset{n}{{\mathbf{g}}}_3 \cdot \mathbf{k}_2 \! = \overset{n}{g}_{31} , \\ \text{ sin}\overset{n}{\alpha }_3 \! = \! \mathbf{k}_2 \times \overset{n}{{\mathbf{g}}}_2 \cdot \mathbf{k}_3 \! = - \overset{n}{g}_{21} , \end{array} \end{aligned}$$
(69)

are obtained. In effect, \(\mathbf{k}_i \times \mathbf{g}_i\) is the value \(\text{ sin}\alpha _i\) with \(\alpha _i\) being the angle formed by \(\mathbf{k}_i\) and \(\mathbf{g}_i.\) Subsequent projection on the choice \(\mathbf{k}_i\) axis gives the imposed \(\text{ sin}{\alpha }_i\) value. As an example, let a support allow the rotation about the directions \(\mathbf{k}_2\) and \(\mathbf{k}_3\) but not about \(\mathbf{k}_1.\) Such a condition, imposed at the \(n\) node, is described in terms of the chosen rotational parameters by \(\overset{n}{g}_{32} = 0.\) By the (69) expressions, finally, appears that no singularities occur in the boundary conditions imposition.

The definition of equilibrium equations is based on the stationary problem for the functional

$$\begin{aligned} \Pi (\mathbf{u},\mathbf{r}) = U(\mathbf{u},\mathbf{r}) - W(\mathbf{u},\mathbf{r}) , \end{aligned}$$
(70)

with internal energy \(U\) and external work \(W.\) For each described two-node element, the three components \(u_i\) are the nodal displacements while \(r_i\) are the three nodal rotation parameters. In particular, for the slopes or the angles based descriptions respectively, components \(r_i\) represent the \(e_{21},\) \(e_{31}\) and \(e_{32}\) slope or the \(\psi _1,\) \(\psi _2\) and \(\psi _3\) angle parameters. After discretization and inclusion of the boundary conditions, the \(\delta \Pi \) variation of the functional leads to a system of nonlinear equations in the unknown vector \(\mathbf{q}.\) Therefore, by denoting with \(\mathbf{N}(\mathbf{q})\) the internal force vector, the nonlinear equations are expressed by

$$\begin{aligned} \mathbf{N}(\mathbf{q}) - \lambda \mathbf{P} = 0. \end{aligned}$$
(71)

In (71), \(\mathbf{P}\) and \(\lambda \) are the external force vector and the external force parameter, respectively.

A predictor–corrector scheme as described in [23] for the equilibrium path individualization is used in the analysis. It is characterized by a predictor step obtained by the linear extrapolation of the previously computed \(\mathbf{q}_{(k)}\) and \(\mathbf{q}_{(k-1)}\) vectors when \(k>0,\) while the first order asymptotic extrapolation is used when \(k=0.\) Furthermore, the corrector is accomplished by a Newton method based corrector scheme with minimization of the distance between the approximate and equilibrium points as a constraint equation.

The length \(\mu _{(k)}\) of the extrapolation parameter in the \(k\)-th predictor–corrector step is chosen as a function of the iterations \(N^{it}_{(k-1)}\) performed in the previous corrector step and a \(\bar{N}^{it}\) target iteration count. Evaluation \(\mu _{(k)} = \mu _{(k-1)} \bar{N}^{it} / N^{it}_{(k-1)}\) is adopted to save computational costs in the analysis because high \(\mu _{(k)}\) values can be reached. However, restriction \(\mu _{(k)} / \mu _{(k-1)} \le 2\) is imposed in the code to avoid excessively long predictor steps.

The corrector process computes the increments of the \(l\)-th approximation of the force parameter \(\Delta \lambda _{(l)}\) and vector of discretization parameters \(\Delta \mathbf{q}_{(l)}.\) It is stopped when the convergence criterion

$$\begin{aligned} \epsilon _{(l)} = \frac{\Vert \Delta \mathbf{q}_{(l)} \Vert }{\Vert \mathbf{q}_{(l)} \Vert } < 10^{-8} \end{aligned}$$
(72)

is satisfied. If divergence in corrector iterations occurs, a new predictor–corrector step is performed with the length \(\mu _{(k)}\) halved.

Detection of the bifurcation points along the equilibrium path traced by the used continuation method is obtained by the algorithm described in [24]. Basically, the algorithm begins the bifurcation points computation once their presence has been pointed out within a predictor–corrector step. The computation is initialized by solving a linear eigenvalues problem defined on the linear extrapolation. Then, the bifurcation points are exactly determined by solving the complete nonlinear system constituted by the equilibrium equation and the eigenvalue problem. Finally, the introduction of one further suitable equation makes the consequent augmented system well-posed.

7 Numerical examples

Some numerical tests have been carried out with the suggested algorithms. The described formulations based on slopes and angles for the parametrization of rotations, respectively \(S\)-parametrization and \(A\)-parametrization, have been compared. In particular, \(A_1\)-parametrization refers to the use of rotation matrix (13) while \(A_2\)-parametrization refers to the use of expression (18). predictor–corrector steps are characterized by the use of Newton’s method as corrector with several \(\bar{N}^{it}\) target iteration counts. Tables report the number (\(steps\)) of predictor–corrector steps, the (\(N_m\)) mean value of the number of Newton’s iterations in the \(steps\) and the (\(t\)) CPU time (s) spent in the whole analysis.

In all tests the initial solution point is \((\mathbf{q}_{(0)},\lambda _{(0)}) = (0,0)\) while \(\lambda _{(1)}\) initial \(\lambda \)-increments are assigned. Traversing a given displacement component or load parameter value is adopted as the stopping criteria of the continuation analysis. Divergence of the correction iteration is pointed out here by condition \(\epsilon _{(l)} > \epsilon _{(l-1)}\) for \(l>1.\) A maximum number of iterations (\(N_{\text{ max}}\)) are also permitted in the corrector step. In particular, \(N_{\text{ max}}\)=10 is assigned to indicate that the iteration process becomes very slow. Several refinement levels of the mesh obtained by using \(N_{e}\) elements are also tested.

When compared to reference results, similar equilibrium states computed by the described treatments of the finite rotations and beam element model are obtained. Additionally, the differences between the computed equilibrium paths computed by \(S\) and \(A\) like parametrizations are negligible. In effect, whereas the treatment of the rotations is different, the beam finite element used is the same. Finally, at present, we are primarily concerned with comparing the number of arithmetical operations and simplicity in programming rather than discretization error.

In the tests, due to the different range of validity of the approximation, \(\bar{N}^{it}\)=4,5 for the second order and \(\bar{N}^{it}\)=4,5,6 for the fourth order extrapolations and the exact representations of the rotation map is used. From the resulting behaviour of the Newton’s iterations, however, we note that \(\bar{N}^{it}\)=6 is a limit value for the predictor steps evaluation. In effect, for such a value, \(N_m \! \le \! 5\) denotes that several divergences in the corrector steps or excessively long predictor steps occur before the analysis is completed.

7.1 Example 1: lateral buckling of a narrow cantilever beam

The narrow cantilever beam shown in Fig. 3 was analysed by meshes of 8, 12 and 16 elements. The numerical results obtained in Kouhia [20] and Battini and Pacoste [4] can be taken as reference. The \(\lambda - w_c\) vertical load parameter \(-\) lateral tip displacement curves were computed and displayed as a ratio of \(\gamma _o = \sqrt{EJ_3GJ_{\omega }}/L^2\) and \(L,\) \(L=100,\) respectively. The analyses were stopped when the value \(\lambda = 12\) was reached. Significant deformed configurations are also shown. Computational performances are reported in Table 1 in the cases of second order, fourth order and exact representations of the rotation map.

Fig. 3
figure 3

Example 1: problem definition; equilibrium paths and deformed configurations for \(N_{e}\)=12

Table 1 Example 1: computational characteristics for the \(A\) and \(S\) based parametrization algorithms

If the imperfection is removed, bifurcation points appear along the equlibrium path. The \(\lambda _b\) buckling loads are now calculated for increasing \(J_3/J_2\) values of the aspect ratio of the cross section. The \(\gamma _b = 4.0126\gamma _o/\lambda _b\) values are reported in Table 2 and refer to meshes of 8, 16 and 32 elements in the cases of exact S-representations of the rotation map. Furthermore, to take into account high values of the aspect ratio, the torsion constant is calculated from the five term approximation

$$\begin{aligned} J_{\omega } = \frac{1}{3} h_2 h_3^3 \left\{ 1 - \frac{192}{\pi ^5} \frac{h_3}{h_2} \sum _{n=1}^{4} \frac{1}{(2n-1)^5} \tanh \left[ \frac{\pi }{2} \frac{h_2}{h_3} (2n-1) \right] \right\} .\nonumber \\ \end{aligned}$$
(73)

To compute accurate buckling load values over a large range of the aspect ratio, a numerical integration on the exact buckling load formula was carried out in Hodges and Peters [16], while finite element approaches with an additive and a multiplicative representation in the update procedure was used in [9] and Lee et al. [22], respectively. In particular, to avoid complexity in the formulation, in [9] the second derivative of the \(\mathbf{A}({\varvec{\psi }})\) operator is neglected in the stiffness matrix definition.

Table 2 Example 1: no imperfection case: normalized buckling loads for increasing aspect ratio values obtained by exact \(S\)-representation

The \(\gamma _b\) values here computed by using the 32 elements mesh are compared with the cited results in Fig. 4. When the pre-buckling deflections are negligible there are no significant differences in the buckling loads depending on which approach is used. The prebuckling deformations will become large as the value \(J_3/J_2\) increases. In these cases, the approximation \(\mathbf{A}({\varvec{\psi }})=\mathbf{I}\) operated for the second derivative in the tangent matrix calculation is not longer valid and the related detection of the critical points is not accurate.

Fig. 4
figure 4

Example 1, no imperfection case: normalized buckling loads versus cross section aspect ratio

7.2 Example 2: right-angled frame under an end load

The nonlinear solution path of the \(L\) frame shown in Fig. 5 is analysed. This example, first proposed by Argyris et al. in [2], has been analysed with nonlinear shell elements in Wriggers and Gruttmann [39]. The finite dimension connection between the members of the frame was modelled in [4] with both a rigid and disregard connections. The \(\lambda - w_c\) horizontal load parameter \(-\) lateral tip displacement of the free end curves was computed until the \(\lambda = 4\) value and displayed. Significant deformed configurations are also shown in Fig. 5. The analysis refers to a total number of 8, 16 and 24 elements used in the frame. Computational characteristics are reported in Table 3.

Table 3 Example 2: computational characteristics for the \(A\) and \(S\) based parametrization algorithms
Fig. 5
figure 5

Example 2: problem definition; equilibrium paths and deformed configurations for \(N_{e}\)=24

7.3 Example 3: right-angled frame under end moments

In this example the right angle frame depicted in Fig. 6 is analysed. Appreciable large rotations with a significant amount of twist are considered. The loading is given by a pair of concentrated moments applied at the supports. Due to the symmetry, only half of the frame is modelled. At the support only translation along \(x_1\) and rotation around \(x_3\) are allowed. The \(\lambda - w_c\) moment parameter \(-\) apex displacement in the \(x_3\) direction diagram and several deformed configurations are plotted. The results are in agreement with those found in [4] and [40]. Equilibrium points and computational performances, reported respectively in Fig. 6 and in Table 4, refer to meshes with 6, 12 and 18 elements for the half of the frame.

Table 4 Example 3: computational characteristics for the \(A\) and \(S\) based parametrization algorithms
Fig. 6
figure 6

Example 3: problem definition; equilibrium paths and deformed configurations for \(N_{e}\)=18

By using \(S\) parametrization and \(N_{e}\)=18, the test is also carried out by removing the imperfection load after the first buckling phase as in [34]. In the analysis, therefore, the equilibrium curve traverses the negative critical point and completes a second revolution of the frame about the line connecting its hinged ends. Applied moment versus lateral displacement curves are shown in Fig. 7 for the first and second revolution. Afterward computed solution points traverse the positive critical point and describe the same first post-buckling behaviour as previously computed. In the \(S\) formulation, then, there is no difficulty in subjecting the frame to any number of revolutions. A symmetrical intersection of the moment axis is, furthermore, obtained. Again in Fig. 7, the curves \(\lambda - g_{ij}\) components of the director \(\mathbf{g}_1^b\) at the hinged point and \(\mathbf{g}_2^c\) and \(\mathbf{g}_3^c\) at the apex are shown.

Fig. 7
figure 7

Example 3: equilibrium path and director component values for the first and second revolution

7.4 Example 4: deep circular arch under vertical load

This test concerns the deep arch problem shown in Fig. 8. This example was analysed in [34] and Kouhia and Mikkola [21] for the two-dimensional and in Cardona and Huespe [10] for the 3D behaviour. Meshes with 24, 36 and 48 equal elements for the whole arch are employed. The frame is subjected to point loads, respectively \(\lambda \) along the \(x_2\) and \(\epsilon \lambda \) along the \(x_3\) direction, in the apex. The arch is fully clamped at one end and only the in plane \(x_1 x_2\) rotation is permitted at the other end.

Fig. 8
figure 8

Example 4: problem definition; equilibrium paths and deformed configurations for \(N_{e}\)=48

The analysis is stopped when the vertical deflection of the apex value \(v_c=200\) is traversing. The \(\lambda \) - \(v_c\) equilibrium path and some deformed configurations are shown in Fig. 8. As usual, computational performances are reported in Table 5 for Newton corrector and several imposed \(\bar{N}^{it}\) iterations.

Table 5 Example 4: computational characteristics for the \(A\) and \(S\) based parametrization algorithms

7.5 Example 5: beam bent to a helical form

The cantilever beam shown in Fig. 9 was analysed by meshes of 32, 64 and 96 elements. This example, introduced by Ibrahimbegović [17] and also analysed in [4], illustrates the effects of the simultaneous application of a bending moment and a transversal load. In particular, the beam is subjected to a concentrated moment \(\mathbf{M} = 120\pi \lambda \mathbf{k}_3\) and an out-of-plane force \(\mathbf{F} = 30\lambda \mathbf{k}_3\) applied at its free end.

Fig. 9
figure 9

Example 5: problem definition and equilibrium paths

In the cited works the out-of-plane \(x_3\)-displacement oscillates around a zero value, while each passing through zero corresponds to a deformed shape which is entirely situated in the plane \(x_1 x_2.\) Not all rotation parametrizations are able to trace the true equlibrium path. As noted in [4], attention must be paid to the external moment definition because different parameterisations of rotations will imply different physical definitions of \(\mathbf{M}.\) As a consequence, the results obtained using different types of parameterisation will be completely different.

Here we adopt the applied moments definition given in Sec. 5 for both \(S\) and \(A\) like parametrizations while \(\mathbf{g}_i\) vectors are computed by the related rotation maps. It follows that, also in this test, almost identical equilibrium states computed by the described treatments of the finite rotations are obtained.

The \(M\) - \(w_c\) moment value - out-of-plane tip displacement curves were computed and also shown in Fig. 9. The analyses were stopped when the value \(M = 300\) was reached. Significant deformed configurations in the specified points of Fig. 9 are shown in Fig. 10. Computational performances are reported in Table 6 for second order, fourth order and exact representations of the rotation maps.

Table 6 Example 5: computational characteristics for the \(A\) and \(S\) based parametrization algorithms
Fig. 10
figure 10

Example 5: deformed configurations for \(N_{e}\)=96

In the \(F = 0\) case, the only non-trivial deformation component is the flexural one. According to the classical Euler formula, this bending deformation is constant along the beam. The analytic solution for the free-end rotation and displacement components can be obtained respectively as

$$\begin{aligned} \alpha _{c3} = \frac{M L}{E J_3} \end{aligned}$$
(74)

and

$$\begin{aligned} u_{c1} = L - \frac{L}{\alpha _{c3}/2} \text{ sin}{\frac{\alpha _{c3}}{2}} \text{ cos}{\frac{\alpha _{c3}}{2}} , \quad {u}_{c2} = \frac{L}{\alpha _{c3}/2} (\text{ sin}{\frac{\alpha _{c3}}{2}} )^2 ,\nonumber \\ \end{aligned}$$
(75)

where \(L = 10.\) In Table 7 the free-end displacements obtained by the analytic solution and the numerical exact \(S\)-representation are compared. In particular, numerical results are obtained by using \(\Delta \lambda _{(k)} = 0\) as constraint equation and \(\mu _{(k)} = 1\) as extrapolation length for any \(k\)-th predictor–corrector step. Initial solution point is computed for the \(M = 2.5 \pi / 10\) bending moment value while results refer to each ten steps. The solution for the rotation and \(u_{c3} = 0\) values are not reported because identical to the analytic one for each of the used meshes. Then, by Table 7, we can see that the presented formulation is capable of representing the classical solution of Euler.

Table 7 Example 5, \(F = 0\) case: free-end displacements under end moment obtained by exact \(S\)-representation and analytic solution

8 Conclusions

In the hypothesis of large displacements and rotations and small strains, a technique to analyse the behaviour of 3D finite element beam frames has been presented. By utilizing vectorial operations, the approach is based on an updated Lagrangian description of rotations. The described formulation does not use angle measures and we have validated that it is capable to follow any finite rotations.

The treatment of rotational boundary conditions and external moments proves to be slightly more complex with respect to the co-rotational formulations. Furthermore, the incremental rotations are restricted to the range of validity of the described parametrization. However, computationally, efficient expressions in the equations of the nonlinear system are obtained. Furthermore, case statements are not present in the coding of the presented formulation. In the numerical tests a similar number of predictor–corrector steps to complete the analysis for both \(S\) and \(A\) like parametrizations was used. Hence, fewer arithmetical operations and less implementation effort with respect to the classical one is required.

Overall, the proposed formulation shows simplicity of the analysis while computational effectiveness and algorithmic reliability are retained.