1 Introduction

Flexible multibody dynamics (FMBD) is a powerful tool for the analysis of mechanical systems that undergo dynamic loading and large displacements and rotations. In addition to the system responses, their design sensitivities are of great use in the design, design optimization and sensitivity analysis, amongst other uses. In this work, we develop the sensitivity analysis for FMBD and apply it to the design of a morphing wing of a high-performance sailplane.

High-performance sailplanes (also known as gliders) are unpowered aircraft and thus have a large envelope of operating speeds. A typical competition flight comprises of two typical flight phases: Low-speed circling phases in thermals, followed by mid- to high-speed interthermal flight. Fixed-geometry aircraft are designed to have a performance compromise in this wide speed range. Form-variable – or morphing – wings have shown to increase performance, particularly when the forward wing section is morphed in combination with a conventional trailing-edge flap. Morphing wings can achieve an increase in speed up to \(20~\frac{\text{km}}{\text{h}}\) with equal glide ratio compared to a conventional sailplane with a camber changing trailing-edge flap [13].

The morphing forward wing section is found in literature modeled both with hinged mechanisms [1, 4] and with specially designed hingeless compliant mechanisms [3, 5]. FMBD is applied here to a hinged mechanism that includes both rigid and flexible components. Via flexible multibody simulation, the mechanism is analysed to consider large rigid-body displacements and rotations as well as flexible deformations and stresses. Flexible multibody dynamics enables the dynamic analysis of the mechanism in contrast to coupled simulations based on rigid multibody dynamics and (quasi-) static finite-element analysis [1, 35]. These values can then be integrated into a design optimization routine. The methods developed here are implemented to extend an in-house flexible multibody simulation code SiMuLi, which carries out both the simulation and sensitivity analysis of a morphing forward wing section with the goal to be integrated in a future work in a design optimization framework.

The approach for FMBD in this work is a further development of that developed and introduced in the application to cleaning mechanisms of Tyrolean weirs, intake systems of small Alpine hydroelectric plants [68]. This work specifically builds upon [9] to include the semi-analytical sensitivities of the invariants to allow for a multibody simulation and its sensitivity analysis, decoupled from the finite-element solver after the initial modeling. This is enabled by the analytical derivatives w.r.t. the design variables of the system parameters that depend on the finite-element model, see [10] for the analytical expressions. This semi-analytical approach thus takes the analytical differentiation to a further layer of the partial derivatives leading to significant computational efficiency improvements to the method shown in [9].

The centerpiece of this methodology is the efficient analytical sensitivity analysis. This can then be used i.a. in gradient-based design optimization of a wide range of flexible mechanisms. The developed methodology is shown here for the simulation of a morphing forward wing section concept consisting of a flexible external wing skin and an actuation mechanism with rigid bodies. Actuating the mechanism leads to the deformation of the external wing skin from the low-lift (high-speed) profile configuration to the high-lift (low-speed) profile configuration. Particular attention is paid to the sensitivity analysis, including the computation, analysis and interpretation of the sensitivity values. The system responses considered here are the stress and the geometric deviations from the target geometry. These are differentiated with respect to the design variables, which include geometric parameters, material parameters and loading parameters. The method is general and not limited by those design variables explored here. Future application fields of the developed sensitivity method include gradient-based design optimization and uncertainty analysis.

2 Flexible multibody dynamics

Flexible multibody simulation is comprised of three components [8, 11]: governing equations, time integration and nonlinear solver. The main simulation to calculate the responses is referred as primal analysis to differentiate from the design sensitivity analysis, in which the sensitivity of the responses with respect to design variables are calculated. The simulation routine is shown as a flowchart in Fig. 1 and includes the components, which are introduced in § 2 for the primal analysis and in § 3 for the design sensitivity analysis.

Fig. 1
figure 1

Flow chart for solving routine for flexible multibody dynamics and integrated sensitivity analysis. (Color figure online)

2.1 Governing equation

The governing equations of flexible multibody systems are given by the equations of motion and the kinematic constraint equations, which lead to a set of index-3 differential–algebraic equations given by

$$\begin{aligned} \underline{\underline{m}}\,\underline{\ddot{q}}+\underline{\underline{d}}\,\underline{\dot{q}}+\underline{\underline{k}}\, \underline{q}+\underline{\underline{\mathrm{J}}}{}_{\varPhi }^{\mathsf{T}}\,\underline{\lambda}& =\underline{F}_{\text{ext}}+ \underline{F}_{v}, \end{aligned}$$
(1)
$$\begin{aligned} \underline{ \varPhi }& =\underline{0}, \end{aligned}$$
(2)

where \(\underline{q}\) is the vector of generalized positions, \(\underline{\lambda}\) is the vector of Lagrangian multipliers of the kinematic constraints, \(\underline{\underline{m}}\) is the mass matrix, \(\underline{\underline{d}}\) is the damping matrix, \(\underline{\underline{k}}\) is the stiffness matrix, \(\text{$\underline{\varPhi }$}\) is the vector of kinematic constraints, \(\underline{\underline{\mathrm{J}}}{}_{\varPhi }\) is the Jacobian matrix of the constraints (i.e. the partial derivative of the constraints with respect to position), \(\underline{F}_{\text{ext}}\) is the external force vector and \(\underline{F}_{v}\) is the quadratic velocity force vector. Overdots represent the first \(\dot{\left (\cdot \right )}\) and second \(\ddot{\left (\cdot \right )}\) temporal derivatives. Symbols with single underline \(\underline{\left (\cdot \right )}\) denote vectors, symbols with double underline \(\underline{\underline{\left (\cdot \right )}}\) denote two-dimensional matrices, symbols with triple underline denote three-dimensional terms, symbols with quadruple underline denote four-dimensional terms and those without underlines are scalars. Further, symbols with an overline \(\overline{\left (\cdot \right )}\) are expressed in floating coordinates of the body reference frame. To reduce numerical problems related to index-3 differential–algebraic equations [12, 13], the kinematic constraint equations are differentiated twice with respect to time to obtain a system of index-1 differential–algebraic equations expressed in matrix form by

$$ \underline{R}=\left [ \textstyle\begin{array}{c@{\quad}c} \underline{\underline{m}}& \underline{\underline{\mathrm{J}}}{}_{\varPhi }^{\mathsf{T}} \\ \underline{\underline{\mathrm{J}}}{}_{\varPhi }& \underline{\underline{0}} \end{array}\displaystyle \right ]\left [ \textstyle\begin{array}{c} \underline{\ddot{q}}\\ \underline{\lambda}\end{array}\displaystyle \right ]-\left [ \textstyle\begin{array}{c} \underline{F}_{\text{ext}}+\underline{F}_{v}-\underline{\underline{d}}\,\underline{\dot{q}}-\underline{\underline{k}}\, \underline{q}\\ \underline{F}_{c}\end{array}\displaystyle \right ]=\underline{0}, $$
(3)

where \(\underline{R}\) is the residual vector and \(\underline{F}_{c}\) is the right-hand side of the kinematic constraints in acceleration form. As index-1 differential–algebraic equations are affected by drift, Baumgarte stabilization [14] is used as described by [15].

