1 Introduction

Numerically solving high-stiffness rigid bodies coupled with flexible elastic bodies is an important, but difficult, problem within computational dynamics. For example, this phenomenon is central to the smart hybrid active rotor control system (SHARCS) program at Carleton University, which seeks to experimentally and mathematically simulate devices to attenuate vibration and noise emanating from a helicopter hub. Within the SHARCS program, an adaptive pitch link (APL) controls the vibrations transmitted from the rotor blades to the fuselage via a system of linkages that control the aerodynamics of the rotor. In this situation, the flexible rotor blades are connected to rigid linkages, which are additionally constrained to move as a closed-loop mechanism. Thus, a method to describe the parallel-chain mechanics of the rigid and elastic body system together is required.

Since the impetus for the research contained herein is based on the multibody dynamics of a rotor hub, a brief outline of some of the work from the helicopter coupled mechanics provides context. There are quite a few papers specifically pertaining to helicopter multibody dynamics; however, those of interest are the ones that incorporate the blade mechanics with the articulation, such as Agrawal [1], who explains a method for analysing the multibody blade dynamics with a full helicopter model. In his paper, Lagrange multipliers provide the mathematical coupling between the hub and a blade system. It also explains the difficulties with existing models: CAMRAD II [20] and DYMORE [7] are helicopter structural models that are expensive, difficult to expand, difficult to use and modify, and, for experimental purposes, restrictive in their generality.

Bauchau and Kang [6] model the combined elastic and rigid body motion, rather than solving the body motions separately. They discuss the addition of constraints and the destabilising effect adding rigid mechanisms has on a system. Bauchau [4] examines the matrix condition number for a system of equations due to the effects of Lagrange multiplier constraints. He notes that energy preserving schemes have difficulty with high frequency numerical dissipation, which can cause convergence problems. It is suggested that energy decaying methods provide unconditional stability, especially in the presence of constraints. Laulusa and Bauchau [24] review these methods in a more recent paper.

Bauchau, with Bottasso and Nikishkov [5] examine a history of blade models and multibody methods. They use a model based on the variational asymptotic method, and include joints, modularity, and Lagrange multipliers for matrix sparsity. They outline the utility of various methods: 1D + 2D solvers for quick, accurate results; shell methods for flexible beams and bearingless rotors; and 3D solid models to capture realistic beam effects. One of the other distinguishing features of this paper is that it suggests the importance of the control chain on the overall motion of the helicopter blades—something commonly overlooked in typical treaties on helicopter rotor dynamics  [12, 18, 19, 36], to list a few.

Modelling the control chain as well as the aerodynamic chain (two rigid mechanical sets of joints that form a closed-loop system of links) necessitates the use of parallel multibody dynamics. Within this field, there are two common methodologies to solve the motion of such a mechanical system. One could develop a two- or three-field solution, in which velocities and accelerations are constantly monitored as part of the solution. In addition to this technique, a filtering algorithm, such as the one described by Blajer [9, 10] should be applied. A filtering technique allows a simplistic solution to the two-field differential algebraic problem; however, requires potentially considerable computational expense. Alternatively, one could solve a system of index-3 differential algebraic equations (DAEs), which naturally combine the ordinary differential equations of the motion along with the constraints. One main drawback of DAEs regardless of index is that they are prone to perturbation sensitivity if strict constraint enforcement is applied.

Among the first to describe the procedure for formulating a multibody close chain kinematic solution are Luh and Zheng [26]. They use a Newton-Euler analysis with Denavit–Hartenberg (DH) formulation for the frames of reference, and mimic the analysis of an open tree-structured robotic system with a closed kinematic chain mechanism. They describe a virtual cut to a link forming part of the closed-loop chain, which a set of holonomic constraints replaces. Then they describe the methodology to solve the corresponding open-loop system. In a later paper, Zheng and Luh [35] include an analysis for the velocity constraints, which replace the position and orientation constraints for clarity and ease-of-use. The drawback with velocity constraints, however, is that they can be non-holonomic, and may have to be treated separately. This leads to a two-field problem of positions and velocities, and their constraints, which increases the complexity of the solution and increases the computational cost. Gear, Leimkuhler, and Gupta [15] showcase a method to solve two-field problems. Their work shows a way to reduce the index of DAEs generated by constrained mechanics. Such a reduction makes the differential algebraic equations easier to solve, but the increase in computational cost remains.

Another drawback in the two- and three-field analysis is the phenomenon of drift in the loop closure, because as time elapses, the closed-loop system appears to generate ‘gaps’ in the solution at the virtually cut joint. Typically, to compensate, the procedure is to reduce the system to a minimal set of coordinates [8, 25, 28]. However, the argument against using a minimal set of state variables is that they require complicated symbolic manipulations that are unwieldy and not guaranteed to have a unique solution.

Two papers by Blajer [9, 10] elucidate a filtering method that reduces the constraint errors. State variables are geometrically corrected to eliminate constraint violations, the gaps, at each integration step. Instead of using a minimal set, Blajer solves a dependent set of state variables with the constraints in a differential algebraic equation. Kövecses, Piedboeuf, and Lange [22] improve upon the filtering techniques by Blajer by introducing a filtering method that splits the joint variables into variables that satisfy the motion of the system, and variables that are admissible with the constraints.

Differential algebraic equations of index-3 are quite common in constrained mechanics, yet are difficult to solve, since they often involve Lagrange multipliers, which are sensitive to perturbation [30]. A paper by Negrut et al. [29] establishes a method of manipulating the index-3 DAE problem without resorting to a two-field problem. They use a Newmark family method, although not generalised-\(\alpha \), and a predictor-corrector to tackle the high-order differential algebraic equations. Lunk and Simeon [27] reiterate their findings, and compare methods that use position and velocity stabilisation (two-field problems) with the index-3 methods. They, along with Khude et al [21], show second-order convergence for regular index-2 problems.

Recently, Arnold and Brüls [3] show that a generalised-\(\alpha \) solution to an index-3 differential algebraic equation is possible by using an alternative description of the acceleration, instead of relying on a weighted formulation of the residual equation. The Arnold and Brüls formulation uses only position constraints and still shows second-order accuracy and quadratic convergence, even with Lagrange multipliers.

