Simulation of mechanisms modeled by geometrically-exact beams using Rodrigues rotation parameters

  • 349 Accesses

  • 7 Citations


We present mathematical models for joints, springs, dashpots and follower loads, to be used together with geometrically-exact beam finite elements to simulate mechanisms. The rotations are described using Rodrigues parameters. An updated-Lagrangian approach is employed, leading to the possibility of finite rotations involving many turns, overcoming possible singularities in the rotation tensor. We present formulations for spherical, hinge and universal (Cardan) joints, which are enforced by Lagrange multipliers. For the hinge joint, a torsional spring with a nonlinear damper model is presented. A geometric-nonlinear translational spring/dashpot model is proposed, such as follower loads. All formulations are presented detailing their contribution to the model weak form and tangent operator. These are employed together with implicit time-integration schemes. Numerical examples are performed, showing that the proposed formulations are able to model complex spatial mechanisms. Usage of the models together with contact interaction between beams is explored by a cam/follower mechanism example.

This is a preview of subscription content, log in to check access.

Access options

Buy single article

Instant unlimited access to the full article PDF.

US$ 39.95

Price includes VAT for USA

Subscribe to journal

Immediate online access to all issues from 2019. Subscription will auto renew annually.

US$ 199

This is the net price. Taxes to be calculated in checkout.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20


  1. 1.

    Hartenberg RS, Denavit J (1964) Kinematic synthesis of linkages. McGraw-Hill, New York

  2. 2.

    Sclater N, Chironis NP (2007) Mechanisms and mechanical devices sourcebook, 4th edn. McGraw-Hill, New York

  3. 3.

    Schiehlen W (2006) Computational dynamics: theory and applications of multibody systems. Eur J Mech A 25:566–594

  4. 4.

    Schiehlen W, Guse N, Seifried R (2006) Multibody dynamics in computational mechanics and engineering applications. Comput Methods Appl Mech Eng 195:5509–5522

  5. 5.

    Shabana A (1998) Dynamics of multibody systems. Cambridge University Press, Cambridge

  6. 6.

    Simeon B (2006) On Lagrange multipliers in flexible multibody dynamics. Comput Methods Appl Mech Eng 195:6993–7005

  7. 7.

    Ider SK, Amirouche FML (1990) Stability analysis of constrained multibody systems. Comput Mech 6:327–340

  8. 8.

    Park KC, Felippa CA, Gumaste UA (2000) A localized version of the method of Lagrange multipliers and its applications. Comput Mech 24:476–490

  9. 9.

    Geradin M, Cardona A (1989) Kinematics and dynamics of rigid and flexible mechanisms using finite elements and quaternion algebra. Comput Mech 4:115–135

  10. 10.

    Cardona A, Geradin M, Doan DB (1991) Rigid and flexible joint modelling in multibody dynamics using finite elements. Comput Methods Appl Mech Eng 89:395–418

  11. 11.

    Ibrahimbegovic A, Taylor RL, Lim H (2003) Non-linear dynamics of flexible multibody systems. Comput Struct 81:1113–1132

  12. 12.

    Bauchau OA, Damilano G, Theron NJ (1995) Numerical integration of non-linear elastic muti-body systems. Int J Num Methods Eng V 38:2727–2751

  13. 13.

    Ibrahimbegovic A, Mamouri S (2000) On rigid components and joint constraints in nonlinear dynamics of flexible multibody systems employing 3D geometrically exact beam model. Comput Methods Appl Mech Eng 188:805–831

  14. 14.

    Ibrahimbegovic A, Mamouri S (2002) “Energy conserving/decaying implicit time-stepping scheme for nonlinear dynamics of three-dimensional beams undergoing finite rotations. Comput Methods Appl Mech Eng 191:4241–4258

  15. 15.

    Bauchau OA (2000) On the modeling of prismatic joints in flexible multi-body systems. Comput Methods Appl Mech Eng 181:87–105

  16. 16.

    Jelenic G, Crisfield MA (2001) Dynamic analysis of 3D beams with joints in presence of large rotations. Comput Methods Appl Mech Eng 190:4195–4230

  17. 17.

    Bauchau OA, Rodriguez J (2002) Modeling of joints with clearance in flexible multibody systems. Int J Solids Struct 39:41–63

  18. 18.

    Flores P, Ambrósio J, Claro JCP, Lankarani HM (2008) Kinematics and dynamics of multibody systems with imperfect joints. Lecture notes in applied and computacional mechanics V. Springer, p 34

  19. 19.

    Betsch P, Steinmann P (2003) Constrained dynamics of geometrically exact beams. Comput Mech 31:49–59

  20. 20.

    Tian Q, Zhang Y, Chen L, Flores P (2009) Dynamics of spatial flexible multibody systems with clearance and lubricated spherical joints. Comput Struct 87:913–929

  21. 21.

    Gay Neto A, Martins CA, Pimenta PM (2014) Static analysis of offshore risers with a geometrically-exact 3D beam model subjected to unilateral contact. Comput Mech 53:125–145

  22. 22.

    Gay Neto A (2016) Dynamics of offshore risers using a geometrically-exact beam model with hydrodynamic loads and contact with the seabed. Eng Struct 125:438–454

  23. 23.

    Gay Neto A, Pimenta PM, Wriggers P (2015) Self-contact modeling on beams experiencing loop formation. Comput Mech 55(1):193–208

  24. 24.

    Gay Neto A, Pimenta PM, Wriggers P (2016) A master-surface to master-surface formulation for beam to beam contact. Part I: frictionless interaction. Comput Methods Appl Mech Eng 303:400–429

  25. 25.

    Gay Neto A, Pimenta PM, Wriggers P (2014) Contact between rolling beams and flat surfaces. Int J Numer Methods Eng 97:683–706

  26. 26.

    Pimenta PM, Campello EMB (2001) Geometrically nonlinear analysis of thin-walled space frames. Proceedings of the second european conference on computational mechanics, II ECCM, Krakow

  27. 27.

    Pimenta PM, Campello EMB, Wriggers P (2008) An exact conserving algorithm for nonlinear dynamics with rotational dof’s and general hyperelasticity. part 1: Rods. Comput Mech 42:715–732

  28. 28.

    Betsch P, Menzel A, Stein E (1998) On the parametrization of finite rotations in computational mechanics: a classification of concepts with applications to smooth shells. Comput Methods Appl Mech Eng 155:273–305

  29. 29.

    Campello EMB, Pimenta PM, Wriggers P (2011) An exact conserving algorithm for nonlinear dynamics with rotational dofs and general hyperelasticity. Part 2: Shells. Comput Mech 48:195–211

  30. 30.

    Campello EMB, Pimenta PM, Wriggers P (2003) A triangular finite shell element based on a fully nonlinear shell formulation. Comput Mech 31:505–518

  31. 31.

    Ota NSN, Wilson L, Gay Neto A, Pellegrino S, Pimenta PM (2016) Nonlinear dynamic analysis of creased shells. Finite Elem Anal Des 121:64–74

  32. 32.

    Wriggers P (2008) Nonlinear finite element methods. Springer, Berlin

  33. 33.

    Korelc J (2002) Multi-language and multi-environment generation of nonlinear finite element codes. Eng Comput 18(4):312–327

  34. 34.

    Korelc J (1997) Automatic generation of finite-element code by simultaneous optimization of expressions. Theor Comput Sci 187:231–248

  35. 35.

    Gay Neto A, Campello EMB (2016) Granular materials interacting with thin flexible rods. Comput Part Mech (published online)

  36. 36.

    Gay Neto A (2014) Giraffe user’s manual—generic interface readily accessible for finite elements. São Paulo.

  37. 37.

    Gams M, Planinc I, Saje M (2007) Energy conserving time integration scheme for geometrically exact beam. Comput Methods Appl Mech Eng 196:2117–2129

  38. 38.

    Bauchau OA (2011) Flexible multibody dynamics. Springer, Dordrecht

  39. 39.

    Cardona A, Geradin M (1989) Time integration of the equations of motion in mechanism analysis. Comput Struct 33(3):801–820

  40. 40.

    Chung J, Hulbert GM (1993) A time integration algorithm for structural dynamics with improved numerical dissipation: the generalized-\(\alpha \) method. J Appl Mech 60:371–375

  41. 41.

    Gransden DI, Bornemann PB, Rose M, Nitzsche F (2015) A constrained generalized-\(\alpha \) method for coupling rigid parallel chain kinematics and elastic bodies. Comput Mech 55:527–541