FMBD is reviewed by [13, 1618]. Available flexible multibody formulations include the absolute nodal coordinate formulation (ANCF) [19], the absolute coordinate formulation (ACF) [20], the equivalent rigid link system (ERLS) [21, 22], geometrically exact beam formulation [23, 24] and the floating frame of reference formulation (FFRF) [25, 26]. The lattermost is used here, which is suitable for beam, shell and solid FE elements and can be used with a linear-elastic material model as well as with geometric or material nonlinearities [13, 27].

In the following derivation of the equations of motion for FFRF, the index of each body is omitted for a simpler notation. The equations are shown for the general three-dimensional case. The generalized positions in terms of FFRF are paramterized by the position \(\underline{r}\) and orientation \(\underline{\beta }\) of the reference frame and flexible deformations in local coordinates \(\overline{\underline{q}}_{f}\), see Fig. 2,

$$ \underline{q}=\left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} \underline{r}^{T} & \underline{\beta }^{T} & \overline{\underline{q}}_{f}^{\mathsf{T}}\end{array}\displaystyle \right ]^{\mathsf{T}}. $$
(4)

The continuous position of a material point \(P\) on a flexible body can be seen in Fig. 2 and is described in global coordinates as

$$ \underline{r}_{P}=\underline{r}+\underline{\underline{A}}\,\overline{\underline{u}}_{P}=\underline{r}+\underline{\underline{A}}\left ( \overline{\underline{u}}_{P,o}+\overline{\underline{u}}_{P,f}\right ), $$
(5)

with the transformation matrix \(\underline{\underline{A}}\) and the local position vector \(\overline{\underline{u}}_{P}\) that is decomposed by the undeformed term \(\overline{\underline{u}}_{P,o}\) and the deformed term \(\overline{\underline{u}}_{P,f}\).

Fig. 2
figure 2

Floating frame of reference formulation (FFRF) for a two-dimensional beam with the global reference frame in blue, the body reference frame in red, the undeformed beam in gray and the deformed beam in black. (Color figure online)

In this implementation, FFRF is used in combination with finite-element analysis. Each flexible body is discretized and the flexible deformations in local coordinates are given by

$$ \overline{\underline{u}}_{P,f}=\overline{\underline{\underline{S}}}\,\overline{\underline{q}}_{f}, $$
(6)

with the matrix of shape functions \(\overline{\underline{\underline{S}}}\) expressed in floating coordinates and the nodal deformations \(\overline{\underline{q}}_{f}\) of the finite-element mesh.

A linear-elastic material model is used, which leads to a FFRF stiffness matrix \(\underline{\underline{k}}\) that is linear,

$$ \underline{\underline{k}}=\left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} \underline{\underline{0}} & \underline{\underline{0}} & \underline{\underline{0}} \\ \underline{\underline{0}} & \underline{\underline{0}} & \underline{\underline{0}} \\ \underline{\underline{0}} & \underline{\underline{0}} & \underline{\underline{k}}{}_{ff} \end{array}\displaystyle \right ], $$
(7)

with the finite-element stiffness matrix \(\underline{\underline{k}}{}_{ff}\). In contrast, the FFRF mass matrix \(\underline{\underline{m}}\) is highly nonlinear and defined by

$$\begin{aligned} \underline{\underline{m}} & =\left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} \underline{\underline{m}}{}_{tt} & \underline{\underline{m}}{}_{tr} & \underline{\underline{m}}{}_{tf} \\ & \underline{\underline{m}}{}_{rr} & \underline{\underline{m}}{}_{rf} \\ \text{sym.} & & \underline{\underline{m}}{}_{ff} \end{array}\displaystyle \right ], \end{aligned}$$
(8)
$$\begin{aligned} & =\int _{V}\rho \left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} \underline{\underline{e}}& \underline{\underline{B}}& \underline{\underline{A}}\,\overline{\underline{\underline{S}}} \\ \vphantom{\overline{\underline{\underline{S}}}^{\mathsf{T}^{\mathsf{T}}}} & \underline{\underline{B}}^{\mathsf{T}}\underline{\underline{B}}& \underline{\underline{B}}^{\mathsf{T}}\underline{\underline{A}}\, \overline{\underline{\underline{S}}} \\ \text{sym.} & \vphantom{\overline{\underline{\underline{S}}}^{\mathsf{T}^{\mathsf{T}}}} & \overline{\underline{\underline{S}}}^{\mathsf{T}}\overline{\underline{\underline{S}}} \end{array}\displaystyle \right ]\mathrm{d}V, \end{aligned}$$
(9)

with the volume \(V\), the density \(\rho \), the identity matrix \(\underline{\underline{e}}\) and the matrix \(\underline{\underline{B}}\). It should be noted that in the system matrices of FFRF, \(t\) denotes the translatory degrees of freedom of the body frame, \(r\) the rotational degrees of freedom of the body frame and \(f\) the flexible degrees of freedom. Accordingly, the index \(ff\) represents the system matrices from the finite-element model. The matrix \(\underline{\underline{B}}\) is defined by

$$ \underline{\underline{B}}=-\underline{\underline{A}}\,\tilde{\underline{\overline{\underline{u}}}}{}_{P} \overline{\underline{\underline{G}}}, $$
(10)

where \(\tilde{\underline{\overline{\underline{u}}}}{}_{P}\) is the skew-symmetric matrix of positions in local coordinates and the matrix \(\overline{\underline{\underline{G}}}\) relates the angular velocity vector of the floating frame \(\overline{\underline{\omega}}\) and the time derivatives of the orientation parameters \(\dot{\underline{\beta }}\),

$$ \overline{\underline{\omega}}=\overline{\underline{\underline{G}}}\,\dot{\underline{\beta }}. $$
(11)

The quadratic velocity vector is highly nonlinear and defined by

$$ {\underline{F}_{v}} =\left [ \textstyle\begin{array}{c} {\underline{F}_{v}}_{,t} \\ {\underline{F}_{v}}_{,r} \\ {\underline{F}_{v}}_{,f} \end{array}\displaystyle \right ]=\int _{V}\rho \left [ \textstyle\begin{array}{c} -\underline{\underline{A}}\left (\tilde{\underline{\overline{\underline{\omega}}}}^{2}\, \overline{\underline{u}}_{P}+2\:\tilde{\underline{\overline{\underline{\omega}}}}\, \overline{\underline{\underline{S}}}\,\dot{\overline{\underline{q}}}_{f}- \tilde{\underline{\overline{\underline{u}}}}_{P}\,\dot{\overline{\underline{\underline{G}}}}\, \dot{\underline{\beta }}\right ) \\ \overline{\underline{\underline{G}}}^{\mathsf{T}}\tilde{\underline{\overline{\underline{u}}}}_{P}^{\mathsf{T}}\left ( \tilde{\underline{\overline{\underline{\omega}}}}^{2}\,\overline{\underline{u}}_{P}+2\: \tilde{\underline{\overline{\underline{\omega}}}}\,\overline{\underline{\underline{S}}}\, \dot{\overline{\underline{q}}}_{f}-\tilde{\underline{\overline{\underline{u}}}}{}_{P} \dot{\overline{\underline{\underline{G}}}}\,\dot{\underline{\beta }}\right ) \\ -\overline{\underline{\underline{S}}}^{\mathsf{T}}\left ( \tilde{\underline{\overline{\underline{\omega}}}}^{2}\,\overline{\underline{u}}_{P}+2\: \tilde{\underline{\overline{\underline{\omega}}}}\,\overline{\underline{\underline{S}}}\, \dot{\overline{\underline{q}}}_{f}-\tilde{\underline{\overline{\underline{u}}}}{}_{P} \dot{\overline{\underline{\underline{G}}}}\,\dot{\underline{\beta }}\right ) \end{array}\displaystyle \right ]\mathrm{d}V. $$
(12)