Considering the elastic body problem, there are many techniques available. Cesnik et al. [13] have developed a variational asymptotic method; which is a one-dimensional plus two-dimensional (1D + 2D) analysis. This method emulates the effects of a three-dimensional analysis by decomposing the physical model into two groups: a cross-section and a beam model. The advantages of this method are that it solves the equations of motion quickly and it is accurate for most three-dimensional effects. However, subsequent analyses using a finite element method (FEM) show that a three-dimensional analysis can capture effects unnoticed by (1D + 2D) methods. That result is significant in the context of the SHARCS project, because the vibration attenuation system primarily controls the blade pitch and torsion. Truong [34] presents, with an element model of 10,000 nodes, that there are high-speed torsion effects that are more accurately predicted by a finite element model. The program in that paper is designed for mid-range workstations, much like the program desired by the SHARCS research group. This finite element model, however, lacks the hinges required to capture the rigid body motion of the blade.

A paper by Kuhl and Crisfield [23] describes various energy-conserving and decaying methods pertaining to structural dynamics. This paper compares Newmark’s method, classical \(\alpha \)-methods, the energy-momentum method (EMM), and the constraint energy and momentum method (CEMM). It culminates in a generalised-\(\alpha \) energy-momentum method (GEMM), which forms the basis of the elastodynamics in Gransden [17]. GEMM combines the energy and momentum conserving properties of the energy-momentum method with the numerical stability and controllable numerical dissipation of the \(\alpha \)-methods.

Therefore, with the advancement of solution techniques for index-3 DAEs, a method to couple the rigid body dynamics with the elastic body dynamics presents itself readily. Coupling the rigid system and elastic bodies using Lagrange multipliers allows a quick and computationally cheap method for solving the motion of the closed, rigid kinematic chains coupled with the compliant bodies of the system. Because of the accuracy of the generalised-\(\alpha \) method, in combination with its high frequency numerical damping properties, it was chosen to solve the multibody problem posed by the helicopter hub. Therefore, the thrust in this work is to quickly and inexpensively solve index-3 DAEs arising from the constrained (parallel) kinematics of the rigid body system with the numerical stability and controllable dissipation of the generalised-\(\alpha \) scheme for flexible body mechanics. This includes the second-order accurate constrained mechanics work from Arnold and Brüls [3] and the second-order accurate (when elastic dissipation is zero) generalised-\(\alpha \) energy-momentum method outlined in [23], into a constrained generalised-\(\alpha \) method, or abbreviated as CG\(\alpha \) herein.

2 Discretisation of rigid body mechanics with constraints

The rigid body equations of motion with its holonomic constraints are often written as

$$\begin{aligned}&\mathbf{M}_\mathbf{q}(\mathbf{q}) \cdot \ddot{\mathbf{q}} - \mathbf{f}_{ccg}(\mathbf{q},\dot{\mathbf{q}},t) + {\varvec{\phi }}_{\mathbf{q},\mathbf{q}}^{{\mathsf {T}}}(\mathbf{q}) \cdot {\varvec{\lambda }}(t)= \mathbf{0} \,\text {,}\end{aligned}$$
(1)
$$\begin{aligned}&{\varvec{\phi }}_{\mathbf{q}}(\mathbf{q}) = \mathbf{0}\,\text {,}\end{aligned}$$
(2)

where \(\mathbf{f}_{ccg}\left( \mathbf{q},\dot{\mathbf{q}},t\right) \) contains the Coriolis, centripetal, and gyroscopic terms. The term q and its time-derivatives relate the rigid body kinematic variables of the system. The set of constraint equations from the parallel chain kinematics is denoted as \(\varvec{\phi }\), and the comma denotes its derivative with respect to the kinematic variables. In Eq.  (1), \({\varvec{\lambda }}\) represents the set of Lagrange multipliers that satisfy the constraint conditions.

Equating the constraints, \(\varvec{\phi }\), to zero indicates that the difference in spatial displacement between the kinematic chains must be zero, i.e., there is no gap in the mechanism. Arnold and Brüls [3] propose that by using a modified acceleration term, weighted differently than the velocity and position coordinates in the final form of the equations of motion, one enforces the dynamic equilibrium of the system of equations. So, the time-dependent variables, \(\mathbf{q}_{n+1}\), \(\dot{\mathbf{q}}_{n+1}\), \(\ddot{\mathbf{q}}_{n+1}\), and \(\varvec{\lambda }_{n+1}\) satisfy Eq. (1), but they introduce acceleration-like variables

$$\begin{aligned} \underbrace{ \left( 1-\alpha _m\right) \mathbf{a}^{\mathbf{q}}_{n+1} + \alpha _m\mathbf{a}^{\mathbf{q}}_n }_{\displaystyle \mathbf{a}^{\mathbf{q}}_{n+1-\alpha _m}} = \underbrace{ \left( 1-\alpha _f\right) \ddot{\mathbf{q}}_{n+1} + \alpha _f \ddot{\mathbf{q}}_n }_{\displaystyle {\ddot{\mathbf{q}}_{n+1-\alpha _f}}}\,\text {,}\end{aligned}$$
(3)

with \(\mathbf{a}_0^{\mathbf{q}} = \ddot{\mathbf{q}}_0\), that satisfy the acceleration at time evaluated at \(t_{n+1-\alpha _m}\). Here the terms \(\alpha _m\) and \(\alpha _f\) denote the coefficients used for controllable numerical dissipation found in the generalised-\(\alpha \) scheme. Nominally, the coefficients in the generalised-\(\alpha \) scheme are dependent on the spectral radius, \(\rho _\infty \), as

$$\begin{aligned}&\alpha _f = \dfrac{2\rho _\infty -1}{\rho _\infty +1} \,\text {,}\quad \alpha _m = \dfrac{\rho _\infty }{\rho _\infty +1} \,\text {,}\nonumber \\&\beta = \dfrac{1}{4}(1 - \alpha _m + \alpha _f)^2 \,\text {,}\quad \gamma = \dfrac{1}{2}-\alpha _m + \alpha _f \,\text {.}\end{aligned}$$
(4)

The generalised-\(\alpha \) equations reflect the above change by substituting the different acceleration descriptors, such that:

$$\begin{aligned} \mathbf{q}_{n+1}&= \mathbf{q}_n + \varDelta t\dot{\mathbf{q}} + \varDelta t^2\left( \frac{1}{2}-\beta \right) \mathbf{a}^{\mathbf{q}}_n + \varDelta t^2\beta \mathbf{a}^{\mathbf{q}}_{n+1} \,\text {,}\nonumber \\ \dot{\mathbf{q}}_{n+1}&= \dot{\mathbf{q}}_n + \varDelta t\left( 1-\gamma \right) \mathbf{a}^{\mathbf{q}}_n + \varDelta t\gamma \mathbf{a}^{\mathbf{q}}_{n+1} \,\text {,}\end{aligned}$$
(5)