Download references


The author would like to acknowledge Prof. Paulo de Mattos Pimenta for the discussions. The author also acknowledges the financial support by FAPESP (Fundação de Amparo à Pesquisa do Estado de São Paulo) under the Grant 2015/11655-3 and by CNPq (Conselho Nacional de Desenvolvimento Científico e Tecnológico) under the Grant 308190/2015-7.

Author information

Correspondence to Alfredo Gay Neto.

Electronic supplementary material

Below is the link to the electronic supplementary material.

Supplementary material 1 (mp4 486 KB)

Supplementary material 2 (mp4 1997 KB)

Supplementary material 3 (mp4 1085 KB)

Supplementary material 1 (mp4 486 KB)

Supplementary material 2 (mp4 1997 KB)

Supplementary material 3 (mp4 1085 KB)

Supplementary material 4 (mp4 13630 KB)


Appendix 1: Terms of hinge and universal joint tangent operators

Some terms presented in the development of the tangent operator of the hinge and universal joints are detailed in this appendix. The terms that appear in Eqs. (26) and (51) are given by:

$$\begin{aligned} \mathbf{r}_{\mathrm{HA}} ,_{\varvec{\upalpha }_\mathrm{A}^\Delta }= & {} {\uplambda }_{\mathrm{H}1} \mathbf{Y}\left( {\mathbf{Q}_\mathrm{A}^\Delta \mathbf{e}_{\mathrm{3A}}^\mathrm{i} ,\varvec{\upalpha }_\mathrm{A}^\Delta ,\varvec{\upalpha }_\mathrm{A}^\Delta ;\mathbf{Q}_\mathrm{B}^\Delta \mathbf{e}_{\mathrm{1B}}^\mathrm{i} } \right) \nonumber \\&+\,{\uplambda }_{\mathrm{H}2} \mathbf{Y}\left( {\mathbf{Q}_\mathrm{A}^\Delta \mathbf{e}_{\mathrm{3A}}^\mathrm{i} ,\varvec{\upalpha }_\mathrm{A}^\Delta ,\varvec{\upalpha }_\mathrm{A}^\Delta ;\mathbf{Q}_\mathrm{B}^\Delta \mathbf{e}_{\mathrm{2B}}^\mathrm{i} } \right) , \end{aligned}$$
$$\begin{aligned} \mathbf{r}_{\mathrm{HB}} ,_{\varvec{\upalpha }_\mathrm{B}^\Delta }= & {} {\uplambda }_{\mathrm{H}1} \mathbf{Y}\left( {\mathbf{Q}_\mathrm{B}^\Delta \mathbf{e}_{\mathrm{1B}}^\mathrm{i} ,\varvec{\upalpha }_\mathrm{B}^\Delta ,\varvec{\upalpha }_\mathrm{B}^\Delta ;\mathbf{Q}_\mathrm{A}^\Delta \mathbf{e}_{\mathrm{3A}}^\mathrm{i} } \right) \nonumber \\&+\,{\uplambda }_{\mathrm{H}2} \mathbf{Y}\left( {\mathbf{Q}_\mathrm{B}^\Delta \mathbf{e}_{\mathrm{2B}}^\mathrm{i} ,\varvec{\upalpha }_\mathrm{B}^\Delta ,\varvec{\upalpha }_\mathrm{B}^\Delta ;\mathbf{Q}_\mathrm{A}^\Delta \mathbf{e}_{\mathrm{3A}}^\mathrm{i} } \right) , \end{aligned}$$
$$\begin{aligned} \mathbf{r}_{\mathrm{HA}} ,_{\varvec{\upalpha }_\mathrm{B}^\Delta }= & {} {\uplambda }_{\mathrm{H}1} \left( {\hbox {skew}\left( {\mathbf{Q}_\mathrm{A}^\Delta \mathbf{e}_{\mathrm{3A}}^\mathrm{i} } \right) {\varvec{\Xi }}_\mathrm{A} } \right) ^{\mathrm{T}}\nonumber \\&\times \left( {\hbox {skew}\left( {\mathbf{Q}_\mathrm{B}^\Delta \mathbf{e}_{\mathrm{1B}}^\mathrm{i} } \right) {\varvec{\Xi }}_\mathrm{B} } \right) +\nonumber \\&+\,{\uplambda }_{\mathrm{H}2} \left( {\hbox {skew}\left( {\mathbf{Q}_\mathrm{A}^\Delta \mathbf{e}_{\mathrm{3A}}^\mathrm{i} } \right) {\varvec{\Xi }}_\mathrm{A} } \right) ^{\mathrm{T}}\nonumber \\&\times \left( {\hbox {skew}\left( {\mathbf{Q}_\mathrm{B}^\Delta \mathbf{e}_{\mathrm{2B}}^\mathrm{i} } \right) {\varvec{\Xi }}_\mathrm{B} } \right) , \end{aligned}$$
$$\begin{aligned} \mathbf{r}_{\mathrm{HB}} ,_{\varvec{\upalpha }_\mathrm{A}^\Delta } ={\mathbf{r}_{\mathrm{HA}} ,_{\varvec{\upalpha }_\mathrm{B}^\Delta }}{^{\mathrm{T}}} , \end{aligned}$$
$$\begin{aligned} \mathbf{r}_{\mathrm{HA}} ,_{{\varvec{\uplambda }}_\mathrm{H} }= & {} \left[ -\left( {\hbox {skew}\left( {\mathbf{Q}_\mathrm{A}^\Delta \mathbf{e}_{\mathrm{3A}}^\mathrm{i} } \right) {\varvec{\Xi }}_\mathrm{A} } \right) ^{\mathrm{T}}{} \mathbf{Q}_\mathrm{B}^\Delta \mathbf{e}_{\mathrm{1B}}^\mathrm{i} \right. \nonumber \\&\left. -\left( {\hbox {skew}\left( {\mathbf{Q}_\mathrm{A}^\Delta \mathbf{e}_{\mathrm{3A}}^\mathrm{i} } \right) {\varvec{\Xi }}_\mathrm{A} } \right) ^{\mathrm{T}}\mathbf{Q}_\mathrm{B}^\Delta \mathbf{e}_{\mathrm{2B}}^\mathrm{i}\right] , \end{aligned}$$
$$\begin{aligned} \mathbf{r}_\mathrm{H} ,_{\varvec{\upalpha }_\mathrm{A}^\Delta } ={\mathbf{r}_{\mathrm{HA}} ,_{{\varvec{\uplambda }}_\mathrm{H} }} {^{\mathrm{T}}}, \end{aligned}$$
$$\begin{aligned} \mathbf{r}_{\mathrm{HB}} ,_{{\varvec{\uplambda }}_\mathrm{H} }= & {} \left[ -\left( {\hbox {skew}\left( {\mathbf{Q}_\mathrm{B}^\Delta \mathbf{e}_{\mathrm{1B}}^\mathrm{i} } \right) {\varvec{\Xi }}_\mathrm{B} } \right) ^{\mathrm{T}}{} \mathbf{Q}_\mathrm{A}^\Delta \mathbf{e}_{\mathrm{3A}}^\mathrm{i} \right. \nonumber \\&\left. -\left( {\hbox {skew}\left( {\mathbf{Q}_\mathrm{B}^\Delta \mathbf{e}_{\mathrm{2B}}^\mathrm{i} } \right) {\varvec{\Xi }}_\mathrm{B} } \right) ^{\mathrm{T}}{} \mathbf{Q}_\mathrm{A}^\Delta \mathbf{e}_{\mathrm{3A}}^\mathrm{i} \right] \quad \hbox {and } \end{aligned}$$
$$\begin{aligned} \mathbf{r}_\mathrm{H} ,_{\varvec{\upalpha }_\mathrm{B}^\Delta }= & {} {\mathbf{r}_{\mathrm{HB}} ,_{{\varvec{\uplambda }}_\mathrm{H} }} {^{\mathrm{T}}}. \end{aligned}$$
$$\begin{aligned} \mathbf{r}_{\mathrm{UA}} ,_{\varvec{\upalpha }_\mathrm{A}^\Delta }= & {} \mathbf{Y}\left( {\mathbf{Q}_\mathrm{A}^\Delta \mathbf{e}_{\mathrm{1A}}^\mathrm{i} ,\varvec{\upalpha }_\mathrm{A}^\Delta ,\varvec{\upalpha }_\mathrm{A}^\Delta ;\mathbf{Q}_\mathrm{B}^\Delta \mathbf{e}_{\mathrm{2B}}^\mathrm{i} } \right) {\uplambda }_\mathrm{U} , \end{aligned}$$
$$\begin{aligned} \mathbf{r}_{\mathrm{UB}} ,_{\varvec{\upalpha }_\mathrm{B}^\Delta }= & {} \mathbf{Y}\left( {\mathbf{Q}_\mathrm{B}^\Delta \mathbf{e}_{\mathrm{2B}}^\mathrm{i} ,\varvec{\upalpha }_\mathrm{B}^\Delta ,\varvec{\upalpha }_\mathrm{B}^\Delta ;\mathbf{Q}_\mathrm{A}^\Delta \mathbf{e}_{\mathrm{1A}}^\mathrm{i} } \right) {\uplambda }_\mathrm{U} , \end{aligned}$$
$$\begin{aligned} \mathbf{r}_{\mathrm{UA}} ,_{\varvec{\upalpha }_\mathrm{B}^\Delta }= & {} \left( {\hbox {skew}\left( {\mathbf{Q}_\mathrm{A}^\Delta \mathbf{e}_{\mathrm{1A}}^\mathrm{i} } \right) {\varvec{\Xi }}_\mathrm{A} } \right) ^{\mathrm{T}}\left( {\hbox {skew}\left( {\mathbf{Q}_\mathrm{B}^\Delta \mathbf{e}_{\mathrm{2B}}^\mathrm{i} } \right) {\varvec{\Xi }}_\mathrm{B} } \right) {\uplambda }_\mathrm{U},\nonumber \\ \end{aligned}$$
$$\begin{aligned} \mathbf{r}_{\mathrm{UB}} ,_{\varvec{\upalpha }_\mathrm{A}^\Delta }= & {} {\mathbf{r}_{\mathrm{UA}} ,_{\varvec{\upalpha }_\mathrm{B}^\Delta }} {^{\mathrm{T}}}, \end{aligned}$$
$$\begin{aligned} \mathbf{r}_{\mathrm{UA}} ,_{{\uplambda }_\mathrm{U} }= & {} -\left( {\hbox {skew}\left( {\mathbf{Q}_\mathrm{A}^\Delta \mathbf{e}_{\mathrm{1A}}^\mathrm{i} } \right) {\varvec{\Xi }}_\mathrm{A} } \right) ^{\mathrm{T}}\mathbf{Q}_\mathrm{B}^\Delta \mathbf{e}_{\mathrm{2B}}^\mathrm{i} , \end{aligned}$$
$$\begin{aligned} \hbox {r}_\mathrm{U} ,_{\varvec{\upalpha }_\mathrm{A}^\Delta } ={\mathbf{r}_{\mathrm{UA}} ,_{{\uplambda }_\mathrm{U} }} {^{\mathrm{T}}}, \end{aligned}$$
$$\begin{aligned} \mathbf{r}_{\mathrm{UB}} ,_{{\uplambda }_\mathrm{U} }= & {} -\left( {\hbox {skew}\left( {\mathbf{Q}_\mathrm{B}^\Delta \mathbf{e}_{\mathrm{2B}}^\mathrm{i} } \right) {\varvec{\Xi }}_\mathrm{B} } \right) ^{\mathrm{T}}{} \mathbf{Q}_\mathrm{A}^\Delta \mathbf{e}_{\mathrm{1A}}^\mathrm{i} \quad \hbox { and} \end{aligned}$$
$$\begin{aligned} \hbox {r}_\mathrm{U} ,_{\varvec{\upalpha }_\mathrm{B}^\Delta } ={\mathbf{r}_{\mathrm{UB}} ,_{{\uplambda }_\mathrm{U} }} {^{\mathrm{T}}}. \end{aligned}$$