In FFRF, the external forces are assembled in a vector as

$$ \underline{F}_{\text{ext}}=\left [ \textstyle\begin{array}{c} \underline{\underline{e}}\\ {\underline{\underline{B}}}^{\mathsf{T}} \\ {\overline{\underline{\underline{S}}}}^{\mathsf{T}}{\underline{\underline{A}}}^{\mathsf{T}} \end{array}\displaystyle \right ]\underline{F}. $$
(13)

The vectors and matrices of each body are assembled to obtain the system vectors and matrices. The governing equations are to be fulfilled and hence are solved at all time steps.

2.2 Time integration

The system of differential–algebraic equations shown in § 2 is solved in time with the generalized-\(\alpha\) time integration method originally introduced by [28] and implemented as a predictor–corrector scheme, as described in [8, 11]. Generalized-\(\alpha\) time integration is based on Newmark’s equations [29],

$$\begin{aligned} \underline{q}_{n+1} & = \underset{\text{predictor}\,\underline{q}_{\text{pred}}}{\underbrace{\underline{q}_{n}+\varDelta t\underline{\dot{q}}_{n}+\left (\frac{1}{2}-\beta \right )\varDelta t^{2}\underline{\ddot{q}}_{n}}}+ \underset{\text{corrector}}{\underbrace{\beta \varDelta t^{2}\underline{\ddot{q}}_{n+1}}}, \end{aligned}$$
(14)
$$\begin{aligned} \underline{\dot{q}}_{n+1} & = \underset{\text{predictor}\,\underline{\dot{q}}_{\text{pred}}}{\underbrace{\underline{\dot{q}}_{n}+\left (1-\gamma \right )\varDelta t\underline{\ddot{q}}_{n}}}+ \underset{\text{corrector}}{\underbrace{\gamma \varDelta t\underline{\ddot{q}}_{n+1}}}, \end{aligned}$$
(15)

with intermediate approximations of the generalized-\(\alpha\) method,

$$\begin{aligned} \underline{\underline{m}}\,\underline{\ddot{q}}= & \left (1-\alpha _{m}\right )\underline{\underline{m}}{}_{n+1} \underline{\ddot{q}}_{n+1}+\alpha _{m}\underline{\underline{m}}{}_{n}\underline{\ddot{q}}_{n}, \end{aligned}$$
(16)
$$\begin{aligned} \underline{\underline{d}}\,\underline{\dot{q}}= & \left (1-\alpha _{f}\right )\underline{\underline{d}}{}_{n+1} \underline{\dot{q}}_{n+1}+\alpha _{f}\underline{\underline{d}}{}_{n} \underline{\dot{q}}_{n}, \end{aligned}$$
(17)
$$\begin{aligned} \underline{\underline{k}}\,\underline{q}= & \left (1-\alpha _{f}\right )\underline{\underline{k}}{}_{n+1} \underline{q}_{n+1}+\alpha _{f}\underline{\underline{k}}{}_{n}\underline{q}_{n}, \end{aligned}$$
(18)
$$\begin{aligned} \underline{\underline{\mathrm{J}}}{}_{ \varPhi }^{\mathsf{T}}\,\underline{\lambda}= & \left (1-\alpha _{m}\right )\underline{\underline{\mathrm{J}}}{}_{ \varPhi ,n+1}^{\mathsf{T}}\underline{\lambda}_{n+1}+\alpha _{m} \underline{\underline{\mathrm{J}}}{}_{\varPhi ,n}^{\mathsf{T}}\underline{\lambda}_{n}, \end{aligned}$$
(19)
$$\begin{aligned} \underline{\underline{\mathrm{J}}}{}_{ \varPhi }\,\underline{\ddot{q}}= & \left (1-\alpha _{m}\right )\underline{\underline{\mathrm{J}}}{}_{ \varPhi ,n+1}\underline{\ddot{q}}_{n+1}+\alpha _{m} \underline{\underline{\mathrm{J}}}{}_{\varPhi ,n}\underline{\ddot{q}}_{n}, \end{aligned}$$
(20)
$$\begin{aligned} \underline{F}_{\text{ext}}= & \left (1-\alpha _{f}\right ) \underline{F}_{\text{ext},n+1}+\alpha _{f}\underline{F}_{\text{ext},n}, \end{aligned}$$
(21)
$$\begin{aligned} \underline{F}_{v}= & \left (1-\alpha _{f}\right )\underline{F}_{v,n+1}+ \alpha _{f}\underline{F}_{v,n}, \end{aligned}$$
(22)
$$\begin{aligned} \underline{F}_{c}= & \left (1-\alpha _{f}\right )\underline{F}_{c,n+1}+ \alpha _{f}\underline{F}_{c,n}. \end{aligned}$$
(23)

The resulting effective system of equations for FMBD is

$$ \left [ \textstyle\begin{array}{c@{\quad}c} \underline{\underline{m}}_{\text{eff}} & \underline{\underline{\mathrm{J}}}{}_{ \varPhi ,\text{eff}}^{\mathsf{T}} \\ \underline{\underline{\mathrm{J}}}{}_{\varPhi ,\text{eff}} & \underline{\underline{0}} \end{array}\displaystyle \right ]\left [ \textstyle\begin{array}{c} \underline{\ddot{q}}_{n+1} \\ \underline{\lambda}_{n+1} \end{array}\displaystyle \right ]=\left [ \textstyle\begin{array}{c} \underline{F}_{a,\text{eff}} \\ \underline{F}_{c,\text{eff}} \end{array}\displaystyle \right ], $$
(24)

where the components are defined as

$$\begin{aligned} \underline{\underline{m}}_{\text{eff}}= & \left (1-\alpha _{m}\right )\underline{\underline{m}}_{n+1}+ \left (1-\alpha _{f}\right )\gamma \varDelta t\underline{\underline{d}}_{n+1}+\left (1- \alpha _{f}\right )\beta \varDelta t^{2}\underline{\underline{k}}_{n+1}, \end{aligned}$$
(25)
$$\begin{aligned} \underline{\underline{\mathrm{J}}}{}_{\varPhi ,\text{eff}}= & \left (1- \alpha _{m}\right )\underline{\underline{\mathrm{J}}}{}_{\varPhi ,n+1}, \end{aligned}$$
(26)
$$\begin{aligned} \underline{F}_{a,\text{eff}}= & \left (1-\alpha _{f}\right ) \underline{F}_{\text{ext},n+1}+\alpha _{f}\underline{F}_{\text{ext},n}+ \\ & +\left (1-\alpha _{f}\right )\underline{F}_{v,n+1}+\alpha _{f} \underline{F}_{v,n}-\alpha _{m}\,\underline{\underline{m}}_{n}\,\underline{\ddot{q}}_{n}+ \\ & -\left (1-\alpha _{f}\right )\underline{\underline{d}}_{n+1}\underline{\dot{q}}_{ \text{pred}}-\alpha _{f}\underline{\underline{d}}_{n}\underline{\dot{q}}_{n}+ \\ & -\left (1-\alpha _{f}\right )\underline{\underline{k}}_{n+1}\underline{q}_{ \text{pred}}-\alpha _{f}\underline{\underline{k}}_{n}\underline{q}_{n}-\alpha _{m} \underline{\underline{\mathrm{J}}}{}_{\varPhi ,n}^{\mathsf{T}}\underline{\lambda}_{n}, \end{aligned}$$
(27)
$$\begin{aligned} \underline{F}_{c,\text{eff}}= & \left (1-\alpha _{f}\right ) \underline{F}_{c,n+1}+\alpha _{f}\underline{F}_{c,n}-\alpha _{m} \underline{\underline{\mathrm{J}}}{}_{\varPhi ,n} \underline{\ddot{q}}_{n}. \end{aligned}$$
(28)