in which the \(\mathbf{a}^{\mathbf{q}}_{n+1}\) terms can be eliminated using Eq. (3), and the coefficients \(\beta \) and \(\gamma \) are the same as those derived in the generalised-\(\alpha \) scheme.

To solve this system, the system must be linearised, which involves finding the derivative of the velocity and acceleration variables with respect to the position variables. After eliminating the dissimilarly weighted acceleration-like variables in favour of the generalised-\(\alpha \) weighted accelerations, the derivatives of the velocity and acceleration with respect to the position become:

$$\begin{aligned} \dfrac{\partial \dot{\mathbf{q}}_{n+1}}{\partial \mathbf{q}_{n+1}}&= \dfrac{\gamma }{\varDelta t\beta }\mathbf{I} =\gamma '\mathbf{I} \,\text {,}\end{aligned}$$
(6)
$$\begin{aligned} \dfrac{\partial \ddot{\mathbf{q}}_{n+1}}{\partial \mathbf{q}_{n+1}}&= \dfrac{1-\alpha _m}{\varDelta t^2\beta \left( 1-\alpha _f\right) }\mathbf{I}=\beta '\mathbf{I} \,\text {.}\end{aligned}$$
(7)

Additionally, the dynamic tangential stiffness matrix is

$$\begin{aligned} \mathbf{K}_{{\text {dyn}_\mathbf{q}}}(\mathbf{q}_{n+1}^i) = \left[ \begin{array}{ll} \beta '\mathbf{M}_{\mathbf{q}} - \gamma '\mathbf{f}_{ccg,\dot{\mathbf{q}}} + \mathbf{K}_{\mathbf{q}} &{}\quad \varvec{\phi }_{\mathbf{q},\mathbf q}^{{\mathsf {T}}}\\ \varvec{\phi }_{\mathbf{q},\mathbf q} &{}\quad \mathbf{0} \end{array}\right] \,\text {,}\end{aligned}$$
(8)

where \(i\) indicates the Newton–Raphson iteration index. Therein, the linearised force vector leads to the tangential stiffness matrix

$$\begin{aligned} \mathbf{K}_{\mathbf{q}} = \big (\mathbf{M}_{\mathbf{q}}(\mathbf{q})\ddot{\mathbf{q}} - \mathbf{f}_{ccg}(\mathbf{q},\dot{\mathbf{q}},t) + \varvec{\phi }_{\mathbf{q},\mathbf{q}}^{{\mathsf {T}}}(\mathbf{q}){\varvec{\lambda }} \big )_{,\mathbf{q}}. \end{aligned}$$
(9)

3 Discretisation of elastic body mechanics

The mechanics of the elastic body are described with spatial and temporal differential equations of the displacement field. The space discretisation is achieved by applying the FEM. In the presence of holonomic constraints, the FEM-discretised equations of motion read

$$\begin{aligned}&\mathbf{M}_{\mathbf{d}} \cdot \ddot{\mathbf{d}}+ \mathbf{f}_{int}(\mathbf{d}) - \mathbf{f}_{ext}(t) + {\varvec{\phi }}_{\mathbf{d},\mathbf{d}}^{\mathsf {T}}\cdot {\varvec{\mu }}(t)= \mathbf{0} \,\text {,}\end{aligned}$$
(10)
$$\begin{aligned}&{\varvec{\phi }}_{\mathbf{d}}(\mathbf{d}) = \mathbf{0} \,\text {,}\end{aligned}$$
(11)

where \(\mathbf{d}(t)\) are the discrete displacements, \(\mathbf{f}_{int}\) the internal forces due to an elastic strain energy function, and \(\mathbf{f}_{ext}\) the external forces. The holonomic constraints \({\varvec{\phi }}_{\mathbf{d}}(\mathbf{d})\) are applied using Lagrange multipliers, \({\varvec{\mu }}\). The mass matrix, \(\mathbf{M}_{\mathbf{d}}\), is constant and symmetric.

Equations (10) and (11) can be discretised in time using the generalised-\(\alpha \) method presented by Brüls and Arnold [3]. Essentially, the generalised-\(\alpha \) algorithm Eqs. (3) and (5) is rewritten replacing the rigid body kinematic variables, \(\mathbf{q}\) (and \(\mathbf{a}^{\mathbf{q}}\)) with the displacements, \(\mathbf{d}\) (and \(\mathbf{a}^{\mathbf{d}}\), respectively). Since the mass matrix \(\mathbf{M}_{\mathbf{d}}\) is constant, the generalised-\(\alpha \) method of Chung and Hulbert [14] is recovered in which the “midpoint” internal forces appear as average of the endpoints:

$$\begin{aligned} \mathbf{f}_{int_m} = (1-\alpha _f)\mathbf{f}_{int}(\mathbf{d}_{n+1}) + \alpha _f\mathbf{f}_{int}(\mathbf{d}_n) \,\text {.}\end{aligned}$$
(12)

In nonlinear elasto-dynamics with large deformations and small strains, the generalised-\(\alpha \) method can be beneficially replaced with the generalised-\(\alpha \) energy-momentum method (GEMM) from Kuhl and Crisfield [23] for certain material models, like e.g., the Venant–Kirchhoff material. The GEMM from Kuhl and Crisfield [23] is based on the energy-momentum method developed by Simo and colleagues (see Refs. [3133] for examples), which preserves energy and momentum exactly within each time step. However, due to convergence problems resulting from higher frequencies in stiff structural dynamics, controllable numerical dissipation is often desirable to prevent non-physical responses in these analyses.

The GEMM utilises a particular midpoint internal force vector, \(\mathbf{f}_{int_{m}}\), substituting Eq. (12), which yields conservation of energy and momentum if these quantities are conserved in the time-continuous equations and subject to certain settings of the parameters \(\alpha _m=\alpha _f=1/2\), and \(\xi =0\). The numeric strain-based damping term, \(\xi \), was introduced by Kuhl and Crisfield [23] to enhance the control of the higher-order elastic modes and to improve the robustness of the algorithm in the nonlinear regime.

The GEMM midpoint internal force is the assembly over the finite element (FE) internal force vectors,

(13)

for all finite elements, \(e\). The B-operator,

$$\begin{aligned} \mathbf{B}_{lin} = \mathbf{F}_{,\mathbf{d}^e} \,\text {,}\end{aligned}$$
(14)

is the derivative of the FE-approximated deformation gradient, \(\mathbf{F}\), with respect to the nodal element displacements, \(\mathbf{d}^e\); so overall the B-operator is a \(3\times 3\times 27\) sized quantity in case of a \(27\) node hexahedral element with tri-quadratic Lagrangian shape functions. The B-operator does not depend on the displacements, because the FE-approximated deformation gradient depends linearly on the displacements. The GEMM midpoint deformation gradient, \(\mathbf{F}_m\), and the second Piola–Kirchhoff stress tensor, \(\mathbf{S}_m\), are given by