The operator \(\mathbf{Y}\left( {\mathbf{Q}_\mathrm{k}^\Delta \mathbf{a},\varvec{\upalpha }_\mathrm{k}^\Delta ,\varvec{\upalpha }_\mathrm{k}^\Delta ;\mathbf{v}} \right) \) used in Eqs. (84), (85), (92) and (93) is defined by:

$$\begin{aligned} \mathbf{Y}\left( {\mathbf{Q}_\mathrm{k}^\Delta \mathbf{a},\varvec{\upalpha }_\mathrm{k}^\Delta ,\varvec{\upalpha }_\mathrm{k}^\Delta ;\mathbf{v}} \right) :=\left[ {\hat{\mathbf{F}}\left( {\mathbf{A}_\mathrm{k} \mathbf{v}} \right) +{\varvec{\Xi }}_\mathrm{k}^\mathrm{T} \mathbf{VA}_\mathrm{k} {\varvec{\Xi }}_\mathrm{k} } \right] \end{aligned}$$

with \(\mathbf{V}=\hbox {skew}\left( \mathbf{v} \right) \), \(\mathbf{A}_\mathrm{k} =\hbox {skew}\left( {\mathbf{Q}_\mathrm{k}^\Delta \mathbf{a}} \right) \).

The operator \(\hat{\mathbf{F}}\), applied to a generic vector \(\mathbf{v}_\mathrm{k} \left( {\varvec{\upalpha }_\mathrm{k}^\Delta } \right) \), is given by:

$$\begin{aligned} \hat{\mathbf{F}}\left( {\mathbf{v}_\mathrm{k} } \right) =-\frac{1}{2}\left( {\frac{4}{4+{\upalpha }_\mathrm{k}^2 }} \right) \left[ {\left( {{\varvec{\Xi }}_\mathrm{k}^\mathrm{T} \mathbf{v}_\mathrm{k} } \right) \otimes \varvec{\upalpha }_\mathrm{k}^\Delta -\mathbf{V}_\mathrm{k} } \right] \end{aligned}$$

with \(\mathbf{V}_\mathrm{k} =\hbox {skew}\left( {\mathbf{v}_\mathrm{k} } \right) \) and \({\upalpha }_\mathrm{k} =\Vert \varvec{\upalpha }_\mathrm{k}^\Delta \Vert \).

Appendix 2: Algebraic details of hinge torsion spring variation

In this appendix we present the derivation of \({\updelta \uptheta }^{\Delta }\), from Eq. (33). We defined the angle \({\uptheta }^{\Delta }\) such that

$$\begin{aligned} \hbox {sin}{\uptheta }^{\Delta }=\left( {\mathbf{Q}_\mathrm{B}^\Delta \mathbf{e}_{\mathrm{1B}}^\mathrm{i} \times \mathbf{Q}_\mathrm{A}^\Delta \mathbf{e}_{\mathrm{1B}}^\mathrm{i} } \right) \cdot \mathbf{Q}_\mathrm{A}^\Delta \mathbf{e}_{\mathrm{3A}}^\mathrm{i} . \end{aligned}$$