The position and velocity values are updated with the solved accelerations and continue to the next time step until the termination time is reached.

2.3 Nonlinear solver

The residual equations with generalised-\(\alpha\) time integration are

$$\begin{aligned} \underline{R}_{1,n+1-\alpha _{f}}= & \left (1-\alpha _{m}\right ) \underline{\underline{m}}_{n+1}\underline{\ddot{q}}_{n+1}+\alpha _{m}\underline{\underline{m}}_{n} \underline{\ddot{q}}_{n}+ \\ & +\left (1-\alpha _{f}\right )\underline{\underline{d}}_{n+1}\underline{\dot{q}}_{n+1}+ \alpha _{f}\underline{\underline{d}}_{n}\underline{\dot{q}}_{n}+ \\ & +\left (1-\alpha _{f}\right )\underline{\underline{k}}_{n+1}\underline{q}_{n+1}+ \alpha _{f}\underline{\underline{k}}_{n}\underline{q}_{n}+ \\ & +\left (1-\alpha _{m}\right )\underline{\underline{\mathrm{J}}}{}_{ \varPhi ,n+1}^{\mathsf{T}}\underline{\lambda}_{n+1}+\alpha _{m} \underline{\underline{\mathrm{J}}}{}_{\varPhi ,n}^{\mathsf{T}}\underline{\lambda}_{n}+ \\ & -\left (1-\alpha _{f}\right )\underline{F}_{\text{ext},n+1}-\alpha _{f} \underline{F}_{\text{ext},n}+ \\ & -\left (1-\alpha _{f}\right )\underline{F}_{v,n+1}-\alpha _{f} \underline{F}_{v,n}, \end{aligned}$$
(29)
$$\begin{aligned} \underline{R}_{2,n+1-\alpha _{f}}= & \left (1-\alpha _{m}\right ) \underline{\underline{\mathrm{J}}}{}_{\varPhi ,n+1}\underline{\ddot{q}}_{n+1}+ \alpha _{m}\underline{\underline{\mathrm{J}}}{}_{\varPhi ,n} \underline{\ddot{q}}_{n}+ \\ & -\left (1-\alpha _{f}\right )\underline{F}_{c,n+1}-\alpha _{f} \underline{F}_{c,n}. \end{aligned}$$
(30)

Newton–Raphson iterations (i.e. exact Newton method) are used to consider nonlinearity of the system by solving

$$ \left [ \textstyle\begin{array}{c@{\quad}c} \underline{\underline{\ddot{\mathrm{J}}}}\,_{R} & \underline{\underline{\overset{\lambda}{\mathrm{J}}}}\,_{R}\end{array}\displaystyle \right ] \begin{bmatrix} \varDelta \underline{\ddot{q}} \\ \varDelta \underline{\lambda } \end{bmatrix} +\underline{R}=\underline{0}, $$
(31)

with the Jacobians w.r.t. acceleration \(\ddot{\mathrm{J}}\) and Lagrangian multipliers \(\overset{\lambda}{\mathrm{J}}\) giving the expressions for the Jacobians of the residual by

$$\begin{aligned} \underline{\underline{\ddot{\mathrm{J}}}}\,_{R} & = \frac{\partial \underline{R}}{\partial \underline{\ddot{q}}}, \end{aligned}$$
(32)
$$\begin{aligned} \underline{\underline{\overset{\lambda}{\mathrm{J}}}}\,_{R} & = \frac{\partial \underline{R}}{\partial \underline{\lambda}}. \end{aligned}$$
(33)

The components of the Jacobian of the residual are

$$\begin{aligned} \underline{\underline{\ddot{\mathrm{J}}}}\,_{R_{1}}= & \left (1-\alpha _{m} \right )\beta \varDelta t^{2}\,\underline{\underline{\underline{\mathrm{J}}}}{}_{ m,n+1}\,\underline{\ddot{q}}_{n+1}+\left (1-\alpha _{m}\right ) \underline{\underline{m}}_{n+1}+ \\ & +\left (1-\alpha _{f}\right )\beta \varDelta t^{2}\, \underline{\underline{\underline{\mathrm{J}}}}{}_{d,n+1}\, \underline{\dot{q}}_{n+1}+\left (1-\alpha _{f}\right )\gamma \varDelta t \underline{\underline{d}}_{n+1}+ \\ & +\left (1-\alpha _{f}\right )\beta \varDelta t^{2}\, \underline{\underline{\underline{\mathrm{J}}}}{}_{k,n+1}\,\underline{q}_{n+1}+ \left (1-\alpha _{f}\right )\beta \varDelta t^{2}\underline{\underline{k}}_{n+1}+ \\ & +\left (1-\alpha _{m}\right )\beta \varDelta t^{2}\, \underline{\underline{\underline{\mathrm{J}}}}{}_{\varPhi ,n+1}^{\mathsf{T}} \,\underline{\lambda}_{n+1}+ \\ & -\left (1-\alpha _{f}\right )\left (\beta \varDelta t^{2}\, \underline{\underline{\mathrm{J}}}{}_{F_{\text{ext}},n+1}+\gamma \varDelta t\, \underline{\underline{\dot{\mathrm{J}}}}{}_{F_{\text{ext}},n+1}\right )+ \\ & -\left (1-\alpha _{f}\right )\left (\beta \varDelta t^{2}\, \underline{\underline{\mathrm{J}}}{}_{F_{v},n+1}+\gamma \varDelta t \underline{\underline{\dot{\mathrm{J}}}}{}_{F_{v},n+1}\right ), \end{aligned}$$
(34)
$$\begin{aligned} \underline{\underline{\ddot{\mathrm{J}}}}\,_{R_{2}}= & \left (1-\alpha _{m} \right )\beta \varDelta t^{2}\, \underline{\underline{\underline{\mathrm{J}}}}{}_{\varPhi ,n+1}\, \underline{\ddot{q}}_{n+1}+\left (1-\alpha _{m}\right ) \underline{\underline{\mathrm{J}}}{}_{\varPhi ,n+1}+ \\ & -\left (1-\alpha _{f}\right )\left (\beta \varDelta t^{2}\, \underline{\underline{\mathrm{J}}}{}_{F_{c},n+1}+\gamma \varDelta t\, \underline{\underline{\dot{\mathrm{J}}}}{}_{F_{c},n+1}\right ), \end{aligned}$$
(35)
$$\begin{aligned} \underline{\underline{\overset{\lambda}{\mathrm{J}}}}\,_{R_{1}}= & \left (1- \alpha _{m}\right )\underline{\underline{\mathrm{J}}}{}_{\varPhi ,n+1}^{ \mathsf{T}}, \end{aligned}$$
(36)
$$\begin{aligned} \underline{\underline{\overset{\lambda}{\mathrm{J}}}}\,_{R_{2}}= & \underline{\underline{0}}. \end{aligned}$$
(37)