$$\begin{aligned} \mathbf{F}_m&= (1-\alpha _f) \mathbf{F}(\mathbf{d}_{n+1}^e) + \alpha _f \mathbf{F}(\mathbf{d}_n^e) \,\text {,}\end{aligned}$$
(15)
$$\begin{aligned} \mathbf{S}_m&= \mathbf{C} : \big ( (1-\alpha _f+\xi ) \mathbf{E}_{n+1} + (\alpha _f-\xi ) \mathbf{E}_n \big ) \,\text {,}\end{aligned}$$
(16)

where \(\mathbf{C}\) is the constant, constitutive \(\text {4th}\) order tensor of Venant–Kirchhoff material. The Green-Lagrange strain tensor is \(\mathbf{E}_{n+1} = 1/2 \, ( \mathbf{F}(\mathbf{d}_{n+1}^e)^{\mathsf {T}}\cdot \mathbf{F}(\mathbf{d}_{n+1}^e) - \mathbf{I} )\).

If Eqs. (15) and (16) are evaluated for \(\alpha _f=1/2\) without damping, such as \(\xi =0\), then the energy-momentum method by Simo and Tarnow [31] is recovered for Venant–Kirchhoff material. Additionally, the scheme presented here is only second-order accurate when \(\xi = 0\), as remarked by Armero and Romero [2]. For verification and validation in the next section, this parameter is set to zero and is included in the above formulation for completeness.

Reordering the midpoint Green-Lagrange strain, highlights that the numeric damping effect of the \(\xi \) term is based on the strain increment,

$$\begin{aligned} \mathbf{E}_m&= (1-\alpha _f+\xi ) \mathbf{E}(\mathbf{d}_{n+1}^e) + (\alpha _f - \xi ) \mathbf{E}(\mathbf{d}_n^e)\nonumber \\&= (1-\alpha _f) \mathbf{E}(\mathbf{d}_{n+1}^e) + \alpha _f \mathbf{E}(\mathbf{d}_{n}^e)\nonumber \\&\quad + \xi \big ( \mathbf{E}(\mathbf{d}_{n+1}^e) - \mathbf{E}(\mathbf{d}_n^e) \big ) \,\text {.}\end{aligned}$$
(17)

The tangential stiffness matrix is still the derivative of the internal force vector with respect to the displacements,

(18)

where

$$\begin{aligned} \mathbf{B}_m = \mathbf{F}_m^{{\mathsf {T}}} \cdot \mathbf{B}_{lin} { \quad \text {and}\quad \mathbf{B}_n = \mathbf{F}_n^{{\mathsf {T}}} \cdot \mathbf{B}_{lin} } \,\text {.}\end{aligned}$$
(19)

Once the displacement derivative is taken, the material stiffness matrix is asymmetric because of the product of \(\mathbf{B}_m\) and \(\mathbf{B}_n\), however, the geometric stiffness remains symmetric.

4 Coupled rigid and elastic body mechanics discretised with a generalised-\(\alpha \) method

In Sect. 2, the parallel chains were a function of the rigid body variables only; however, in a general case where rigid and elastic bodies are intermixed, the holonomic constraint equations are \(\varvec{\phi }_\mathbf{q}\left( \mathbf{q}, \mathbf{d}\right) \). The coupling between rigid body links and the elastic bodies can also be described using such a method. The constraint equations are functions of both the rigid body variables (dependent on the kinematic pairs) and the deformed coordinates of the elastic body. These constraint equations are also holonomic, therefore they can be written as \(\varvec{\phi }_\mathbf{d}\left( \mathbf{q},\mathbf{d}\right) = \mathbf{0}\). So the constraint equations, in their general form are \(\varvec{\phi }_\mathbf{q}\), which describe the parallel chain coupling; and \(\varvec{\phi }_\mathbf{d}\), which describe the coupling between the elastic body and the rigid body components.

Now that the equations of motion have been established, there are four sets of equations that govern the rigid-elastic body system:

$$\begin{aligned}&\mathbf{M}_\mathbf{q}\ddot{\mathbf{q}} - \mathbf{f}_{ccg}\left( \mathbf{q},\dot{\mathbf{q}},t\right) +\varvec{\phi }_{\mathbf{q},\mathbf{q}}^{{\mathsf {T}}}\varvec{\lambda }+ \varvec{\phi }_{\mathbf{d},\mathbf{q}}^{{\mathsf {T}}}\varvec{\mu }= \mathbf{0} \,\text {,}\nonumber \\&\varvec{\phi }_\mathbf{q} = \mathbf{0} \,\text {,}\nonumber \\&\mathbf{M}_\mathbf{d}\ddot{\mathbf{d}} + \mathbf{f}_{int}(\mathbf{d}) - \mathbf{f}_{ext} +\varvec{\phi }_{\mathbf{q},\mathbf{d}}^{{\mathsf {T}}}\varvec{\lambda }+\varvec{\phi }_{\mathbf{d},\mathbf{d}}^{{\mathsf {T}}}\varvec{\mu }= \mathbf{0} \,\text {,}\nonumber \\&\varvec{\phi }_\mathbf{d} = \mathbf{0} \,\text {,}\end{aligned}$$
(20)

in which the mass matrices and constraints are distinguished by subscripts. In the above system, \(\varvec{\lambda }(t)\) are the Lagrange multipliers associated with the force and moment constraints between kinematic chains, and \(\varvec{\mu }(t)\) are the Lagrange multipliers associated with the constraints enforcing the coupling between rigid and elastic bodies. Expanding and combining the equations of motion within Eq. (20) yields

$$\begin{aligned} \left[ \begin{array}{cc} \mathbf{M}_\mathbf{q} &{}\mathbf{0}\\ \mathbf{0} &{} \mathbf{M}_\mathbf{d}\end{array}\right] \left\{ \begin{array}{c} \ddot{\mathbf{q}} \\ \ddot{\mathbf{d}}\end{array}\right\} + \left\{ \begin{array}{c} \mathbf{0} \\ \mathbf{f}_{int}\end{array}\right\} - \left\{ \begin{array}{c} \mathbf{f}_{ccg} \\ \mathbf{f}_{ext}\end{array}\right\} \nonumber \\ + \left[ \begin{array}{cc} \varvec{\phi }_{\mathbf{q},\mathbf{q}}^{{\mathsf {T}}} &{} \varvec{\phi }_{\mathbf{d},\mathbf{q}}^{{\mathsf {T}}}\\ \varvec{\phi }_{\mathbf{q},\mathbf{d}}^{{\mathsf {T}}} &{} \varvec{\phi }_{\mathbf{d},\mathbf{d}}^{{\mathsf {T}}}\end{array}\right] \left\{ \begin{array}{c} \varvec{\lambda }\\ \varvec{\mu }\end{array}\right\} = \mathbf{0}. \end{aligned}$$
(21)