Then, one may write:

$$\begin{aligned} {\updelta \uptheta }^{\Delta }= & {} {\updelta }\left[ {\hbox {asin}\left[ {\left( {\mathbf{Q}_\mathrm{B}^\Delta \mathbf{e}_{\mathrm{1B}}^\mathrm{i} \times \mathbf{Q}_\mathrm{A}^\Delta \mathbf{e}_{\mathrm{1B}}^\mathrm{i} } \right) \cdot \mathbf{Q}_\mathrm{A}^\Delta \mathbf{e}_{\mathrm{3A}}^\mathrm{i} } \right] } \right] \nonumber \\= & {} \frac{1}{\sqrt{1-\sin ^{2}\left( {\theta ^{\Delta }} \right) }}\left( {{\updelta \uptheta }_1^\Delta +{\updelta \uptheta }_2^\Delta +{\updelta \uptheta }_3^\Delta } \right) \end{aligned}$$


$$\begin{aligned} {\updelta \uptheta }_1^\Delta= & {} \left( {{\updelta }\left( {\mathbf{Q}_\mathrm{B}^\Delta \mathbf{e}_{\mathrm{1B}}^\mathrm{i} } \right) \times \mathbf{Q}_\mathrm{A}^\Delta \mathbf{e}_{\mathrm{1B}}^\mathrm{i} } \right) \cdot \mathbf{Q}_\mathrm{A}^\Delta \mathbf{e}_{\mathrm{3A}}^\mathrm{i} , \end{aligned}$$
$$\begin{aligned} {\updelta \uptheta }_2^\Delta= & {} \left( {\mathbf{Q}_\mathrm{B}^\Delta \mathbf{e}_{\mathrm{1B}}^\mathrm{i} \times {\updelta }\left( {\mathbf{Q}_\mathrm{A}^\Delta \mathbf{e}_{\mathrm{1B}}^\mathrm{i} } \right) } \right) \cdot \mathbf{Q}_\mathrm{A}^\Delta \mathbf{e}_{\mathrm{3A}}^\mathrm{i} \quad \hbox { and } \end{aligned}$$
$$\begin{aligned} {\updelta \uptheta }_3^\Delta= & {} \left( {\mathbf{Q}_\mathrm{B}^\Delta \mathbf{e}_{\mathrm{1B}}^\mathrm{i} \times \mathbf{Q}_\mathrm{A}^\Delta \mathbf{e}_{\mathrm{1B}}^\mathrm{i} } \right) \cdot {\updelta }\left( {\mathbf{Q}_\mathrm{A}^\Delta \mathbf{e}_{\mathrm{3A}}^\mathrm{i} } \right) . \end{aligned}$$

The terms (104) and (105) can be developed using the result from Eq. (19) and scalar and triple vector products properties, leading to