For a complete derivation of the terms above using generalized-\(\alpha\) time integration including time integration, the readers are referred to [11].

3 Design sensitivity analysis

Although referred to as design sensitivities, the sensitivities of the system responses with respect to parameters are useful in a wide range of applications. Such applications include design optimization (including sizing, shape and topology optimization), uncertainty analysis as well as the direct application of the sensitivities to assess robustness and parameter influence.

This paper investigates discrete sensitivity analysis, also referred as discretize-then-differentiate, where the differentiation w.r.t. the design variables is carried out on discretized governing equations [30]. These include temporal discretization into time steps of numerical time integration and spatial discretization into finite elements of the flexible bodies. This is in contrast to continuous sensitivity analysis, also known as the variational approach or differentiate-then-discretize, where continuum governing equations are differentiated before discretization.

To avoid the high computational effort and lack of precision of numerical sensitivity analysis, analytical methods including the direct differentiation method [13, 31] and the adjoint variable method [3234] are preferred for the sensitivity analysis of flexible multibody systems. When the number of design variables is higher than the number of optimization responses including objective and constraint functions, the adjoint variable method is generally more efficient. In the reverse case, where the number of design variables is less than the number of optimization responses, the direct differentiation method is more suitable. The direct differential method is chosen here and integrated into the primal solve routine to avoid the solving backwards in time as needed with an adjoint variable methodology (therefore often referred to the backward method). Related challenges to the adjoint variable method include the handling of time-dependent system matrices (save and reload or recalculate), especially when using variable time steps and a required special solver for the adjoint system.

The design sensitivity analysis is performed here with direct differentiation using a semi-analytical approach. The differentiation is carried out through all three steps of the calculation routine: the governing equation, the sensitivity analysis and the nonlinear solver (cf. Fig. 1). The introduced method is similar to the staggered corrector method introduced by [35] with the backward difference formula. This method originates from the staggered direct scheme, where an iteration loop of the primal analysis is followed by the iteration loop of the sensitivities for each time step [36]. Efficiency improvements compared to the staggered direct scheme have been obtained by the simultaneous corrector scheme, where primal and sensitivity analysis are solved simultaneously with one iteration loop [37]. With the staggered corrector method as used here, further efficiency improvements are obtained using two sequential iteration loops for primal and sensitivity analysis and by reducing the updates of the residual Jacobians [35].

3.1 Governing equation

The direct differentiation of the governing equations of the primal analysis (3) results in turn with the governing equations for the sensitivity analysis,

$$ \underline{\underline{\nabla R}}=\left [ \textstyle\begin{array}{c@{\quad}c} \underline{\underline{m}}& \underline{\underline{\mathrm{J}}}{}_{\varPhi }^{\mathsf{T}} \\ \underline{\underline{\mathrm{J}}}{}_{\varPhi }& \underline{\underline{0}} \end{array}\displaystyle \right ]\left [ \textstyle\begin{array}{c} \underline{\underline{\nabla \ddot{q}}} \\ \underline{\underline{\nabla \lambda}} \end{array}\displaystyle \right ]-\underline{\underline{F}}{}_{\text{pseudo}}, $$
(38)

where \(\nabla \) is the partial derivative with respect to the design variables,

$$ \underline{\nabla f}=\frac{\partial f}{\partial \underline{x}}. $$
(39)

It should be noted that (38) is of the same form as (3) and accordingly the same solving routine can be used. The pseudo load \(\underline{\underline{F}}{}_{\text{pseudo}}\) is comprised of the partial derivatives of the system parameters with respect to the design variables,

$$ \underline{\underline{F}}{}_{\text{pseudo}}= \begin{bmatrix} \underline{\underline{\nabla F}}{}_{\text{ext}}+ \underline{\underline{\nabla F}}{}_{v}- \underline{\underline{\underline{\nabla m}}}\,\underline{\ddot{q}}- \underline{\underline{\underline{\nabla d}}}\,\underline{\dot{q}}-\underline{\underline{d}}\, \underline{\underline{\nabla \dot{q}}}- \underline{\underline{\underline{\nabla k}}}\,\underline{q}-\underline{\underline{k}}\,\underline{\underline{\nabla q}}- \underline{\underline{\underline{\nabla \mathrm{J}}}}{}_{ \varPhi }^{\mathsf{T}}\, \underline{\lambda}\\ \underline{\underline{\nabla F}}{}_{c}- \underline{\underline{\underline{\nabla \mathrm{J}}}}{}_{ \varPhi }\, \underline{\lambda}\end{bmatrix} . $$
(40)

This method is shown in [9], where the partial derivatives of (40) are approximated numerically with forward differencing,

$$ \frac{\partial f}{\partial x_{i}}\approx \frac{f\left (\underline{x}+\varDelta x_{i}\right )-f\left (\underline{x}\right )}{\varDelta x_{i}}. $$
(41)

This thus results in a semi-analytical approach, where the governing equations are derived analytically, but the partial derivatives of these equations are computed numerically. In contrast, the partial derivatives of those parameters dependent on the finite-element model \(\underline{\underline{m}}\), \(\underline{\underline{k}}\) and \(\underline{F}_{v}\) are differentiated analytically by a further layer based on an invariant approach, see [10]. This is done to avoid loading the finite-element model at each time step and leads to a further decrease in computation effort compared to the method shown in [9].

3.2 Time integration

The sensitivity analysis with time integration is analogous to the time integration of the primal analysis. For the generalised-\(\alpha\) method, we utilize a predictor–corrector scheme with Newmark’s equations and intermediate approximations [8, 11]. The resulting effective sensitivity system is

$$ \left [ \textstyle\begin{array}{c@{\quad}c} \underline{\underline{m}}_{\text{eff}} & \underline{\underline{\mathrm{J}}}{}_{ \varPhi ,\text{eff}}^{\mathsf{T}} \\ \underline{\underline{\mathrm{J}}}{}_{\varPhi ,\text{eff}} & \underline{\underline{0}} \end{array}\displaystyle \right ]\left [ \textstyle\begin{array}{c} \underline{\underline{\nabla \ddot{q}}}_{n+1} \\ \underline{\underline{\nabla \lambda}}_{n+1} \end{array}\displaystyle \right ]=\left [ \textstyle\begin{array}{c} \underline{\underline{F}}_{a,\text{pseudo}} \\ \underline{\underline{F}}_{c,\text{pseudo}} \end{array}\displaystyle \right ], $$
(42)

where the pseudo load case is