In matrix form, Eq. (21) can be written as

$$\begin{aligned} \mathbf{M} \ddot{\mathbf{x}} + \mathbf{f}_{int} - \mathbf{f} + \mathbf{G}^{{\mathsf {T}}}\varvec{\kappa }= \mathbf{0}, \end{aligned}$$
(22)

with the following notation:

$$\begin{aligned} \begin{array}{rlrl} \mathbf{x} &{}= \left\{ \begin{array}{c} \mathbf{q} \\ \mathbf{d}\end{array}\right\} ,&{} \varvec{\kappa }&{}= \left\{ \begin{array}{c} \varvec{\lambda }\\ \varvec{\mu }\end{array}\right\} , \\ \mathbf{f}_{int} &{}= \left\{ \begin{array}{c} \mathbf{0} \\ \mathbf{f}_{int} \end{array}\right\} , &{} \mathbf{f} &{}= \left\{ \begin{array}{c} \mathbf{f}_{ccg} \\ \mathbf{f}_{ext} \end{array}\right\} ,\\ \mathbf{M} &{}= \left[ \begin{array}{cc} \mathbf{M}_\mathbf{q} &{}\mathbf{0}\\ \mathbf{0} &{} \mathbf{M}_\mathbf{d}\end{array}\right] ,&{}\quad \mathbf{G}^{{\mathsf {T}}} &{}= \left[ \begin{array}{cc} \varvec{\phi }_{\mathbf{q},\mathbf{q}}^{{\mathsf {T}}} &{}\varvec{\phi }_{\mathbf{d},\mathbf{q}}^{{\mathsf {T}}}\\ \varvec{\phi }_{\mathbf{q},\mathbf{d}}^{{\mathsf {T}}} &{} \varvec{\phi }_{\mathbf{d},\mathbf{d}}^{{\mathsf {T}}}\end{array}\right] ;\end{array} \end{aligned}$$
(23)

so that the \(\mathbf{f}_{int}\) term is redefined to include zeros for all rigid body locations. In the verification section, which is presented at the end of the mathematical manipulation, the term \(\varvec{\phi }_{\mathbf{q},\mathbf{d}}^{{\mathsf {T}}}\) is set to \(\mathbf{0}\). This is due to the simplification that there are no deformable bodies within the parallel chain kinematics of the current helicopter hub model that would be required to complete the loop closure equation.

The following manipulations show the coupled rigid and elastic body equations subject to constraints, Eq. (20), can be discretised in time combining the generalised-\(\alpha \) method of Arnold and Brüls, as presented in Sect. 2, and the generalised-\(\alpha \) energy-momentum method summarised in Sect. 3. The resulting combined scheme conserves neither energy nor momentum. However, it is expected to be 2nd-order accurate for certain settings of \(\alpha _m\), \(\alpha _f\), and \(\xi =0\), since both algorithms are reported to achieve this level of accuracy.

Using the generalised-\(\alpha \) method of Arnold and Brüls to describe the accelerations in which the combined vector \(\ddot{\mathbf{x}}\) replaces the \(\ddot{\mathbf{q}}\) terms (but the velocity and positions are solved with respect to the \(\mathbf{a}_{n+1}\) terms), in combination with the displacement and velocity terms from the generalised-\(\alpha \) method, Eq. (5), means that

$$\begin{aligned}&(1-\alpha _m)\mathbf{a}_{n+1} + \alpha _m\mathbf{a}_n = \nonumber \\&\quad -(1-\alpha _f) \mathbf{M}_{n+1}^{-1} \big (\mathbf{f}_{int_{n+1}} - \mathbf{f}_{n+1} + \mathbf{G}_{{n+1}}^{{\mathsf {T}}}\varvec{\kappa }_{n+1}\big ) \nonumber \\&\quad -\alpha _f \mathbf{M}_{n}^{-1}\big (\mathbf{f}_{int_n} - \mathbf{f}_{n} + \mathbf{G}_{n}^{{\mathsf {T}}}\varvec{\kappa }_n\big ) \end{aligned}$$
(24)

holds for the finite-difference time discretisation, as long as the mass matrices are invertible. Instead of eliminating the \(\mathbf{a}_{n+1}\) terms and solving for \(\ddot{\mathbf{q}}_{n+1}\), the endpoint accelerations, \(\ddot{\mathbf{q}}_{n+1}\), are eliminated in favour of \(\mathbf{a}_{n+1}\), which allows one to combine the GEMM approach and the Arnold and Brüls method.

Multiplying Eq. (24) by the mass matrix evaluated at \(t_{n+1}\), i.e. \(\mathbf{M}_{n+1} = \mathbf{M}(\mathbf{x}_{n+1})\), gives

$$\begin{aligned}&\mathbf{M}_{{n+1}}\big ((1-\alpha _m) \mathbf{a}_{n+1} +\alpha _m\mathbf{a}_n\big ) \nonumber \\&\quad = -(1-\alpha _f)\left( \mathbf{f}_{int_{n+1}} - \mathbf{f}_{{{n+1}}} + \mathbf{G}_{{n+1}}^{{\mathsf {T}}}\varvec{\kappa }_{n+1}\right) \nonumber \\&\qquad -\alpha _f \mathbf{I}_T\left( \mathbf{f}_{int_n} - \mathbf{f}_{n} + \mathbf{G}_{n}^{{\mathsf {T}}}\varvec{\kappa }_n\right) . \end{aligned}$$
(25)

The matrix \(\mathbf{I}_T\) is approximately the identity matrix because

$$\begin{aligned} \mathbf{I}_T&= \left[ \begin{array}{cc} \mathbf{M}_{\mathbf{q}_{n+1}} &{} \mathbf{0}\\ \mathbf{0} &{} \mathbf{M}_{\mathbf{d}_{n+1}}\end{array}\right] \left[ \begin{array}{cc} \mathbf{M}_{\mathbf{q}_{n}}^{-1} &{} \mathbf{0}\\ \mathbf{0} &{} \mathbf{M}_{\mathbf{d}_{n}}^{-1} \end{array}\right] \nonumber \\&= \left[ \begin{array}{cc} \mathbf{M}_{\mathbf{q}_{n+1}} \mathbf{M}_{\mathbf{q}_{n}}^{-1} &{} \mathbf{0} \\ \mathbf{0} &{} \mathbf{I}\end{array}\right] , \end{aligned}$$
(26)