$$\begin{aligned} {\updelta \uptheta }_1^\Delta= & {} -\cos {\uptheta }^{\Delta }\mathbf{e}_{\mathrm{3A}}^{\mathrm{i}+1} \cdot {\varvec{\Xi }}_\mathrm{B} {\updelta }\varvec{\upalpha }_\mathrm{B} \quad \hbox {and} \end{aligned}$$
$$\begin{aligned} {\updelta \uptheta }_2^\Delta= & {} +\cos {\uptheta }^{\Delta }\mathbf{e}_{\mathrm{3A}}^{\mathrm{i}+1} \cdot {\varvec{\Xi }}_\mathrm{A} {\updelta }\varvec{\upalpha }_\mathrm{A} . \end{aligned}$$

The term (106) is null. Then using (107) and (108) in (103) leads to

$$\begin{aligned} {\updelta \uptheta }^{\Delta }=\mathbf{e}_{\mathrm{3A}}^{\mathrm{i}+1} \cdot {\varvec{\Xi }}_\mathrm{A} {\updelta }\varvec{\upalpha }_\mathrm{A} -\mathbf{e}_{\mathrm{3A}}^{\mathrm{i}+1} \cdot {\varvec{\Xi }}_\mathrm{B} {\updelta }\varvec{\upalpha }_\mathrm{B} , \end{aligned}$$

which can be used to obtain the weak form contribution due to torsional spring in the hinge constraint.

Appendix 3: Algebraic details on the follower moment contributions

In expression (81), we used the property: \({\varvec{\Xi }}_\mathrm{A}^\mathrm{T} \mathbf{Q}_\mathrm{A}^\Delta ={\varvec{\Xi }}_\mathrm{A}\). Since this property is not trivial, we here show a sketch of its algebraic proof. To develop it, we have to use a property of skew-symmetric tensors: \(\mathbf{A}_\mathrm{k}^3 =-{\upalpha }^{2}{} \mathbf{A}_\mathrm{k} \). One can write:

$$\begin{aligned} {\varvec{\Xi }}_\mathrm{A}^\mathrm{T} \mathbf{Q}_\mathrm{A}^\Delta= & {} \frac{4}{4+{\upalpha }^{2}}\left( {\mathbf{I}-\frac{1}{2}{} \mathbf{A}_\mathrm{k} } \right) \left[ {\mathbf{I}+\frac{4}{4+{\upalpha }^{2}}\left( {\mathbf{A}_\mathrm{k} +\frac{1}{2}{} \mathbf{A}_\mathrm{k}^2 } \right) } \right] \nonumber \\= & {} {\varvec{\Xi }}_\mathrm{A} {-}\frac{4}{4{+}{\upalpha }^{2}}\mathbf{A}_\mathrm{k} {+}\left( {\frac{4}{4{+}{\upalpha }^{2}}} \right) ^{2}\mathbf{A}_\mathrm{k} {-}\frac{1}{4}\left( {\frac{4}{4{+}{\upalpha }^{2}}} \right) ^{2}{} \mathbf{A}_\mathrm{k}^3 \nonumber \\= & {} {\varvec{\Xi }}_\mathrm{A} +\frac{4}{4+{\upalpha }^{2}}{} \mathbf{A}_\mathrm{k} \left[ {-1+\frac{4}{4+{\upalpha }^{2}}+\frac{1}{4}{\upalpha }^{2}\frac{4}{4+{\upalpha }^{2}}} \right] \nonumber \\= & {} {\varvec{\Xi }}_\mathrm{A}. \end{aligned}$$

In the development of the Eq. (82) we had performed the following algebraic manipulation, in order to write the tangent operator contribution due to follower moments:

$$\begin{aligned} \Delta \left( {{\varvec{\Xi }}_\mathrm{A} \mathbf{m}_\mathrm{A}^\mathrm{i} } \right)= & {} \Delta {\varvec{\Xi }}_\mathrm{A} \mathbf{m}_\mathrm{A}^\mathrm{i} =\frac{1}{2}\frac{4}{4+{\upalpha }^{2}} \left[ {\Delta \mathbf{A}_\mathrm{k} -\left( {\varvec{\upalpha }_\mathrm{k} \cdot \Delta \varvec{\upalpha }_\mathrm{k} } \right) {\varvec{\Xi }}_\mathrm{A}} \right] \mathbf{m}_\mathrm{A}^\mathrm{i} \nonumber \\= & {} \frac{1}{2}\frac{4}{4+{\upalpha }^{2}}\left[ {\Delta \varvec{\upalpha }_\mathrm{k} \times \mathbf{m}_\mathrm{A}^\mathrm{i} {-}{\varvec{\Xi }}_\mathrm{A} \mathbf{m}_\mathrm{A}^\mathrm{i} \left( {\varvec{\upalpha }_\mathrm{k} {\cdot } \Delta \varvec{\upalpha }_\mathrm{k} } \right) } \right] \nonumber \\= & {} -\frac{1}{2}\frac{4}{4+{\upalpha }^{2}}\left( {\mathbf{M}_\mathrm{A}^\mathrm{i} {+}{\varvec{\Xi }}_\mathrm{A} \mathbf{m}_\mathrm{A}^\mathrm{i} \otimes \varvec{\upalpha }_\mathrm{A}^\Delta } \right) \Delta \varvec{\upalpha }_\mathrm{A}^\Delta .\nonumber \\ \end{aligned}$$