$$\begin{aligned} \underline{\underline{F}}_{a,\text{pseudo}}= & \left (1-\alpha _{f} \right )\underline{\underline{\nabla F}}_{\text{ext},n+1}+\alpha _{f} \underline{\underline{\nabla F}}_{\text{ext},n}+\left (1-\alpha _{f} \right )\underline{\underline{\nabla F}}_{v,n+1}+\alpha _{f} \underline{\underline{\nabla F}}_{v,n}+ \\ & -\left (1-\alpha _{m}\right ) \underline{\underline{\underline{\nabla m}}}_{n+1} \underline{\ddot{q}}_{n+1}-\alpha _{m} \underline{\underline{\underline{\nabla m}}}_{n}\underline{\ddot{q}}_{n}- \alpha _{m}\underline{\underline{m}}_{n} \underline{\underline{\nabla \ddot{q}}}_{n}+ \\ & -\left (1-\alpha _{f}\right ) \underline{\underline{\underline{\nabla d}}}_{n+1}\underline{\dot{q}}_{n+1}- \alpha _{f}\underline{\underline{\underline{\nabla d}}}_{n} \underline{\dot{q}}_{n}-\left (1-\alpha _{f}\right )\underline{\underline{d}}_{n+1} \underline{\underline{\nabla \dot{q}}}_{\text{pred}}-\alpha _{f} \underline{\underline{d}}_{n}\underline{\underline{\nabla \dot{q}}}_{n}+ \\ & -\left (1-\alpha _{f}\right ) \underline{\underline{\underline{\nabla k}}}_{n+1}\underline{q}_{n+1}- \alpha _{f}\underline{\underline{\underline{\nabla k}}}_{n} \underline{q}_{n}-\left (1-\alpha _{f}\right )\underline{\underline{k}}_{n+1} \underline{\underline{\nabla q}}_{\text{pred}}-\alpha _{f}\underline{\underline{k}}_{n} \underline{\underline{\nabla q}}_{n}+ \\ & -\left (1-\alpha _{m}\right ) \underline{\underline{\underline{\nabla \mathrm{J}}}}{}_{\varPhi ,n+1}^{ \mathsf{T}}\underline{\lambda}_{n+1}-\alpha _{m} \underline{\underline{\underline{\nabla \mathrm{J}}}}{}_{\varPhi ,n}^{ \mathsf{T}}\underline{\lambda}_{n}-\alpha _{m}\underline{\underline{\mathrm{J}}}{}_{ \varPhi ,n}^{\mathsf{T}}\underline{\underline{\nabla \lambda }}_{n}, \end{aligned}$$
(43)
$$\begin{aligned} \underline{\underline{F}}_{c,\text{pseudo}}= & \left (1-\alpha _{f} \right )\underline{\underline{\nabla F}}_{c,n+1}+\alpha _{f} \underline{\underline{\nabla F}}_{c,n}+ \\ & -\left (1-\alpha _{m}\right ) \underline{\underline{\underline{\nabla \mathrm{J}}}}{}_{\varPhi ,n+1} \underline{\ddot{q}}_{n+1}-\alpha _{m} \underline{\underline{\underline{\nabla \mathrm{J}}}}{}_{\varPhi ,n} \underline{\ddot{q}}_{n}-\alpha _{m} \underline{\underline{\mathrm{J}}}{}_{\varPhi ,n} \underline{\underline{\nabla \ddot{q}}}_{n}. \end{aligned}$$
(44)

The sensitivity values of position and velocity are carried out from the sensitivity values of acceleration analogously to the primal analysis.

3.3 Nonlinear solver

The Jacobian matrix of the sensitivity analysis simplifies to the Jacobian matrix of the primal analysis [8, 11], allowing to reuse the already computed Jacobian of the primal analysis for an efficient computation method of the sensitivity analysis,

$$ \underset{:=\left [\textstyle\begin{array}{c@{\quad}c} \underline{\underline{\ddot{\mathrm{J}}}}\,_{R} & \underline{\underline{\overset{\lambda}{\mathrm{J}}}}\,_{R}\end{array}\displaystyle \right ],}{\underbrace{\left [\textstyle\begin{array}{c@{\quad}c} \underline{\underline{\underline{\underline{\nabla \ddot{\mathrm{J}}}}}}{}_{\nabla R} & \underline{\underline{\underline{\underline{\nabla \overset{\lambda}{\mathrm{J}}}}}}{}_{\nabla R}\end{array}\displaystyle \right ]}} \begin{bmatrix} \varDelta \underline{\underline{\nabla \ddot{q}}} \\ \varDelta \underline{\underline{\nabla \lambda }} \end{bmatrix} +\underline{\underline{\nabla R}}=\underline{\underline{0}}, $$
(45)

with the Jacobian with respect to acceleration sensitivity \(\nabla \ddot{\mathrm{J}}\) and with respect to the Lagrangian multipliers sensitivity \(\nabla \overset{\lambda}{\mathrm{J}}\). With this simplification, the Jacobian of the sensitivity analysis is reduced from four dimensions to two. This saves excessive memory usage and thus represents the key to efficient sensitivity analysis of multibody systems with direct differentiation.

4 Morphing wing model

In this work, the developed method is applied to the design of a morphing wing concept developed in [2, 3, 38, 39]. Specifically, the geometry of the morphing wing sailplane for both undeformed (high-speed) and morphed (low-speed) configurations is introduced in [2, 40]. The airfoil shapes are designed using a numerical optimization approach where aerodynamic lift and drag are considered [2, 40]. The geometries of the airfoils along with the aircraft for which they were designed are shown in Fig. 3. A morphing concept shows a significant performance advantage over conventional sailplanes with a camber changing flap: 20% higher lift coefficients are achieved at equal drag coefficients compared to conventional camber changing trailing edge flap laminar airfoils, thus allowing to reduce the wing area and decrease profile drag by the same ratio. This results in \(20~\frac{\text{km}}{\text{h}}\) higher interthermal dash speed.

Fig. 3
figure 3

The sailplane demonstration example with a morphing wing with airfoil shapes for high-speed and low-speed configurations. (Color figure online)

In [5], the morphing actuation of this concept is achieved using compliant mechanisms designed with topology optimization. This concept uses a stack of six individual compliant mechanisms and is shown in Fig. 4. In contrast to a compliant concept, we will address a traditional hinged mechanism to drive the deformation of the wing in this work.

Fig. 4
figure 4

Compliant morphing wing demonstrator based on topology optimization results, showing both undeformed (high-speed) and morphed (low-speed) configuration [5]

The forward wing section is modeled as flexible multibody system using FFRF. Figure 5a shows the planar system actuated with a conventional hinged mechanism and the two-dimensional case here is the simplification of the three-dimensional case shown in § 2. The flexible outer shell (body 1), i.e. wing skin, is modeled as flexible body using planar Euler–Bernoulli beams with a FE mesh consisting of 31 nodes and 30 elements. For this system, a wing section with the length of 1000 mm and a wall thickness of 1.5 mm is considered. On the upper end of the forward wing section (point \(\mathrm{F}\)), the wing skin is fully constrained in all three degrees of freedom, i.e. \(x\), \(y\) and \(\theta \). On the lower end of the forward wing section (point \(\mathrm{G}\)), the wing skin is constrained in two degrees of freedom \(y\) and \(\theta \), allowing for free motion in \(x\).