and becomes the identity matrix as \(\varDelta t\) approaches zero. However, the averaged internal force vector evaluated at the endpoints is

$$\begin{aligned} (1-\alpha _f)\mathbf{f}_{int_{n+1}} + \alpha _f\mathbf{f}_{int_n} = \mathbf{f}_{int_{m}} \,\text {.}\end{aligned}$$
(27)

Since \(\mathbf{f}_{int} = \mathbf{0}\) for all \(\mathbf{q}\), the midpoint internal force vector, \(\mathbf{f}_{int_m}\), can be factored out and replaced with its GEMM counterpart, Eq. (13), yielding

$$\begin{aligned}&\mathbf{M}_{{n+1}}\left( \left( 1-\alpha _m\right) \mathbf{a}_{n+1} + \alpha _m \mathbf{a}_n\right) \nonumber \\&\quad = -\mathbf{f}_{int_{m}} -\left( 1-\alpha _f\right) \left( -\mathbf{f}_{{{n+1}}} + \mathbf{G}_{{n+1}}^{{\mathsf {T}}} \varvec{\kappa }_{n+1}\right) \nonumber \\&\qquad -\alpha _f \mathbf{I}_T\left( - \mathbf{f}_{n} + \mathbf{G}_{n}^{{\mathsf {T}}}\varvec{\kappa }_n\right) . \end{aligned}$$
(28)

However, the accelerations can be evaluated with the second derivatives of the \(\mathbf{x}\) variables, in favour of the acceleration-like variables,

$$\begin{aligned}&\mathbf{M}_{{n+1}}\big ((1-\alpha _f) \ddot{\mathbf{x}}_{n+1} + \alpha _f \ddot{\mathbf{x}}_n\big ) =\nonumber \\&\mathbf{M}_{{n+1}}\big ((1-\alpha _m) \mathbf{a}_{n+1} + \alpha _m \mathbf{a}_n\big ) \nonumber \\&\quad \,=\,-\mathbf{f}_{int_{m}} -(1-\alpha _f) \left( - \mathbf{f}_{{n+1}} + \mathbf{G}_{{n+1}}^{{\mathsf {T}}}\varvec{\kappa }_{n+1}\right) \nonumber \\&\qquad -\alpha _f \mathbf{I}_T\left( - \mathbf{f}_{n} + \mathbf{G}_{n}^{{\mathsf {T}}}\varvec{\kappa }_n\right) . \end{aligned}$$
(29)

Therefore, the residual equations for the motion of the hinges and the elastic bodies combined, including the constraints, are

$$\begin{aligned}&\mathbf{r}_{\mathbf{x}} \equiv \mathbf{M}_{{n+1}}\big ((1-\alpha _f) \ddot{\mathbf{x}}_{n+1} + \alpha _f \ddot{\mathbf{x}}_n\big ) +\mathbf{f}_{int_{m}}\nonumber \\&\qquad +(1-\alpha _f)\left( - \mathbf{f}_{{{n+1}}} + \mathbf{G}_{{n+1}}^{{\mathsf {T}}}\varvec{\kappa }_{n+1}\right) \nonumber \\&\qquad \quad +\alpha _f \mathbf{I}_T\left( - \mathbf{f}_{n} + \mathbf{G}_{n}^{{\mathsf {T}}}\varvec{\kappa }_n\right) , \end{aligned}$$
(30)

and

$$\begin{aligned} \mathbf{r}_{\varvec{\kappa }} \equiv \varvec{\phi }_{\varvec{\kappa }} = \left\{ \begin{array}{c} \varvec{\phi }_{\mathbf{q}} \\ \varvec{\phi }_{\mathbf{d}} \end{array}\right\} . \end{aligned}$$
(31)

The equations are solved using the Newton–Raphson method. The Newton–Raphson method requires linearisation of the residual resulting in solving a linear system of equations at each iteration, \(i\), and performing an update afterwards, i.e.

$$\begin{aligned} \mathbf{K}_{\text {dyn}_\mathbf{y}}(\mathbf{y}_{n+1}^i) \, \varDelta \mathbf{y}^i&= - \mathbf{r}_{\mathbf{y}}(\mathbf{y}_{n+1}^i) \,\text {,}\nonumber \\ \mathbf{y}_{n+1}^{i+1}&= \mathbf{y}_{n+1}^{i} + \varDelta \mathbf{y}^{i} \,\text {.}\end{aligned}$$
(32)

Here the augmented vector of joint and deformed variables and Lagrange multipliers that enforce the constraints, the combined residual, and its dynamic tangential stiffness matrix are given as

$$\begin{aligned} \mathbf{y} = \left\{ \begin{array}{c} \mathbf{x}\\ \varvec{\kappa }\end{array}\right\} , \quad \mathbf{r}_{\mathbf{y}} = \left\{ \begin{array}{c} \mathbf{r}_{\mathbf{x}} \\ \mathbf{r}_{{\varvec{\kappa }}} \end{array}\right\} , \quad \mathbf{K}_{\text {dyn}_\mathbf{y}} = \frac{\partial \mathbf{r}_{\mathbf{y}}}{\partial \mathbf{y}_{n+1}} \end{aligned}$$
(33)

Since coupled rigid-elastic body mechanics are infamously ill-posed problems, Bottasso et al. [11] proposed a scaling technique that is applied here. The scaling normalises the rigid body variables and the elastic body variables.

Applying the Bottasso et al. scaling results in the following modified system of linear equations:

$$\begin{aligned} \big (\mathbf{D}_L \mathbf{K}_{\text {dyn}_\mathbf{y}}^i\mathbf{D}_R\big ) \cdot \big (\mathbf{D}_R^{-1} \varDelta \mathbf{y}^i \big ) = - \mathbf{D}_L \mathbf{r}_{\mathbf{y}}^i \,\text {,}\end{aligned}$$
(34)

where the index \(n+1\) is omitted. The left and right scaling matrices are

$$\begin{aligned} \mathbf{D}_L&= \left[ \begin{array}{cc} \beta \left( \varDelta t\right) ^2 \mathbf{I} &{} \quad \mathbf{0}\\ \mathbf{0}&{} \quad \mathbf{I}\end{array}\right] \quad \text {and}\end{aligned}$$
(35)
$$\begin{aligned} \mathbf{D}_R&= \left[ \begin{array}{cc}\mathbf{I}&{} \quad \mathbf{0} \\ \mathbf{0} &{} \quad \mathbf{I}/\big (\beta \left( \varDelta t\right) ^2\big )\end{array}\right] , \end{aligned}$$
(36)