Appendix 4: Time-integration of finite element models with constraints

The dynamics of a continuum solid body constitutes an initial and boundary value problem in mathematics. Such body may be discretized in space by employing the finite element method, leading to a system of ordinary differential equations (ODE’s), which solution is given by the time-evolution of the chosen spatial generalized coordinates. When analyzing a system of bodies (rigid or flexible), one may introduce constraints to relate their movement, as the proposed joints on present work. The resulting set turns into a differential-algebraic system of equations (DAE’s).

To include in a finite element model a set of “m” holonomic and scleronomic constraints, one may add an extra contribution to the whole system potential:

$$\begin{aligned} \hbox {W}_\mathrm{C} =\mathbf{r}_\mathrm{C} \cdot {\varvec{\uplambda }}_\mathrm{C} =\mathbf{r}_\mathrm{C}^\mathrm{T} {\varvec{\uplambda }}_\mathrm{C} , \end{aligned}$$

where \({\varvec{\uplambda }}_\mathrm{C} \) is a vector with “m” Lagrange multipliers, unknown, and \(\mathbf{r}_\mathrm{C}\) is a m-dimensional vector with constraints description. The variation of (112) leads to

$$\begin{aligned} {\updelta } \hbox {W}_\mathrm{C} ={\updelta }{} \mathbf{r}_\mathrm{C}^\mathrm{T} {\varvec{\uplambda }}_{\mathrm{C}} + \mathbf{r}_\mathrm{C}^\mathrm{T} {\updelta }\, {\varvec{\uplambda }}_{\mathrm{C}} , \end{aligned}$$

which corresponds to a contribution to the model weak form (1), responsible for enforcing the system to obey the constraints in \(\mathbf{r}_\mathrm{C}\). It is possible to detail the term \({\updelta }\mathbf{r}_\mathrm{C}^\mathrm{T} {\varvec{\uplambda }}_\mathrm{C} ={\updelta }\mathbf{u}^{\mathbf{T}}{} \mathbf{B}^{\mathrm{T}}{\varvec{\uplambda }}_\mathrm{C} \), where \({\updelta }{} \mathbf{u}\) is a vector of the virtual displacements of the system, with “n” degrees of freedom, and \(\mathbf{B}\) is the so-called constraint matrix or Jacobian matrix of constraints, such that \({\updelta }{} \mathbf{r}_\mathrm{C} =\mathbf{B}\,{\updelta }{} \mathbf{u}\). This form is commonly presented in multibody dynamics presentations, such as [18, 38].

The solution of the system of DAE’s involves determining the time-evolution of the “n” generalized coordinates and “m” algebraic variables (Lagrange multipliers). To achieve that, many approaches are possible. The main concern is that the resulting called index-3 DAE’s may be difficult to solved and integrated numerically. Then, in literature one finds approaches to eliminate the algebraic variables from the system of equations. This procedure aims at turning the original system of DAE’s into ODE’s, which may be integrated using well-known techniques. Some difficulties may appear, such as the “drift phenomenon”, since some of these techniques involve enforcing constraints at velocity/acceleration levels (see [38] for details). To try to remedy such problem, one may use techniques developed for constraint violation stabilization—in [18] there are some examples.

Alternatively, particularly when using the finite element method together with constraints imposed using Lagrange multipliers, one may try to solve directly the system of DAE’s, instead of transforming it into a system of ODE’s. For that, according to [38], proper scaling methods for the Lagrange multipliers may be employed leading the system of DAE’s no more difficult to integrate than the corresponding ODE’s of an unconstrained system. Then, one may employ time integration schemes to account for the dynamic evolution of the constrained system along time, choosing among explicit or implicit methods, according to the kind of problem and time-scale of interest.

For example, by employing the Newmark method, the following approximations (114)–(117) are done for the evaluation of velocities/accelerations at the end of the current integration time-step—to be used in (1). Such quantities are dependent of previously converged values of velocities/accelerations and current increments of displacements/rotations (see [32]):

$$\begin{aligned} \dot{\mathbf{u}}_{\mathrm{k}}^{\mathrm{i + 1}}= & {} {\upalpha } _{4} \mathbf{u}_{\mathrm{k}}^\Delta + {\upalpha } _5 \dot{\mathbf{u}}_{\mathrm{k}}^{\mathrm{i}} + {\upalpha } _6 \ddot{\mathbf{u}}_{\mathrm{k}}^{\mathrm{i}} \end{aligned}$$
$$\begin{aligned} \ddot{\mathbf{u}}_{\mathrm{k}}^{\mathrm{i + 1}}= & {} {\upalpha } _{1} \mathbf{u}_{\mathrm{k}}^\Delta + {\upalpha }_{2} \dot{\mathbf{u}}_{\mathrm{k}}^{\mathrm{i}} + {\upalpha } _{3} \ddot{\mathbf{u}}_{\mathrm{k}}^{\mathrm{i}} \end{aligned}$$
$$\begin{aligned} {\varvec{\upomega }}_{\mathrm{k}}^{\mathrm{i + 1}}= & {} \mathbf{Q}_{\mathrm{k}}^\Delta \left( {\upalpha } _4 {\varvec{\upalpha }}_{\mathrm{k}}^\Delta + {{\upalpha }} _5 {\varvec{\upomega }} _{\mathrm{k}}^{\mathrm{i }}+ {{\upalpha }} _6 \dot{\varvec{\upomega }} _{\mathrm{k}}^{\mathrm{i}} \right) \end{aligned}$$
$$\begin{aligned} \dot{\varvec{\upomega }}_{\mathrm{k}}^{\mathrm{i + 1}}= & {} \mathbf{Q}_{\mathrm{k}}^\Delta \left( {\upalpha } _1 {\varvec{\upalpha }}_{\mathrm{k}}^\Delta + {{\upalpha }} _2 {\varvec{\upomega }} _{\mathrm{k}}^{\mathrm{i }}+ {{\upalpha }} _3 \dot{\varvec{\upomega }} _{\mathrm{k}}^{\mathrm{i}} \right) \end{aligned}$$