Fig. 5
figure 5

Flexible multibody system of the morphing forward wing section. (Color figure online)

The morphing forward wing section is actuated by a hinged mechanism consisting of four rigid bodies 2, 3, 4 and 5. The motion of these bodies is constrained by six joints including five revolute joints in the points \(\mathrm{A}\), \(\mathrm{B}\), \(\mathrm{C}\), \(\mathrm{D}\) and \(\mathrm{E}\) and one rigid joint between the bodies 2 and 4 in the point \(\mathrm{B}\). For actuation, a torque is applied to body 2 on point \(\mathrm{A}\). The torque value is zero at the initial time and increases with the curve in Fig. 6 to a maximum value of \(4.2~\text{N}\cdot \text{m}\).

Fig. 6
figure 6

Driving moment applied to body 2 at point A

A generic aluminum alloy is used with a density \(\rho \) of \(2.7\times 10^{-9}~\text{t}/{\text{mm}^{3}}\), a Young modulus \(E\) of 70 000 MPa and a Poisson ratio \(\nu \) of \(0.35~{\left [-\right ]}\). The material is assumed to be isotropic and to remain in the linear elastic regime.

The transient solution of the flexible multibody system is obtained with generalised-\(\alpha\) time integration and Newton–Raphson iterations as nonlinear solver. The system is solved at each time step \(\varDelta t=0.05~\text{s}\). The deformation of the external wing skin and the motion of the rigid bodies of the multibody system from the low-lift (high-speed, undeformed) configuration to the high-lift (low-speed, morphed) configuration is shown in Fig. 5b.

The key for a proper design of the morphing forward wing section is the interaction between the actuation mechanism and the flexible external wing skin. Firstly, it is important that the deformation of the morphed forward wing section approximates the target wing profile as closely as possible. Secondly, the material limits of the wing skin must not be exceeded. Flexible multibody dynamics is applied to the morphing forward wing section to assess both morphed shape as well as the stresses. Figure 7 shows the stress distribution caused by tension or compression and bending in the wing skin during the motion of the mechanism from the low-lift (high-speed, undeformed) configuration to the high-lift (low-speed, morphed) configuration. The stress values increase during the motion and the highest values are found in morphed configuration close to the constraints of the wing skin (points \(\mathrm{F}\) and \(\mathrm{G}\)).

Fig. 7
figure 7

Stress \(\sigma~[\text{MPa}]\) during the motion of the mechanism. (Color figure online)

The design is limited by the maximum stress of all elements and all time steps. To achieve this with a continuous, differentiable function, we approximate the maximum value via constraint aggregation (also called constraint lumping) with the Kreisselmeier–Steinhauser function \(\mathcal{F}_{\mathrm{KS}}\) [41],

$$\begin{aligned} \max \left \{ \underline{f}\right \} & \approx \mathcal{F}_{\mathrm{KS}} \left (\underline{f}\right ). \end{aligned}$$
(46)

The modified Kreisselmeier–Steinhauser function is used here to avoid numerical overflow and is defined by [42],

$$ \mathcal{F}_{\mathrm{KS}}\left (\underline{f}\right )=f_{\max}+ \frac{1}{\rho}\ln \left (\sum _{i=1}^{n_{f}}e^{\rho \left (f_{i}-f_{ \max}\right )}\right ), $$
(47)

where \(n_{f}\) is the number of function values and \(\rho \) is the aggregation parameter (also referred to as penalty), for which a value of 200 is used here.

Specifically in this case, we approximate the maximum stress by

$$ \sigma _{\text{max}}\approx \mathcal{F}_{\mathrm{KS}}\left (\sigma ^{i,j} \right ),\quad i=1,\ldots ,n_{t},\,j=1,\ldots ,n_{e}, $$
(48)

with the stress \(\sigma \), the number of time steps \(n_{t}\) and the number of elements \(n_{e}\). Table 1 shows a comparison of the primal analysis of the design described above, where the maximum stress is given by 111.586975 MPa. When using a small value for the aggregation parameter, there is a small error between the true maximum stress and the approximated value. Increasing the value of the aggregation parameter, the error reduces and with large aggregation parameters with \(\rho \geq 50\), the approximated value is exactly the true maximum stress and no relative error can be detected.

Table 1 Comparison of Kreisselmeier–Steinhauser approximations

The undeformed high-speed configuration, the target morphed low-speed configuration and the achieved deformation is seen in Fig. 8a. The error between the target morphed geometry and the deformation field achieved is calculated for each node. For the \(k\)th node, the distance between the simulated node position and the target profile in morphed configuration is

$$ \epsilon _{k}=\sqrt{\left (x_{k,\mathrm{sim}}-x_{k,\mathrm{tar}} \right )^{2}+\left (y_{k,\mathrm{sim}}-y_{k,\mathrm{tar}}\right )^{2}}, \quad k=1,\ldots ,n_{N}, $$
(49)

where \(x_{k,\mathrm{sim}}\) and \(y_{k,\mathrm{sim}}\) are the simulated node coordinates, \(x_{k,\mathrm{tar}}\) and \(y_{k,\mathrm{tar}}\) are the target node coordinates and \(n_{N}\) is the number of nodes. Figure 8b shows the error between the simulated profile and the target profile in morphed configuration. The largest error is 1.185 mm and is located at approximated the front quarter point on the lower side of the wing profile.

Fig. 8
figure 8

Shape of the external wing profile. (Color figure online)

We quantify the deviation of the achieved deformation from the target shape via root-mean-square error,

$$ \epsilon _{\text{rms}}=\sqrt{\frac{1}{n_{N}}\sum _{k=1}^{n_{N}} \epsilon _{k}^{2}}, $$
(50)

which is given by 0.6348 mm for the given design. The deviations from the target wing profile with a maximum value of 1.124 mm and a root-mean-square error of 0.6225 mm are deemed to be acceptable accuracy, considering the chord length of 550 mm, the wing height of 67.5 mm and the chord length of the forward wing section of 137.5 mm. As the shape of the wing profile is crucial for the aerodynamics and therefore the performance of sailplanes, it is desired to minimise the deviations.

The design variables for this investigation include the thickness of the external wing skin \(t_{w}\), the torque value applied to actuate the mechanism \(M_{t}\), the coordinates \(x_{A}\) and \(y_{A}\) of the torque application point \(\mathrm{A}\) and the Young’s modulus \(E\). The method shown in § 3 is applied to compute the sensitivity values and the chain rule is applied to all operations.

Figure 9 shows the design sensitivities of the stress during the motion of the flexible multibody system.Footnote 1 During the motion, the highest design sensitivities for all design variables are found at the end of the simulation in morphed configuration. The location of the highest values on the wing profile for the sensitivities with respect to the \(x\)-coordinate \(x_{A}\) of the torque application point are found on the tip of the wing profile and at the revolute joint in point \(\mathrm{C,}\) where the actuation mechanism is coupled to the external wing skin, while for all other design variables the location of the highest sensitivity values is close to the constraints of the external wing skin (points \(\mathrm{F}\) and \(\mathrm{G}\)). While the maximum stress values in the primal analysis are found on the lower constraint (point \(\mathrm{G}\)), the highest stress sensitivity values in the sensitivity analysis are found on the upper constraint (point \(\mathrm{F}\)). Comparing the Figs. 7 and 9 shows that a reduction of the stress \(\sigma \) can be obtained by increasing the thickness of the external wing skin \(t_{w}\), the \(x\)-coordinate \(x_{A}\) of the torque application point and the Young’s modulus \(E\) or by reducing the actuation torque \(M_{t}\) and the \(y\)-coordinate \(y_{A}\) of the torque application point.