which results in better numerical performance.

5 Verification and validation of model subcomponents

The elastic code and rigid body code are verified and validated next. The elastic code was verified by comparing increasingly finer material meshes to one another, and validated by comparing them to another beam model and foreshortening equations. The verification and validation of the rigid body articulation is performed by comparing it to the velocity filtering technique used by Blajer [9].

5.1 Elastic blade foreshortening effect

To verify and validate the elastic body model, the articulation is removed by disabling the joint variables and setting the link lengths to zero. The full model required for SHARCS includes variable control forces and aerodynamics, which are not included for this verification. Doing so reduces the elastic model to a nonlinear cantilevered elastic three-dimensional beam, which ensures that only the elastic effects affect the solution.

To check the convergence and the accuracy of the elastic model, a comparison of the foreshortening effect is provided. Foreshortening is the nonlinear effect that arises from beam bending, as Fig. 1 shows with exaggerated displacements. As the beam deflects due to a transverse load, foreshortening causes the contraction of the longitudinal axis projected length. The effect can only be analysed with a nonlinear elastic model, as shown by Ghorashi [16], the linear static model results in no shortening of the beam.

Fig. 1
figure 1

Foreshortening effect on a three-dimensional beam, compared at the neutral axis (NA)

The beam model uses the following material properties, shown in Table 1. These parameters are chosen to be able to directly compare with the validation done by Ghorashi.

Table 1 Properties of the example elastic comparison beam

The elastic model reduces to an isotropic, homogeneous, uniform beam without any numerical damping, i.e., \(\rho _\infty = 1.0\). The beam is discretised into \(n\) elements along the length, but only one element in the orthogonal directions, using quadratic 27-node hexahedral elements. A load of \(F_{app} = 100\) kN is applied to the centre of the cross-section at the end of the beam, in the \(y\)-direction.

As can be seen from Fig. 2, the displacement field converges with only a few elements. The percent error of the tip displacement, where the difference is the largest, based on the number of elements is shown in Table 2 on the next page. This table shows good convergence of the finite element model, with respect to the analytical reference, which was presented graphically by Ghorashi.

Fig. 2
figure 2

Distribution of displacement along the beam neutral axis from continuum statics approach with multiple elements in the x-direction, one element in y- and z-directions (except listed)

Table 2 Percent error and positional verification of tip displacement of a cantilevered beam

Figure 3 shows the foreshortening effect and perpendicular directions, which Ghorashi[16] used to validate his algorithm, which also models helicopter blade dynamics. Referring again to Fig. 2, it shows the foreshortening effect and orthogonal directions using the current three-dimensional model. The circles in the figure represent the nonlinear equation for the foreshortening effect; both his and this work match. In this case, both models show the foreshortening effect clearly, with the same magnitude and curve.

Fig. 3
figure 3

Distribution of displacement according to linear theory, foreshortening equation, and CG\(\alpha \) with 10 elements

Even with a coarse grid the foreshortening effect is clear, and with similar magnitudes as found in literature. The deviation of the coarse mesh (2 elements) from literature is not greater than 10.0 %, whereas a finer mesh (of 10 elements) matches the figure by Ghorashi precisely.

5.2 Four-bar mechanism

A crank-rocker, as in Fig. 4, is a closed-kinematic chain four-bar mechanism whose motion can be solved analytically or using parallel kinematic methods. Therefore, it is an ideal candidate to showcase the accuracy of CG\(\alpha \).

Fig. 4
figure 4

A four bar mechanism with the open loop representation, cut at the end of the second link

The mechanism and its properties are in Table 3, and the DH parameterisation of the links is shown in Table 4:

Table 3 Physical properties of the four-bar mechanism
Table 4 DH parameterisation of the four-bar mechanism

The four-bar mechanism simulations are done with the elastic degrees of freedom eliminated, so that they do not affect the solution. There are no aerodynamic or control forces, or any external torques. To verify the CG\(\alpha \), the comparison in Figs. 5 and 6 show the effect of changing \(\varDelta t\). The initial conditions for this set of simulations are based on \(\alpha _{10} = \tfrac{\pi }{2}\) and \(\dot{\alpha }_{10} = 1\,s^{-1}\), and the algorithm automatically solves for the remaining hinge geometry. The numerical parameters \(\alpha \), \(\beta \), and \(\gamma \) for this comparison are based on the 2nd-order convergent generalised-\(\alpha \) scheme in which the spectral radius is \(\rho _{\infty } = 0.95\). The tolerance for the simulation is \(1\times 10^{-6}\).

Fig. 5
figure 5

The position solution to the 4-bar mechanism using the CG\(\alpha \) method with different time-steps

Fig. 6
figure 6

The constraint forces using CG\(\alpha \) method

Figure 5 shows the displacements and velocities of Frame 1, which is the actuated joint. Figure  6 shows the constraint forces using this method, to ensure that all kinematic and kinetic parameters are congruent. The periods are compared in Table 5, on the next page, which shows the percent difference based on the smallest time-step.

Table 5 Period convergence of the 4-bar mechanism

The simulation carried out by Blajer [9] was performed with the same initial conditions and link properties, using Runge-Kutta with a very small step size (\(\varDelta t = 0.0005~\hbox {s}\)) to obtain a reference solution. He then compared it to the velocity-stabilisation method, using the velocity to prevent constraint drift.

Note that the definition for the angles is slightly different in Blajer than with this parameter test: in Blajer, the angles are defined with respect to the inertial \(x\)-axis, the definitions assigned here automatically define the angles with respect to the previous \(x\)-axis, because of the parameterisation according to the Denavit–Hartenberg formulation. Another difference is where he virtually cuts the joints; in his work, he separates the joint at the origin of Frame 4, attached to the ground. In this case, the velocity drift method solves faster and larger time steps are more accurate, but because such a fortuitous constraint cannot be guaranteed for the general solver, the current profile is more realistic.

Blajer shows the evolution of the position and velocity of Link 1 only in his paper. So, the comparison of the filtering method and the CG\(\alpha \) method in Fig. 7 shows the position and velocity from those two methods. As can be seen, the methods match almost exactly when \(\varDelta t = 0.0005~\hbox {s}\) for the velocity drift algorithm, and \(\varDelta t = 0.005~\hbox {s}\) for CG\(\alpha \). When \(\varDelta t = 0.005~\hbox {s}\), the velocity drift method results correlate poorly; they match the general trends, but not matching the curves properly. Table 6 shows the period comparison between two time steps using the velocity stabilisation method and with the current scheme.