The coefficients of the method are: \({\upalpha }_1 =\frac{1}{{\upbeta }\left( {\Delta \hbox {t}} \right) ^{2}}\), \({\upalpha }_2 =\frac{1}{{\upbeta \Delta \hbox {t}}}\), \({\upalpha }_3 =\frac{1-2{\upbeta }}{2{\upbeta }}\), \({\upalpha }_4 =\frac{{\upgamma }}{{\upbeta \Delta \hbox {t}}}\), \({\upalpha }_5 =1-\frac{{\upgamma }}{{\upbeta }}\), \({\upalpha }_6 =\left( {1-\frac{{\upgamma }}{2{\upbeta }}} \right) \Delta \hbox {t}\), and \(\Delta \hbox {t}\) is the time integration step. The set of values for the scalars \({\upbeta }\) and \({\upgamma }\) control the accuracy of the integration, such as the introduction of numerical damping. Note that Eqs. (116) and (117) represent a non-standard Newmark integration scheme. They represent a special version to integrate rotations, as presented by Ibrahimbegovic and Mamouri [13].

An important concern, particularly when handling DAE’s, is regarding the numerical stability of the time integration technique. As presented in [39], the damping is important to stabilize the integration method, since the constraint equations introduce infinite-frequency eigenvalues to the system, due to null terms in mass matrix coming from the constraint equations. Then, when integrating constrained undamped systems, one may face numerical difficulties, such as oscillations in acceleration results, leading sometimes to the divergence of the method. With that, the recommended time-integration technique for integration of DAE’s should dissipate energy related to high-frequency modes. For that, one may employ particular sets of coefficients \({\upbeta }\) and \({\upgamma }\) and use the Newmark method, but with the drawback of decreasing the order of accuracy of integration. As an alternative, one may find more elaborated methods, such as the Generalized-\(\upalpha \) method [40] and modified versions of it, as recently presented in [41]. Such method introduces numerical damping with no decreasing the time integration accuracy. However, according to [38], stability-guarantee is only assured for linear systems by these methods.

In the present work, the focus is on development of constraint equations, weak form and tangent operator contributions for the proposed joints and other modeling features. Then, our numerical examples were done employing the classical time-integration technique: Newmark method. Furthermore, we decided to process all our examples with no numerical damping, even leading to the reported oscillations in time-series of acceleration, as predicted by [39]. For all shown examples in this paper, such oscillations appear to not present influence in the quality of our results. The here presented techniques to enforce constraints can be applied together with any other time-integration scheme, implicit or explicit, including the energy-conserving methods, which are being aim of research in the last years.

After this discussion, now we present briefly the details of implementation of implicit time-integration to solve the DAE’s system. Each step is done in a local level, to evaluate weak form and tangent stiffness matrix contributions due to

  1. (1)

    finite element internal forces—\({\updelta } \hbox {W}_\mathrm{i} \);

  2. (2)

    external forces—\({\updelta } \hbox {W}_\mathrm{e} \);

  3. (3)

    kinetic energy contribution—\({\updelta } \hbox {T}\). Here the Formulae (114)–(117) from Newmark integration are employed, since they are used to describe the unknown acceleration/velocity at the end of the time-integration step, as a function of current displacements;

  4. (4)

    constraints contribution (joints)—\({\updelta } \hbox {W}_\mathrm{C} \), as depicted in (113).

  5. (5)

    Other contributions (e.g.: contact constraints, damping and others—possibly using (114)–(117) from Newmark integration when velocities/accelerations appear)

All these contributions compound the global residual vector in Eq. (1) and tangent stiffness matrix in Eq. (2). These quantities are used to perform a Newton–Raphson iteration, determining increments for displacements/Lagrange multipliers. The steps 1–5 are repeated until convergence of the current time-step. The process is repeated for each time-step, until the desired end-time value.

Note that each iteration of Newton–Raphson method will require the solution of system of equations, involving both displacement and Lagrange multipliers increments. At this level one may generate bad-conditioned systems due to possible too different orders of magnitude between generalized coordinates and Lagrange multipliers. Improvements in the linear system solver may be necessary. One here may use many options of good solvers available, with automatic scaling and pivoting techniques, as we did in this work.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Gay Neto, A. Simulation of mechanisms modeled by geometrically-exact beams using Rodrigues rotation parameters. Comput Mech 59, 459–481 (2017).

Download citation


  • Mechanisms
  • Joints
  • Geometrically-exact
  • Beam
  • Rodrigues
  • Cam/follower