Fig. 9
figure 9

Design sensitivities of the equivalent stress \(\sigma \). (Color figure online)

Figure 9 shows the design sensitivities of the error between the simulated profile and the target profile in morphed configuration. Thereby stands out that especially in the nose of the forward wing section, the sign of the design sensitivities on the lower side is opposite to the sign of the design sensitivities on the upper side. The comparison of the error values on Fig. 8b with the error sensitivities on Fig. 10 shows how the design variables should be modified for reducing the error. The maximum values of the geometric deviation between the simulated profile and the target profile are found on the lower side of the forward wing section and a reduction of the error is therefore obtained by increasing the thickness of the external wing skin \(t_{w}\), the \(x\)-coordinate \(x_{A}\) of the torque application point and the Young’s modulus \(E\) or by reducing the actuation torque \(M_{t}\) and the \(y\)-coordinate \(y_{A}\) of the torque application point.

Fig. 10
figure 10

Design sensitivities of the error \(\varepsilon \) in morphed configuration. (Color figure online)

Table 2 gives the results of the sensitivity analysis of the maximum stress and the root-mean-square error. The differentiation of the Kreisselmeier–Steinhauser function is defined by

$$ \underline{\nabla \mathcal{F}}_{\mathrm{KS}}\left (\underline{f}\right )= \frac{e^{\rho \left (\underline{f}-f_{\max}\right )}}{\sum _{i=1}^{n_{f}}e^{\rho \left (f_{i}-f_{\max}\right )}} \underline{\underline{\nabla f}}, $$
(51)

where the function of interest \(f\) is the stress \(\sigma \). The direct differentiation of the error is

$$ \underline{\nabla \epsilon}_{k}= \frac{\left (x_{k,\mathrm{sim}}-x_{k,\mathrm{tar}}\right )\underline{\nabla x}_{k,\mathrm{sim}}+\left (y_{k,\mathrm{sim}}-y_{k,\mathrm{tar}}\right )\underline{\nabla y}_{k,\mathrm{sim}}}{\sqrt{\left (x_{k,\mathrm{sim}}-x_{k,\mathrm{tar}}\right )^{2}+\left (y_{k,\mathrm{sim}}-y_{k,\mathrm{tar}}\right )^{2}}}, $$
(52)

and the direct differentiation of the root-mean-square error is

$$ \underline{\nabla \epsilon}_{\text{rms}}= \frac{\sum _{k=1}^{n_{N}}\epsilon _{k}\underline{\nabla \epsilon}_{k}}{n_{N}\sqrt{\frac{1}{n_{N}}\sum _{k=1}^{n_{N}}\epsilon _{k}^{2}}}. $$
(53)

It can be seen that Eq. (53) is infinity when the error at one point is exactly zero. Where this can have adverse effects, e.g. gradient-based optimization, mean square error, which does not have this issue, should be used.

Table 2 Design sensitivities from semi-analytical calculation and relative difference between semi-analytical and numerical methods of the maximum stress \(\sigma _{\max}\) and the root-mean-square error \(\epsilon _{\text{rms}}\)

The results in Table 2 show consistency with the results in Fig. 9 and Fig. 10. For the maximum stress, the highest value is found on the constraint at the lower end of the forward wing section (point \(\mathrm{G}\)). The design sensitivities of Fig. 9 in this location correspond exactly to the approximated Kreisselmeier–Steinhauser sensitivities reported in Table 2. In the computation of the root-mean-square error, all nodes are considered by the function and therefore it is not possible to perform a similar comparison. However, the order of magnitude of the values from Fig. 10 and Table 2 is the same.

The introduced semi-analytical method for the sensitivity analysis of flexible multibody dynamics is validated with a numerical sensitivity analysis with forward differences using a relative perturbation equal to \(10^{-6}\times \) the value of the design variable itself. The values coincide with the relative difference shown in Table 2.

Table 3 shows a comparison of the computational effort of both methods.Footnote 2 This comparison highlights the high computational efficiency of the introduced semi-analytical sensitivity method w.r.t. finite differencing. With numerical sensitivity analysis, the computational effort of the numerical sensitivity analysis is given by the sum of \(n_{\mathsf{x}}+1\) primal evaluations with a mean computation time of 62 s. With the semi-analytical sensitivity analysis, the primal analysis and the sensitivity analysis result in computational effort that is less than twice (\(1.403\times \)) the computational effort of one primal evaluation. The high efficiency of the semi-analytical method compared to the numerical method is already seen with the five design variables used here. This difference becomes even more evident for increasing numbers of design variables. The main reasons for the speed-up are the decoupling of the sensitivity analysis from the FE model explained in § 3.1 and the simplification shown in § 3.3 that allows to reuse the two-dimensional Jacobian of the primal analysis in the sensitivity analysis.

Table 3 Computational effort of primal analysis, semi-analytical sensitivity analysis and numerical sensitivity analysis

5 Conclusion

The present work introduces an efficient method for the computation of design sensitivities of flexible multibody dynamics using floating frame of reference formulation with a semi-analytical direct differentiation approach with generalized-\(\alpha\) time integration and Newton–Raphson iterations for a morphing wing concept. This concept for a morphing forward wing section in combination with a trailing flap for low-lift (high-speed) and high-lift (low-speed) configurations increases the performance in the wide speed range of high-performance sailplanes.

The morphing forward wing section is modeled with flexible elements for the external wing skin and rigid bodies for the actuation mechanism. As system responses, the error between the simulated forward wing profile and the target profile in morphed configuration and the stress values in the wing skin are investigated. The maximum stress is considered as material limit and knockdown factor, though the consideration of the fatigue (including sensitivities) would be of great practical use in future work. Special interest is devoted to the design sensitivities of the system responses.

A semi-analytical sensitivity approach is implemented for its computational efficiency and accuracy. A direct differentiation is chosen to avoid the reverse time integration needed for an adjoint variable methodology. That said, the adjoint variable method exhibits great computational effort advantages with high numbers of design variables, e.g. in topology optimization, and further investigation and comparison in the regard is warranted.

The high efficiency of the method is guaranteed by the reuse of the primal Jacobian for the sensitivity analysis and the decoupling of the sensitivity analysis from the FE model by the analytical differentiation of the system parameters w.r.t. the design variables to a further layer with an invariant-based approach. The design sensitivities calculated include those with respect to geometric properties, material properties and the position and value of the actuator load.

The present study is an integral part of a design optimization framework to optimally design a morphing wing and its actuation mechanism, which is being developed. In this context, the shown sensitivity analysis is the basis for efficient design optimization and uncertainty analysis specifically of the morphing wing and its actuation mechanism and flexible multibody dynamics in general.