Fig. 7
figure 7

The position solution to the 4-bar mechanism using the velocity drift method (Blajer) and the CG\(\alpha \) for constrained kinematics

Table 6 Crank-rocker mechanism analysis for velocity stabilisation and \(\hbox {CG}\alpha \) schemes

6 Verification of complete articulated model

To verify the coupling of the elastic and rigid body components, a set of structural parameters was selected to emulate the SHARCS hub arrangement, and the model was run for varying time steps. This simulation shows the convergence of the displacement parameters, the convergence of the forces at the root of the blade, the constraint forces at the virtually cut point, and the support forces required for any locked hinges (such as the azimuth angle).

The structural parameters selected for the articulation are based on the DH parameterisation. The values of the links are listed below, in Table 7, and the actuator mass, which is not listed, is 0.05 kg. (It is modelled as a separate entity, a point mass, rather than a link, based on the original design for the APL).

Table 7 Link properties for complete simulation verification

The initial configuration of the hinges depends on the user constraints; however, caution should be used in determining the physical arrangement: many configurations may lead to degeneracies according to the Denavit–Hartenberg formulation. The formulation of the hinges is independent of the solver, for example, quaternions could easily be substituted for the rigid link description and therefore avoid degeneracies. For the simulated cases, degeneracy is avoided in the initial conditions, ensured by the loop closure equations that the program runs, and simulating trimmed, hover flight. The results shown for verification purposes have preset hinges for the aerodynamic chain, the swashplate tilt and collective, and the pitch link and its actuator. The values of these hinges are listed in Table 8, and Fig. 8 shows the geometry of the articulation.

Table 8 Hinge initial conditions, locked by user, based on trim hover conditions
Fig. 8
figure 8

Simulated articulation in original position

With the hinges in the table constrained, the kinematic chains are completed by closing the chains at the pitch horn. There are also hinges locked during the simulation, to ensure that the correct motions are prescribed, such as the hub angle, all swashplate angles/displacements, the bottom spherical joint of the pitch link, and the APL itself. Therefore, only three constraint forces are required, since the motion is coupled, from six degrees of freedom to three.

The elastic blade is isotropic, homogeneous, is discretised by 10 longitudinal elements but one element in the orthogonal directions. The rotor blade also has the variation of twist according to the SHARCS profile rotor blade [17], but has otherwise a constant cross-section shape and thickness.

The simulation itself goes through a start-up phase, in which the angular velocity of the hub increases from 0 to full speed, which is approximately \(168.2~{\text {rad}}/{\text {s}}\) or 1,555 RPM. The equation that governs the start-up velocity is

$$\begin{aligned} \omega = \frac{1}{2}\left( 1 - \cos \left( \frac{\pi t}{\tau }\right) \right) \varOmega , \end{aligned}$$
(37)

where the final rotor speed is \(\varOmega \), and \(\tau \) is the start-up phase time. Once full speed is reached, the simulation runs for an analysis time of \(t_n = 0.2~\hbox {s}\), which is roughly 5 revolutions.

Figures 910, and 11 show the convergence of the full model, the angular displacements of the flap and lag, and the translation of the pitch link first; the resultant force vectors at the root next; and the constraint forces and moments last. In both the displacement variables and the force variables the graphs converge quickly. In the constraint forces, there is some incongruous variation at the end of the start-up phase. This is caused by the tangential deceleration of the hub, because there is jerk during the start-up phase, equivalent to \(-({\pi }/{\tau })^2\, \varOmega /2\), which is substantial since \(\tau \) in these simulations is typically very small. As mentioned by Simeon [30], the Lagrange multipliers coupling the rigid links and the elastic body are sensitive to these sudden changes; however, they quickly return to the proper values with the minimal numerical damping included (\(\rho _\infty = 0.95\)).

Fig. 9
figure 9

Displacements of flap, lag, and pitch link under trim hover aerodynamic load

Fig. 10
figure 10

Resultant force vectors at the root of the helicopter blade

Fig. 11
figure 11

Resultant force vectors at the cut joint of the helicopter blade

6.1 Second-order time convergence of full model

Finally, a time convergence study is included. Due to the model theory it can be expected that the time convergence should be second order; as Fig. 12 seems to indicate, quadratic convergence is shown for the position of the rotor blade.

To generate this plot, the nominal start up phase was used with a refined time of \(\varDelta t = 10^{-6}~\hbox {s}\). The model was allowed to smoothly accelerate to the full rotor speed, and the rotor hinge degrees of freedom were released as in the previous section. Perturbations in the constraint forces due to the sudden release of the hinges were allowed to converge for an interval of 0.15 seconds. The test was then carried out using time steps from between \(\varDelta t = 0.01 ~\hbox {s}\) to \(\varDelta t = 10^{-6}~\hbox {s}\), over a period of 0.02 seconds.

The error evaluation can be determined by finding the slope of these curves on the figure; for an order of magnitude change in the timestep, there should be two orders of magnitude in precision. Figure 12 shows second order time convergence in the position of all three global directions.

Fig. 12
figure 12

Convergence rates for orders of \(\varDelta t\) for the full articulated and elastic system

7 Conclusion

Mid-point evaluation of the rigid body accelerations allows one to combine that methodology with the generalised-\(\alpha \) energy momentum method. This subsumes the second order accuracy and controllable dissipation of the elastic bodies with the accuracy of solving constrained kinematics. A three-dimensional model using the generalised-\(\alpha \) energy momentum method for a nonlinear elastic material with small strain deformations is amalgamated with a non-weighted residual equation scheme for rigid body parallel kinematics to result in the constrained generalised-\(\alpha \) method. This model forms the basis for a computer code capable of solving nonlinear, closed kinematic articulated helicopter hubs and elastic rotor blade dynamics. The complete computer code exists as a tool for the SHARCS group to test new vibration control ideas and simulate results before experimentation.

Individual component functions have been independently verified and validated. The rigid body mechanics have been validated with respect to previously published works, including Runge-Kutta discretisation. The three-dimensional model compares well with nonlinear results from literature and from analytic equations. For a complex problem with an unknown number of kinematic chains, this algorithm converges very quickly with a larger time step than other methods. In addition, a significant advantage over other methods is that no prior knowledge about the kinematic chain or an optimally located ‘cut’ is required. Finally, the simulations generally show good convergence properties, quadratic in spatial dimensions and in time.