Skip to main content
Log in

Stabilized index-2 co-simulation approach for solver coupling with algebraic constraints

  • Published:
Multibody System Dynamics Aims and scope Submit manuscript

Abstract

In the paper at hand, a co-simulation method on index-2 level is presented and analyzed. To explain the method, we consider two arbitrary mechanical subsystems, which are coupled by algebraic constraint equations, i.e., by means of ideal rigid joints. It is assumed that each subsystem has its own solver, integrating independently from the other subsystem solver. Both solvers are coupled by a weak coupling approach.

The initial point of the method investigated here is a formulation of the coupled problem on the basis of the stabilized index-2 formulation, which takes simultaneously into account the constraint equations on position level and—by introducing additional Lagrange multipliers—also the constraint equations on velocity level. The presented co-simulation method is based on a predictor/corrector approach. The Jacobian matrix for calculating corrected coupling variables can in a straightforward manner be calculated numerically and in parallel with the predictor step so that almost no additional computation time is required. For the corrector step, the macro-time step has to be repeated once. Therefore, the subsystem solvers have to be reinitialized at the previous macro-time point. This is the only elementary requirement on the subsystem solvers.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13

Similar content being viewed by others

References

  1. Ambrosio, J., Pombo, J., Rauter, F., Pereira, M.: A memory based communication in the co-simulation of multibody and finite element codes for pantograph-catenary interaction simulation. In: Bottasso, C.L. (ed.) Multibody Dynamics: Computational Methods and Applications, pp. 231–252. Springer, Berlin (2009)

    Google Scholar 

  2. Ambrosio, J., Pombo, J., Pereira, M., Antunes, P., Mosca, A.: A computational procedure for the dynamic analysis of the catenary-pantograph interaction in high-speed trains. J. Theor. Appl. Mech. 50(3), 681–699 (2012), Warsaw

    Google Scholar 

  3. Arnold, M.: Numerical methods for simulation in applied dynamics. In: Arnold, M., Schiehlen, W. (eds.) Simulation Techniques for Applied Dynamics. Springer, Berlin (2009)

    Chapter  Google Scholar 

  4. Arnold, M.: Stability of sequential modular time integration methods for coupled multibody system models. J. Comput. Nonlinear Dyn. 5, 1–9 (2010)

    Article  Google Scholar 

  5. Arnold, M., Burgermeister, B., Führer, C., Hippmann, G., Rill, G.: Numerical methods in vehicle system dynamics: state of the art and current developments. Veh. Syst. Dyn. 49(7), 1159–1207 (2011)

    Article  Google Scholar 

  6. Busch, M., Schweizer, B.: Coupled simulation of multibody and finite element systems: an efficient and robust semi-implicit coupling approach. Arch. Appl. Mech. 82(6), 723–741 (2012)

    Article  MATH  Google Scholar 

  7. Busch, M., Schweizer, B.: Numerical stability and accuracy of different co-simulation techniques: analytical investigations based on a 2-DOF test model. In: Proceedings of the 1st Joint International Conference on Multibody System Dynamics, IMSD 2010, 25–27 May, Lappeenranta, Finland (2010)

    Google Scholar 

  8. Busch, M., Schweizer, B.: An explicit approach for controlling the macro-step size of co-simulation methods. In: Proceedings of the 7th European Nonlinear Dynamics, ENOC 2011, 24–29 July, Rome, Italy (2011)

    Google Scholar 

  9. Carstens, V., Kemme, R., Schmitt, S.: Coupled simulation of flow-structure interaction in turbomachinery. Aerosp. Sci. Technol. 7, 298–306 (2003)

    Article  MATH  Google Scholar 

  10. Cuadrado, J., Cardenal, J., Morer, P., Bayo, E.: Intelligent simulation of multibody dynamics: space-state and descriptor methods in sequential and parallel computing environments. Multibody Syst. Dyn. 4, 55–73 (2000)

    Article  MATH  Google Scholar 

  11. Datar, M., Stanciulescu, I., Negrut, D.: A co-simulation framework for full vehicle analysis. In: Proceedings of the SAE 2011 World Congress, SAE Technical Paper 2011-01-0516, 12–14 April, Detroit, Michigan, USA (2011)

    Google Scholar 

  12. Datar, M., Stanciulescu, I., Negrut, D.: A co-simulation environment for high-fidelity virtual prototyping of vehicle systems. Int. J. Veh. Syst. Model. Test. 7, 54–72 (2012)

    Article  Google Scholar 

  13. Dietz, S., Hippmann, G., Schupp, G.: Interaction of vehicles and flexible tracks by co-simulation of multibody vehicle systems and finite element track models. In: True, H. (ed.) The Dynamics of Vehicles on Roads and on Tracks. Supplement to Vehicle System Dynamics, vol. 37, pp. 17–36. Swets & Zeitlinger, Lisse (2003)

    Google Scholar 

  14. Dörfel, M.R., Simeon, B.: Analysis and acceleration of a fluid-structure interaction coupling scheme. In: Numerical Mathematics and Advanced Applications, pp. 307–315 (2010)

    Google Scholar 

  15. Eberhard, P., Gaugele, T., Heisel, U., Storchak, M.: A discrete element material model used in a co-simulated charpy impact test and for heat transfer. In: Proceedings 1st Int. Conference on Process Machine Interactions, Hannover, Germany, 3–4 September, pp. 3–4 (2008)

    Google Scholar 

  16. Eich-Soellner, E., Führer, C.: Numerical Methods in Multibody Dynamics. Teubner, Stuttgart (1998)

    Book  MATH  Google Scholar 

  17. Friedrich, M., Ulbrich, H.: A parallel co-simulation for mechatronic systems. In: Proceedings of the 1st Joint International Conference on Multibody System Dynamics, IMSD 2010, 25–27 May, Lappeenranta, Finland (2010)

    Google Scholar 

  18. Gear, C.W., Gupta, G.K., Leimkuhler, B.J.: Automatic integration of the Euler–Lagrange equations with constraints. J. Comput. Appl. Math. 12–13, 77–90 (1985)

    Article  MathSciNet  Google Scholar 

  19. Gear, C.W., Wells, D.R.: Multirate linear multistep methods. BIT 24, 484–502 (1984)

    Article  MATH  MathSciNet  Google Scholar 

  20. Gonzalez, F., Gonzalez, M., Cuadrado, J.: Weak coupling of multibody dynamics and block diagram simulation tools. In: Proceedings of the ASME 2009 International Design Engineering Technical Conferences & Computers and Information in Engineering Conference, IDETC/CIE 2009, 30 August–2 September, San Diego, California, USA (2009)

    Google Scholar 

  21. Gonzalez, F., Naya, M.A., Luaces, A., Gonzalez, M.: On the effect of multirate co-simulation techniques in the efficiency and accuracy of multibody system dynamics. Multibody Syst. Dyn. 25(4), 461–483 (2011)

    Article  MATH  Google Scholar 

  22. Guenther, M., Rentrop, P.: Multirate row methods and latency of electric circuits. Appl. Numer. Math. 13, 83–102 (1999)

    Article  Google Scholar 

  23. Gu, B., Asada, H.H.: Co-simulation of algebraically coupled dynamic subsystems without disclosure of proprietary subsystem models. J. Dyn. Syst. Meas. Control 126, 1–13 (2004)

    Article  Google Scholar 

  24. Hairer, E., Norsett, S.P., Wanner, G.: Solving Ordinary Differential Equations I: Nonstiff Problems, 3rd edn. Springer, Berlin (2009)

    Google Scholar 

  25. Hairer, E., Wanner, G.: Solving Ordinary Differential Equations II: Stiff and Differential-Algebraic Problems, 2nd edn. Springer, Berlin (2010)

    Google Scholar 

  26. Haug, E.J.: Computer-Aided Kinematics and Dynamics of Mechanical Systems. Allyn and Bacon, Needham Hights (1989)

    Google Scholar 

  27. Helduser, S., Stuewing, M., Liebig, S., Dronka, S.: Development of electro-hydraulic actuators using linked simulation and hardware-in-the-loop technology. In: Proceedings of Symposium on Power Transmission and Motion Control 2001, PTMC 2001, 15–17 September, Bath, UK (2001)

    Google Scholar 

  28. Hippmann, G., Arnold, M., Schittenhelm, M.: Efficient simulation of bush and roller chain drives. In: Proceedings of ECCOMAS Thematic Conference on Multibody Dynamics, Madrid, Spain, 21–24 June (2005)

    Google Scholar 

  29. Jackson, K.: A survey of parallel numerical methods for initial value problems for ordinary differential equations. IEEE Trans. Magn. 27, 3792–3797 (1991)

    Article  Google Scholar 

  30. Kübler, R., Schiehlen, W.: Two methods of simulator coupling. Math. Comput. Model. Dyn. Syst. 6, 93–113 (2000)

    Article  MATH  Google Scholar 

  31. Kübler, R., Schiehlen, W.: Modular simulation in multibody system dynamics. Multibody Syst. Dyn. 4, 107–127 (2000)

    Article  MATH  Google Scholar 

  32. Lehnart, A., Fleissner, F., Eberhard, P.: Using SPH in a co-simulation approach to simulate sloshing in tank vehicles. In: Proceedings SPHERIC4, Nantes, France, 27–29 May (2009)

    Google Scholar 

  33. Lelarasmee, E., Ruehli, A., Sangiovanni-Vincentelli, A.: The waveform relaxation method for time domain analysis of large scale integrated circuits. IEEE Trans. CAD IC Syst. 1, 131–145 (1982)

    Article  Google Scholar 

  34. Liao, Y.G., Du, H.I.: Co-simulation of multi-body-based vehicle dynamics and an electric power steering control system. Proc. Inst. Mech. Eng. K, J. Multibody Dyn. 215, 141–151 (2001)

    Article  Google Scholar 

  35. Mraz, L., Valasek, M.: Parallelization of multibody system dynamics by additional dynamics. In: Proceedings of the ECCOMAS Thematic Conference Multibody Dynamics 2013, Zagreb, Croatia, 1–4 July (2013)

    Google Scholar 

  36. Meynen, S., Mayer, J., Schäfer, M.: Coupling algorithms for the numerical simulation of fluid-structure-interaction problems. In: Proceedings of ECCOMAS Thematic Conference on European Congress on Computational Methods in Applied Sciences and Engineering, 11–14 September, Barcelona, Spain (2000)

    Google Scholar 

  37. MSC-Software: ADAMS Documentation. http://www.mscsoftware.com

  38. Naya, M., Cuadrado, J., Dopico, D., Lugris, U.: An efficient unified method for the combined simulation of multibody and hydraulic dynamics: comparison with simplified and co-integration approaches. Arch. Mech. Eng. LVIII, 223–243 (2011)

    Article  Google Scholar 

  39. Pombo, J., Ambrosio, J.: Multiple pantograph interaction with catenaries in high-speed trains. J. Comput. Nonlinear Dyn. 7(4), 041008 (2012)

    Article  Google Scholar 

  40. Simeon, B.: Computational Flexible Multibody Dynamics: A Differential-Algebraic Approach. Springer, Berlin (2013)

    Book  Google Scholar 

  41. Schmoll, R., Schweizer, B.: Co-simulation of multibody and hydraulic systems: comparison of different coupling approaches. In: Proceedings of ECCOMAS Thematic Conference on Multibody Dynamics 2011, Brussels, Belgium, 4–7 July (2011)

    Google Scholar 

  42. Schweizer, B., Lu, D.: Predictor/corrector co-simulation approaches for solver coupling with algebraic constraints. ZAMM, J. Appl. Math. Mech. (2014). doi:10.1002/zamm.201300191

    Google Scholar 

  43. SIMPACK AG: SIMPACK Documentation. http://www.simpack.com

  44. Spreng, F., Eberhard, P., Fleissner, F.: An approach for the coupled simulation of machining processes using multibody system and smoothed particle hydrodynamics algorithms. Theor. Appl. Mech. Lett. 3(1), 013005 (2013)

    Article  Google Scholar 

  45. Strehmel, K., Weiner, R., Podhaisky, H.: Numerik gewöhnlicher Differentialgleichungen. Springer, Berlin (2012)

    Book  MATH  Google Scholar 

  46. Tseng, F., Hulbert, G.: Network-distributed multibody dynamics simulation-gluing algorithm. In: Ambrosio, J., Schiehlen, W. (eds.) Advances in Computational Multibody Dynamics, IDMEC/IST, Lisbon, Portugal, pp. 521–540 (1999)

    Google Scholar 

  47. Tomulik, P., Fraczek, J.: Simulation of multibody systems with the use of coupling techniques: a case study. Multibody Syst. Dyn. 25(2), 145–165 (2011)

    Article  MathSciNet  Google Scholar 

  48. Vaculin, O., Krueger, W.R., Valasek, M.: Overview of coupling of multibody and control engineering tools. Veh. Syst. Dyn. 41, 415–429 (2004)

    Article  Google Scholar 

  49. Valasek, M., Mraz, L.: Massive parallelization of multibody system simulation. Acta Polytech. 52(6), 94–98 (2012)

    Google Scholar 

  50. Verhoeven, A., Tasic, B., Beelen, T.G.J., ter Maten, E.J.W., Mattheij, R.M.M.: BDF compound-fast multirate transient analysis with adaptive stepsize control. J. Numer. Anal. Ind. Appl. Math. 3(3–4), 275–297 (2008)

    MATH  MathSciNet  Google Scholar 

  51. Wang, J., Ma, Z.D., Hulbert, G.: A gluing algorithm for distributed simulation of multibody systems. Nonlinear Dyn. 34, 159–188 (2003)

    Article  MATH  Google Scholar 

  52. Wuensche, S., Clauß, C., Schwarz, P., Winkler, F.: Electro-thermal circuit simulation using simulator coupling. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 5, 277–282 (1997)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Bernhard Schweizer.

Appendices

Appendix A: Analytical approximation formulas for calculating the Jacobian matrix

As shown in Sects. 2 and 3, the partial derivatives of the state variables z i ,z j with respect to the coupling variables \(\tilde{\boldsymbol{u}}_{j},\tilde{\boldsymbol{u}}_{i}\) may easily be calculated by finite differences. In this appendix, we briefly discuss an alternative possibility to calculate the partial derivatives. The key idea is to symbolically discretize the equations of motion for the coupling bodies i and j by an explicit time integration scheme and to carry out one integration step from T N T N+1 (the initial conditions for this integration step are the corrected state variables z i,N ,z j,N at the macro-time point T N ). This yields the discretized states z i,N+1,z j,N+1 at the macro-time point T N+1. z i,N+1,z j,N+1 are then analytically differentiated with respect to the coupling variables \(\tilde{\boldsymbol{u}}_{j},\tilde{\boldsymbol{u}}_{i}\). The result are analytical approximation formulas for the partial derivatives \(\frac{\partial\boldsymbol{z}_{i,N+1}}{\partial \tilde{\boldsymbol{u}}_{j,N+1}} \big\vert_{\tilde{\boldsymbol{u}} _{c,N+1}^{p}}\) and \(\frac{\partial\boldsymbol{z}_{j,N+1}}{\partial \tilde{\boldsymbol{u}}_{i,N+1}} \big\vert_{\tilde{\boldsymbol{u}} _{c,N+1}^{p}}\). In the following, the approach is explained for subsystem 1. For subsystem 2 the strategy is equivalent.

For the subsequent analysis, it is assumed that the reaction forces and reaction torques are zero (\({}^{0} \boldsymbol{F}_{r_{i}} = \boldsymbol{0}, {}^{i} \boldsymbol{M}_{r_{i}} = \boldsymbol{0}\)), i.e., we ride on the assumption that algebraic constraints do not exist between the coupling body i and the other bodies of subsystem 1. Under this assumption, the equations of motion for the coupling body i read as

Coupling body i (subsystem 1):

$$\begin{aligned} {}^{0} \dot{\boldsymbol{r}}_{S_i} =& {}^{0} \boldsymbol{v}_{S_i} + \boldsymbol{G}_{c_i} ( \boldsymbol{z}_{i}, \overline{\boldsymbol{u}}_{j} ) \boldsymbol{\mu}_{c}, \end{aligned}$$
(48a)
$$\begin{aligned} {}^{0} \dot{\boldsymbol{v}}_{S_i} =& \frac{1}{ m_{i}} \bigl[ {}^{0} \boldsymbol{F}_{a_i} ( \hat{ \boldsymbol{z}}_{1},t ) + \boldsymbol{G}_{c_i} ( \boldsymbol{z}_{i}, \overline{\boldsymbol{u}}_{j} ) \boldsymbol{ \lambda}_{c} \bigr], \end{aligned}$$
(48b)
$$\begin{aligned} \dot{\boldsymbol{\gamma}}_{i} =& \boldsymbol{B} ( \boldsymbol{\gamma}_{i} ) {}^{i} \boldsymbol{ \omega}_{i} + \boldsymbol{H}_{c_i} ( \boldsymbol{z}_{i}, \overline{\boldsymbol{u}}_{j} ) \boldsymbol{\mu}_{c}, \end{aligned}$$
(48c)
$$\begin{aligned} {}^{i} \dot{\boldsymbol{\omega}}_{i} =& {}^{i} \boldsymbol{J}_{i}^{-1} \bigl[ - {}^{i} \boldsymbol{\omega}_{i} \times{}^{i} \boldsymbol{J}_{i} {}^{i} \boldsymbol{\omega}_{i} + {}^{i} \boldsymbol{M}_{a_i} ( \hat{\boldsymbol{z}}_{1},t )+ \boldsymbol{H}_{c_i} ( \boldsymbol{z}_{i}, \overline{ \boldsymbol{u}}_{j} ) \boldsymbol{\lambda}_{c} \bigr]. \end{aligned}$$
(48d)

Compared to Eqs. (18a)–(18d), the notation has been slightly modified. The coupling variables \(\tilde{\boldsymbol{u}}_{j}\) can be subdivided into the Lagrange multipliers λ c ,μ c and the additional coupling variables \(\overline{\boldsymbol{u}}_{j}\) resulting from the co-simulation approach, i.e., \(\overline{\boldsymbol{u}}_{j} = \tilde{\boldsymbol{u}}_{j} \setminus \{ \boldsymbol{\lambda}_{c}, \boldsymbol{\mu}_{c} \}\) (for the perpendicular joint, for instance, we have \(\tilde{\boldsymbol{u}}_{j} = ( \lambda_{cp}\ \mu_{cp}\ \tilde{\boldsymbol{\gamma}}_{j} )^{T}\) and \(\overline{\boldsymbol{u}}_{j} = \tilde{\boldsymbol{\gamma}}_{j}\), see Sect. 3.2.3). Based on the results of Sect. 3.2, it can easily be seen that the coupling force can be written as \({}^{0} \boldsymbol{F}_{c_{i}} = \boldsymbol{G}_{c_{i}} ( \boldsymbol{z}_{i}, \overline{\boldsymbol {u}}_{j} ) \boldsymbol{\lambda}_{c}\). Consequently, the projection term in the kinematical differential equation can be written as \({}^{0} \boldsymbol{V}_{c_{i}} = \boldsymbol{G}_{c_{i}} ( \boldsymbol{z}_{i}, \overline{\boldsymbol{u}}_{j} ) \boldsymbol{\mu}_{c}\). Accordingly, one gets \({}^{i} \boldsymbol{M}_{c_{i}} = \boldsymbol{H}_{c_{i}} ( \boldsymbol{z}_{i}, \overline{\boldsymbol{u}}_{j} ) \boldsymbol{\lambda}_{c}\) and \({}^{i} \boldsymbol{\Omega}_{c_{i}} = \boldsymbol{H}_{c_{i}} ( \boldsymbol{z}_{i}, \overline{\boldsymbol{u}}_{j} ) \boldsymbol{\mu}_{c}\). \(\boldsymbol {G}_{c_{i}}\) and \(\boldsymbol{H}_{c_{i}}\) depend on the constraint equations (for the perpendicular joint, for instance, we have \(\boldsymbol{G}_{c_{i}}=\boldsymbol{0}\) and \(\boldsymbol{H}_{c_{i}} = {}^{i} \boldsymbol{e}_{i} \times {}^{ij} \boldsymbol{T} ( \boldsymbol{\gamma}_{i}, \tilde{\boldsymbol{\gamma}}_{j} ) {}^{j} \boldsymbol{e}_{j}\), see Sect. 3.2.3).

To accomplish the single integration step from T N to T N+1, we assume that the state variables \({}^{0} \boldsymbol{r}_{S_{i},N}\), \({}^{0} \boldsymbol{v}_{S_{i},N}\), γ i,N , i ω i,N and the coupling variables \(\tilde{\boldsymbol{u}}_{j,N}\) are known at the macro-time point T N . Note again that the coupling variables are assumed to be constant during the macro-time step, i.e., \(\tilde{\boldsymbol{u}}_{j}^{p} ( t ) = \tilde{\boldsymbol{u}}_{j,N+1}^{p} = \tilde{\boldsymbol{u}}_{j,N} =\mbox{const.}\) For the discretization of the ODE system (48a)–(48d), Heun’s method (explicit second-order Runge–Kutta method) is used. By performing one integration step from T N to T N+1=T N +H and by calculating the partial derivatives with respect to λ c,N+1, one eventually obtains the subsequent approximations for the partial derivatives of the state vector z i with respect to the Lagrange multiplier λ c

$$ \begin{aligned} \frac{\partial{}^{0} \boldsymbol{r}_{S_i,N+1}}{\partial \boldsymbol{\lambda}_{c,N+1}} \bigg\vert _{\tilde{\boldsymbol{u}} _{j,N+1}^{p}} &\approx\frac{H^{2}}{2 m_{i}} \boldsymbol{G}_{c_i} \bigl( \boldsymbol{z}_{i,N}, \overline{\boldsymbol{u}}_{j,N+1}^{p} \bigr), \\ \frac{\partial{}^{0} \boldsymbol{v}_{S_i,N+1}}{\partial \boldsymbol{\lambda}_{c,N+1}} \bigg\vert _{\tilde{\boldsymbol{u}} _{j,N+1}^{p}} &\approx\frac{H}{m_{i}} \boldsymbol{G}_{c_i} \bigl( \boldsymbol{z}_{i,N}, \overline{ \boldsymbol{u}}_{j,N+1}^{p} \bigr), \quad(* ) \\ \frac{\partial\boldsymbol{\gamma}_{i,N+1}}{\partial \boldsymbol{\lambda}_{c,N+1}} \bigg\vert _{\tilde{\boldsymbol{u}} _{j,N+1}^{p}} &\approx \frac{H^{2}}{2} \boldsymbol{B} ( \boldsymbol{\gamma}_{i,N} ) {}^i\boldsymbol{J}_i^{-1} \boldsymbol{H}_{c_i} \bigl( \boldsymbol{z}_{i,N}, \overline{\boldsymbol{u}}_{j,N+1}^{p} \bigr), \\ \frac{\partial{}^{i} \boldsymbol{\omega}_{i,N+1}}{\partial \boldsymbol{\lambda}_{c,N+1}} \bigg\vert _{\tilde{\boldsymbol{u}} _{j,N+1}^{p}} &\approx H {}^{i} \boldsymbol{J}_{i}^{-1} \boldsymbol{H}_{c_i} \bigl( \boldsymbol{z}_{i,N}, \overline{\boldsymbol{u}}_{j,N+1}^{p} \bigr). \quad(**) \end{aligned} $$
(49)

For the partial derivatives of the state vector z i with respect to the coupling variables μ c and \(\overline{\boldsymbol{u}}_{j}\), equivalent formulas can be derived.

Please note that the Lagrange multiplier λ c does not explicitly occur in the kinematical differential equations (48a) and (48c). To calculate the partial derivatives \(\frac{\partial{}^{0} \boldsymbol{r}_{S_{i},N+1}}{\partial\boldsymbol{\lambda}_{c,N+1}}\) and \(\frac{\partial\boldsymbol{\gamma}_{i,N+1}}{\partial \boldsymbol{\lambda}_{c,N+1}}\), it is therefore necessary to use a second-order integration scheme (alternatively, two integration steps with a first-order integration scheme could be applied). To compute the partial derivatives \(\frac{\partial{}^{0} \boldsymbol{v}_{S_{i},N+1}}{\partial \boldsymbol{\lambda}_{c,N+1}}\) and \(\frac{\partial{}^{i} \boldsymbol{\omega}_{i,N+1}}{\partial\boldsymbol{\lambda }_{c,N+1}}\), a first-order integration scheme would be sufficient. Integrating (48b) and (48d) with Euler explicit, for instance, directly yields the approximations (∗) and (∗∗) in Eq. (49).

The calculation of the partial derivatives on the basis of an explicit integration scheme can only be applied, if the reaction forces/torques are zero. If \({}^{0} \boldsymbol{F}_{r_{i}} \neq\boldsymbol{0}\) or \({}^{i} \boldsymbol{M}_{r_{i}} \neq\boldsymbol{0}\), subsystem 1 is described by a DAE system and the direct application of an explicit integration scheme is not possible. In this case, implicit integration schemes have to be applied. Alternatively, the underlying ODE of the DAE can be derived and discretized by an explicit integration scheme as described above. Please also note the discussion on this issue in [42].

Example

For the 1-DOF oscillator of Sect. 2, the following approximations for the partial derivatives are obtained

$$ \begin{aligned} \frac{\partial x_{1,N+1}}{\partial\lambda_{c,N+1}} \bigg\vert _{\lambda_{c,N+1}^{p}, \mu_{c,N+1}^{p}} &\approx\frac{H^{2}}{ 2m_{1}}, \qquad \frac{\partial v_{1,N+1}}{\partial\lambda_{c,N+1}} \bigg\vert _{\lambda_{c,N+1}^{p}, \mu_{c,N+1}^{p}} \approx\frac{H}{m_{1}}, \\ \frac{\partial x_{1,N+1}}{\partial\mu_{c,N+1}} \bigg\vert _{\lambda_{c,N+1}^{p}, \mu_{c,N+1}^{p}} &\approx H, \qquad \frac{\partial v_{1,N+1}}{\partial\mu_{c,N+1}} \bigg\vert _{\lambda_{c,N+1}^{p}, \mu_{c,N+1}^{p}} \approx- \frac{c_{1} H^{2}}{2m_{1}}, \\ \frac{\partial x_{2,N+1}}{\partial\lambda_{c,N+1}} \bigg\vert _{\lambda_{c,N+1}^{p}, \mu_{c,N+1}^{p}} &\approx- \frac{H^{2}}{2m_{2}}, \qquad \frac{\partial v_{2,N+1}}{\partial \lambda_{c,N+1}} \bigg\vert _{\lambda_{c,N+1}^{p}, \mu_{c,N+1}^{p}} \approx- \frac{H}{m_{2}}, \\ \frac{\partial x_{2,N+1}}{\partial\mu_{c,N+1}} \bigg\vert _{\lambda_{c,N+1}^{p}, \mu_{c,N+1}^{p}} &\approx-H, \qquad \frac{\partial v_{2,N+1}}{\partial \mu_{c,N+1}} \bigg\vert _{\lambda_{c,N+1}^{p}, \mu_{c,N+1}^{p}} \approx \frac{c_{2} H^{2}}{2m_{2}}. \end{aligned} $$
(50)

Appendix B: Simplified coupling formulation for the perpendicular joint

By connecting the coupling bodies i and j with a perpendicular joint, the additional coupling variables \(\tilde{\boldsymbol{\gamma}}_{j}\) and \(\tilde{\boldsymbol{\gamma}}_{i}\) have to be defined in order to calculate the coupling torques \({}^{i} \boldsymbol{M}_{c_{i}}\) and \({}^{j} \boldsymbol{M}_{c_{j}}\), see Sect. 3.2.3. Considering subsystem 1, λ cp reflects the magnitude and \({}^{i} \boldsymbol{e}_{i} \times {}^{ij} \boldsymbol{T} ( \boldsymbol{\gamma}_{i}, \tilde{\boldsymbol{\gamma}}_{j} ) {}^{j} \boldsymbol{e}_{j}\) the direction of \({}^{i} \boldsymbol{M}_{c_{i}}\). The idea of the simplified formulation is to replace \(\tilde{\boldsymbol{\gamma}}_{j}\) with the constant value γ j,N during the macro-time step T N T N+1. Then, the simplified coupling forces/torques, the projection terms for the kinematical differential equations and the coupling conditions read as

$$ \begin{aligned} &{}^{0} \boldsymbol{F}_{c_i} = \boldsymbol{0}, \qquad{}^{i} \boldsymbol{M}_{c_i} = {}^{i} \boldsymbol{e}_{i} \times {}^{ij} \boldsymbol{T} ( \boldsymbol{\gamma}_{i}, \boldsymbol{\gamma}_{j,N} ) {}^{j} \boldsymbol{e}_{j} \lambda_{cp}, \\ &{}^{0} \boldsymbol{V}_{c_i} = \boldsymbol{0}, \qquad {}^{i} \boldsymbol{\Omega}_{c_i} = {}^{i} \boldsymbol{e}_{i} \times {}^{ij} \boldsymbol{T} ( \boldsymbol{\gamma}_{i}, \boldsymbol{\gamma}_{j,N} ) {}^{j} \boldsymbol{e}_{j} \mu_{cp}, \\ &{}^{0} \boldsymbol{F}_{c_j} = \boldsymbol{0}, \qquad {}^{j} \boldsymbol{M}_{c_j} = {}^{j} \boldsymbol{e}_{j} \times {}^{ji} \boldsymbol{T} ( \boldsymbol{\gamma}_{i,N}, \boldsymbol{\gamma}_{j} ) {}^{i} \boldsymbol{e}_{i} \lambda_{cp}, \\ &{}^{0} \boldsymbol{V}_{c_j} = \boldsymbol{0}, \qquad {}^{j} \boldsymbol{\Omega}_{c_j} = {}^{j} \boldsymbol{e}_{j} \times {}^{ji} \boldsymbol{T} ( \boldsymbol{\gamma}_{i,N}, \boldsymbol{\gamma}_{j} ) {}^{i} \boldsymbol{e}_{i} \mu_{cp}, \\ &g_{cp\lambda} = 0, \qquad g_{cp\mu} = 0. \end{aligned} $$
(51)

Making use of the simplified formulation, the coupling conditions \(\boldsymbol{g}_{c \gamma_{i}}\) and \(\boldsymbol{g}_{c \gamma_{j}}\) are neglected. Equivalent simplified formulations can be used for other joints.

Appendix C: Formulation of the stabilized index-2 co-simulation approach using Euler parameters

In Sect. 3, the stabilized index-2 co-simulation method has been presented for the case that Euler angles are used to describe the rotation of the two coupling bodies. Using another parameterization for the spherical rotations, the formulas in Sect. 3 have to be modified slightly. In the following, we present the formulation of the co-simulation method for the case that Euler parameters are applied to describe 3D rotations [26]. Making use of Euler parameters, the orientation of an arbitrary body q is described by the four Euler parameters \(\boldsymbol{q}_{q} = ( \begin{array}{cccc} q_{0_{q}}, & q_{1_{q}} & q_{2_{q}} & q_{3_{q}} \end{array} )^{T} \in\mathbb{R}^{4}\). The coordinates of the angular velocity with respect to the body fixed system K Sq and the time derivative of the Euler parameters are related by the kinematical differential equation \({}^{q} \boldsymbol{\omega}_{q} = \boldsymbol{P} ( \boldsymbol {q}_{q} ) \dot{\boldsymbol{q}}_{q}\), where the matrix \(\boldsymbol{P} ( \boldsymbol{q}_{q} ) \in\mathbb{R}^{3\times4}\) is given by

$$ \boldsymbol{P}= 2 \left( \begin{array}{c@{\quad}c@{\quad}c@{\quad}c} - q_{1_q} & q_{0_q} & q_{3_q} & - q_{2_q} \\ - q_{2_q} & - q_{3_q} & q_{0_q} & q_{1_q} \\ -q_{3_q} & q_{2_q} & -q_{1_q} & q_{0_q} \end{array} \right). $$
(52)

The constraint equation for the four Euler parameters is given by \(q_{0_{q}}^{2} + q_{1_{q}}^{2} + q_{2_{q}}^{2} + q_{3_{q}}^{2} -1= 0\). According to Sect. 3.1, we define the auxiliary vectors \(\boldsymbol{y}_{i} = ( \begin{array}{cccc} y_{i1} & y_{i2} & \cdots& y_{i13} \end{array} )^{T} = ( \begin{array}{cccc} {}^{0} \boldsymbol{r}_{S_{i}} & \boldsymbol{q}_{i} & {}^{0} \boldsymbol{v}_{S_{i}} & {}^{i} \boldsymbol{\omega}_{i} \end{array} )^{T} \in\mathbb{R}^{13}\) and \(\boldsymbol{y}_{j} = ( \begin{array}{cccc} y_{j1} & y_{j2} & \cdots& y_{j13} \end{array} )^{T} = ( \begin{array}{cccc} {}^{0} \boldsymbol{r}_{S_{j}} & \boldsymbol{q}_{j} & {}^{0} \boldsymbol{v}_{S_{j}} & {}^{j} \boldsymbol{\omega}_{j} \end{array} )^{T} \in\mathbb{R}^{13}\), which contain the position and velocity coordinates of the coupling bodies i and j. Both vectors are combined in the vector \(\boldsymbol{y}_{c} = ( \boldsymbol{y}_{i}\ \boldsymbol{y}_{j} )^{T} \in\mathbb{R}^{26}\). The vectors \(\hat{\boldsymbol{y}}_{1} \in\mathbb{R}^{13\cdot n_{1}}\) and \(\hat{\boldsymbol{y}}_{2} \in\mathbb{R}^{13\cdot n_{2}}\) contain the position and velocity coordinates of all bodies of subsystem 1 and subsystem 2.

Applying Euler parameters and using the stabilized index-2 formulation, the equations of motion for the coupling bodies i and j read as

Coupling body i (subsystem 1):

$$ \begin{aligned} {}^{0} \dot{\boldsymbol{r}}_{S_i} &= {}^{0} \boldsymbol{v}_{S_i} + {}^{0} \boldsymbol{V}_{c_i}, \\ m_{i} {}^{0} \dot{\boldsymbol{v}}_{S_i} &= {}^{0} \boldsymbol{F}_{a_i} ( \hat{\boldsymbol{y}}_{1},t ) + {}^{0} \boldsymbol{F}_{r_i} + {}^{0} \boldsymbol{F}_{c_i}, \\ {}^{i} \boldsymbol{\omega}_{i} &= \boldsymbol{P} ( \boldsymbol{q}_{i} ) \dot{\boldsymbol{q}}_{i} + {}^{i} \boldsymbol{\Omega}_{c_i}, \\ 0 &= q_{0_i}^{2} + q_{1_i}^{2} + q_{2_i}^{2} + q_{3_i}^{2} -1, \\ {}^{i} \boldsymbol{J}_{i} {}^{i} \dot{ \boldsymbol{\omega}}_{i} + {}^{i} \boldsymbol{ \omega}_{i} \times{}^{i} \boldsymbol{J}_{i} {}^{i} \boldsymbol{\omega}_{i} &= {}^{i} \boldsymbol{M}_{a_i} ( \hat{\boldsymbol{y}}_{1},t )+ {}^{i} \boldsymbol{M}_{r_i} + {}^{i} \boldsymbol{M}_{c_i}; \end{aligned} $$
(53)

Coupling body j (subsystem 2):

$$ \begin{aligned} {}^{0} \dot{\boldsymbol{r}}_{S_j} &= {}^{0} \boldsymbol{v}_{S_j} + {}^{0} \boldsymbol{V}_{c_j}, \\ m_{j} {}^{0} \dot{\boldsymbol{v}}_{S_j} &= {}^{0} \boldsymbol{F}_{a_j} ( \hat{\boldsymbol{y}}_{2},t ) + {}^{0} \boldsymbol{F}_{r_j} + {}^{0} \boldsymbol{F}_{c_j}, \\ {}^{j} \boldsymbol{\omega}_{j} &= \boldsymbol{P} ( \boldsymbol{q}_{j} ) \dot{\boldsymbol{q}}_{j} + {}^{j} \boldsymbol{\Omega}_{c_j}, \\ 0 &= q_{0_j}^{2} + q_{1_j}^{2} + q_{2_j}^{2} + q_{3_j}^{2} -1, \\ {}^{j} \boldsymbol{J}_{j} {}^{j} \dot{ \boldsymbol{\omega}}_{j} + {}^{j} \boldsymbol{ \omega}_{j} \times{}^{j} \boldsymbol{J}_{j} {}^{j} \boldsymbol{\omega}_{j} &= {}^{j} \boldsymbol{M}_{a_j} ( \hat{\boldsymbol{y}}_{2},t ) + {}^{j} \boldsymbol{M}_{r_j} + {}^{j} \boldsymbol{M}_{c_j}. \end{aligned} $$
(54)

It should be stressed that the same notation has been used as in Sect. 3.1. The coupling relations are collected in the following subsections for the atpoint, the inplane and the perpendicular joint.

3.1 C.1 Atpoint joint (spherical joint)

By connecting the coupling points C i und C j with an atpoint joint, the coupling forces/torques, the projection terms for the kinematical differential equations and the 6 scalar coupling conditions are given by

$$ \begin{aligned} \bullet\ & \mbox{Reaction forces/torques (coupling body $i$):} \\ &{}^{0} \boldsymbol{F}_{c_i} = {}^{0} \boldsymbol{\lambda}_{ca}, \qquad{}^{i} \boldsymbol{M}_{c_i} = {}^{i} \boldsymbol{r}_{C_i} \times{}^{i0} \boldsymbol{T} ( \boldsymbol{q}_{i} ) {}^{0} \boldsymbol{\lambda}_{ca}, \\ \bullet\ & \mbox{Projection terms (coupling body $i$):} \\ &{}^{0} \boldsymbol{V}_{c_i} = {}^{0} \boldsymbol{\mu}_{ca}, \qquad{}^{i} \boldsymbol{ \Omega}_{c_i} = {}^{i} \boldsymbol{r}_{C_i} \times {}^{i0} \boldsymbol{T} ( \boldsymbol{q}_{i} ) {}^{0} \boldsymbol{\mu}_{ca}, \\ \bullet\ & \mbox{Reaction forces/torques (coupling body $j$):} \\ &{}^{0} \boldsymbol{F}_{c_j} =- {}^{0} \boldsymbol{\lambda}_{ca}, \qquad{}^{j} \boldsymbol{M}_{c_j} = - {}^{j} \boldsymbol{r}_{C_j} \times{}^{j0} \boldsymbol{T} ( \boldsymbol{q}_{j} ) {}^{0} \boldsymbol{\lambda}_{ca}, \\ \bullet\ & \mbox{Projection terms (coupling body $j$):} \\ &{}^{0} \boldsymbol{V}_{c_j} =- {}^{0} \boldsymbol{\mu}_{ca}, \qquad{}^{j} \boldsymbol{ \Omega}_{c_j} = - {}^{j} \boldsymbol{r}_{C_j} \times{}^{j0} \boldsymbol{T} ( \boldsymbol{q}_{j} ) {}^{0} \boldsymbol{\mu}_{ca}, \\ \bullet\ & \mbox{Coupling conditions:} \\ &\boldsymbol{g}_{ca\lambda} = \boldsymbol{0}, \qquad\boldsymbol {g}_{ca\mu} = \boldsymbol{0}. \end{aligned} $$
(55)

Compared with Eq. (24), the only difference is that the transformation matrices are parameterized with Euler parameters instead of Euler angles. Please note that the constraint equations for the Euler parameters q i and q j are considered in Eqs. (53) and (54).

3.2 C.2 Inplane joint

If the points C i und C j are coupled by an inplane joint, the coupling forces/torques, the projection terms for the kinematical differential equations and the altogether 13 scalar coupling conditions read as

$$ \begin{aligned}[b] \bullet\ & \mbox{Reaction forces/torques (coupling body $i$):} \\ &{}^{0} \boldsymbol{F}_{c_i} = {}^{0j} \boldsymbol{T} ( \tilde{\boldsymbol{q}}_{j} ) {}^{j} \boldsymbol{e}_{j} \lambda_{cd}, \qquad{}^{i} \boldsymbol{M}_{c_i} = {}^{i} \boldsymbol{r}_{C_i} \times{}^{ij} \boldsymbol{T} ( \boldsymbol{q}_{i}, \tilde{ \boldsymbol{q}}_{j} ) {}^{j} \boldsymbol{e}_{j} \lambda_{cd}, \\ \bullet\ & \mbox{Projection terms (coupling body $i$):} \\ &{}^{0} \boldsymbol{V}_{c_i} = {}^{0j} \boldsymbol{T} ( \tilde{\boldsymbol{q}}_{j} ) {}^{j} \boldsymbol{e}_{j} \mu_{cd}, \qquad{}^{i} \boldsymbol{\Omega}_{c_i} = {}^{i} \boldsymbol{r}_{C_i} \times{}^{ij} \boldsymbol{T} ( \boldsymbol{q}_{i}, \tilde{ \boldsymbol{q}}_{j} ) {}^{j} \boldsymbol{e}_{j} \mu_{cd}, \\ \bullet\ & \mbox{Reaction forces/torques (coupling body $j$):} \\ &\begin{aligned}[t] &{}^{0} \boldsymbol{F}_{c_j} =- {}^{0j} \boldsymbol{T} ( \boldsymbol{q}_{j} ) {}^{j} \boldsymbol{e}_{j} \lambda_{cd}, \\ &{}^{j} \boldsymbol{M}_{c_j} = {}^{j} \boldsymbol{e}_{j} \times {}^{j0} \boldsymbol{T} ( \boldsymbol{q}_{j} ) \bigl( {}^{0} \tilde{ \boldsymbol{r}}_{S_i} + {}^{0i} \boldsymbol{T} ( \tilde{ \boldsymbol{q}}_{i} ) {}^{i} \boldsymbol{r}_{C_i} - {}^{0} \boldsymbol{r}_{S_j} \bigr) \lambda_{cd}, \end{aligned} \end{aligned} $$
(56)
$$ \begin{aligned} \bullet\ & \mbox{Projection terms (coupling body $j$):} \\ &{}^{0} \boldsymbol{V}_{c_j} =- {}^{0j} \boldsymbol{T} ( \boldsymbol{q}_{j} ) {}^{j} \boldsymbol{e}_{j} \mu_{cd}, \qquad{}^{j} \boldsymbol{\Omega}_{c_j} = {}^{j} \boldsymbol{e}_{j} \times {}^{j0} \boldsymbol{T} ( \boldsymbol{q}_{j} ) \bigl( {}^{0} \tilde{\boldsymbol{r}}_{S_i} + {}^{0i} \boldsymbol{T} ( \tilde{\boldsymbol{q}}_{i} ) {}^{i} \boldsymbol{r}_{C_i} - {}^{0} \boldsymbol{r}_{S_j} \bigr) \mu_{cd}, \\ \bullet\ & \mbox{Coupling conditions:} \\ &g_{cd\lambda} =0, \qquad g_{cd\mu} =0, \qquad\boldsymbol{g}_{c r_i} := {}^{0} \tilde{\boldsymbol{r}}_{S_i} - {}^{0} \boldsymbol{r}_{S_i} = \boldsymbol{0}, \\ &\boldsymbol{g}_{c q_i} := \tilde{\boldsymbol{q}}_{i}^{*} - \boldsymbol{q}_{i}^{*} = \boldsymbol{0}, \qquad \boldsymbol{g}_{c q_j} := \tilde{\boldsymbol{q}}_{j}^{*} - \boldsymbol{q}_{j}^{*} = \boldsymbol{0}, \\ &g_{c \tilde{q}_i} := \tilde{q}_{0_i}^{2} + \tilde{q}_{1_i}^{2} + \tilde{q}_{2_i}^{2} + \tilde{q}_{3_i}^{2} -1=0, \qquad g_{c \tilde{q}_j} := \tilde{q}_{0_j}^{2} + \tilde{q}_{1_j}^{2} + \tilde{q}_{2_j}^{2} + \tilde{q}_{3_j}^{2} -1=0. \end{aligned} $$

As already outlined in Sect. 3.2.2, the state variables y j are not available in subsystem 1 and the state variables y i are not accessible in subsystem 2 during the subsystem integration from T N to T N+1. Therefore, the additional coupling variables \(\tilde{\boldsymbol{q}}_{j}\) have to be defined in subsystem 1 and the additional coupling variables \({}^{0} \tilde{\boldsymbol{r}}_{S_{i}}\) and \(\tilde{\boldsymbol{q}}_{i}\) in subsystem 2. The coupling variables \(\tilde{\boldsymbol{q}}_{i} \in\mathbb{R}^{4}\) and \(\tilde{\boldsymbol{q}}_{j} \in\mathbb{R}^{4}\) denote Euler parameters, for which the constraint equations \(g_{c \tilde{q}_{i}}\) and \(g_{c \tilde{q}_{j}}\) have to be considered. According to Sect. 3.2.2, the coupling conditions \(\tilde{\boldsymbol{q}}_{j} = \boldsymbol {q}_{j}\) and \(\tilde{\boldsymbol{q}}_{i} = \boldsymbol{q}_{i}\) have to be fulfilled. Due to the constraint equations \(g_{c \tilde{q}_{i}}\) and \(g_{c \tilde{q}_{j}}\) for \(\tilde{\boldsymbol{q}}_{i}\) and \(\tilde{\boldsymbol{q}}_{j}\) and due to the corresponding constraint equations for q i and q j in Eqs. (53) and (54), it is, however, sufficient to set equal three of the four Euler parameters. Therefore, we define the vectors \(\boldsymbol{q}_{i}^{*} = ( \begin{array}{ccc} q_{0_{i}} & q_{1_{i}} & q_{2_{i}} \end{array} )^{T}\), \(\boldsymbol{q}_{j}^{*} = ( \begin{array}{ccc} q_{0_{j}} & q_{1_{j}} & q_{2_{j}} \end{array} )^{T}\), \(\tilde{\boldsymbol{q}}_{i}^{*} = ( \begin{array}{ccc} \tilde{q}_{0_{i}} & \tilde{q}_{1_{i}} & \tilde{q}_{2_{i}} \end{array} )^{T}\) and \(\tilde{\boldsymbol{q}}_{j}^{*} = ( \begin{array}{ccc} \tilde{q}_{0_{j}} & \tilde{q}_{1_{j}} & \tilde{q}_{2_{j}} \end{array} )^{T}\), which contain the first three Euler parameters, in order to formulate the coupling equations \(\boldsymbol{g}_{c q_{i}} := \tilde{\boldsymbol{q}}_{i}^{*} - \boldsymbol{q}_{i}^{*} = \boldsymbol{0}\) and \(\boldsymbol{g}_{c q_{j}} := \tilde{\boldsymbol{q}}_{j}^{*} - \boldsymbol{q}_{j}^{*} = \boldsymbol{0}\).

3.3 C.3 Perpendicular joint

Using a perpendicular joint to connect C i und C j , the coupling forces/torques, the projection terms for the kinematical differential equations and the altogether 10 scalar coupling conditions are given by

$$ \begin{aligned} \bullet\ & \mbox{Reaction forces/torques (coupling body $i$):} \\ &{}^{0} \boldsymbol{F}_{c_i} = \boldsymbol{0}, \qquad {}^{i} \boldsymbol{M}_{c_i} = {}^{i} \boldsymbol{e}_{i} \times {}^{ij} \boldsymbol{T} ( \boldsymbol{q}_{i}, \tilde{\boldsymbol{q}}_{j} ) {}^{j} \boldsymbol{e}_{j} \lambda_{cp}, \\ \bullet\ & \mbox{Projection terms (coupling body $i$):} \\ &{}^{0} \boldsymbol{V}_{c_i} = \boldsymbol{0}, \qquad {}^{i} \boldsymbol{\Omega}_{c_i} = {}^{i} \boldsymbol{e}_{i} \times {}^{ij} \boldsymbol{T} ( \boldsymbol{q}_{i}, \tilde{\boldsymbol{q}}_{j} ) {}^{j} \boldsymbol{e}_{j} \mu_{cp}, \\ \bullet\ & \mbox{Reaction forces/torques (coupling body $j$):} \\ &{}^{0} \boldsymbol{F}_{c_j} = \boldsymbol{0}, \qquad {}^{j} \boldsymbol{M}_{c_j} = {}^{j} \boldsymbol{e}_{j} \times {}^{ji} \boldsymbol{T} ( \tilde{\boldsymbol{q}}_{i}, \boldsymbol{q}_{j} ) {}^{i} \boldsymbol{e}_{i} \lambda_{cp}, \\ \bullet\ & \mbox{Projection terms (coupling body $j$):} \\ &{}^{0} \boldsymbol{V}_{c_j} = \boldsymbol{0}, \qquad {}^{j} \boldsymbol{\Omega}_{c_j} = {}^{j} \boldsymbol{e}_{j} \times {}^{ji} \boldsymbol{T} ( \tilde{\boldsymbol{q}}_{i}, \boldsymbol{q}_{j} ) {}^{i} \boldsymbol{e}_{i} \mu_{cp}, \\ \bullet\ & \mbox{Coupling conditions:} \\ &g_{cp\lambda} = 0, \qquad g_{cp\mu} = 0, \qquad \boldsymbol{g}_{c q_i} := \tilde{\boldsymbol{q}}_{i}^{*} - \boldsymbol{q}_{i}^{*} = \boldsymbol{0}, \qquad \boldsymbol{g}_{c q_j} := \tilde{\boldsymbol{q}}_{j}^{*} - \boldsymbol{q}_{j}^{*} = \boldsymbol{0}, \\ &g_{c \tilde{q}_i} := \tilde{q}_{0_i}^{2} + \tilde{q}_{1_i}^{2} + \tilde{q}_{2_i}^{2} + \tilde{q}_{3_i}^{2} -1=0, \qquad g_{c \tilde{q}_j} := \tilde{q}_{0_j}^{2} + \tilde{q}_{1_j}^{2} + \tilde{q}_{2_j}^{2} + \tilde{q}_{3_j}^{2} -1=0. \end{aligned} $$
(57)

Appendix D: Stability analysis and test model for explicit and semi-implicit co-simulation approach

The definition of the stability of time integration methods is based on Dahlquist’s test equation \(\dot{y} (t)=\lambda\cdot y (t)\), where y(t) is a scalar function of time and \(\lambda= \lambda_{r} +i \lambda_{i} \mathbb{\in C}\) an arbitrary complex constant [24, 25]. From the mechanical point of view, this equation can be interpreted as the complex representation of the equation of motion for the homogenous linear single-mass oscillator. As well-known from literature, the stability behavior of a time integration method depends on two parameters, namely r and i , where h denotes the time-step size. Generally, 2D plots are used to illustrate the stability of time integration methods as a function of r and i .

Following Dahlquist’s definition, it is straightforward to use the two-mass oscillator of Sect. 2 (see Fig. 1) as test model for co-simulation methods with algebraic constraints. The two-mass oscillator has five independent parameters, which can be shown by rewriting the equations of motion (4a)–(4c). Introducing the dimensionless time \(\overline{t} = \frac{t}{H}\), the modified (dimensionless) velocities \(\overline{v}_{1} =H\cdot v_{1}\) and \(\overline{v}_{2} =H\cdot v_{2}\) as well as the five parameters

$$ \overline{c}_{1} = \frac{c_{1} \cdot H^{2}}{m_{1}}, \qquad \overline{d}_{1} = \frac{d_{1} \cdot H}{m_{1}}, \qquad \alpha_{m21} = \frac{m_{2}}{m_{1}}, \qquad\alpha_{c21} = \frac{c_{2}}{c_{1}}, \qquad \alpha_{d21} = \frac{d_{2}}{d_{1}}, $$
(58)

Eqs. (4a)–(4c) can be rewritten as

Subsystem 1:

$$ \begin{aligned} x_{1} ' &= \overline{v}_{1} + \overline{\mu}_{c}, \\ \overline{v}_{1} ' &=- \overline{c}_{1} \cdot x_{1} - \overline{d}_{1} \cdot \overline{v}_{1} + \overline{\lambda}_{c}; \end{aligned} $$
(59a)

Subsystem 2:

$$ \begin{aligned} x_{2} ' &= \overline{v}_{2} - \overline{\mu}_{c}, \\ \overline{v}_{2} ' &=- \frac{\alpha_{c21}}{\alpha_{m21}} \cdot \overline{c}_{1} \cdot x_{2} - \frac{\alpha_{d21}}{ \alpha_{m21}} \cdot \overline{d}_{1} \cdot \overline{v}_{2} - \frac{1}{\alpha_{m21}} \overline{ \lambda}_{c}; \end{aligned} $$
(59b)

Coupling conditions:

$$ \begin{aligned} g_{c\lambda} &:= x_{2} - x_{1} =0, \\ \overline{g}_{c\mu} &:= \overline{v}_{2} - \overline{v}_{1} =0. \end{aligned} $$
(59c)

Note that \((\cdot ) ' = \frac{d(\cdot )}{d \overline{t}}\) denotes the derivative with respect to the dimensionless time \(\overline{t}\). Instead of using the five parameters defined in Eq. (58), it might be useful to define five other parameters for characterizing the stability behavior of co-simulation methods. According to the stability analysis for time integration schemes, where the two parameters r and i are used, choosing the following five parameters for investigating the stability of co-simulation schemes with algebraic constraints might be more convenient

$$ \begin{aligned} \overline{\lambda}_{r1} &=- \frac{\overline{d}_{1}}{2}, \qquad\overline{\lambda}_{i1} = \frac {1}{2} \sqrt{4 \cdot \overline{c}_{1} - \overline{d}_{1}^{2}}, \\ \alpha_{m21} &= \frac{m_{2}}{ m_{1}}, \qquad\alpha_{\lambda r21} = \frac{\overline{\lambda}_{r2}}{ \overline{\lambda}_{r1}} = \frac{\alpha_{d21}}{\alpha_{m21}}, \\ \alpha_{\lambda i21} &= \frac{\overline{\lambda}_{i2}}{ \overline{\lambda}_{i1}} = \frac{1}{\alpha_{m21}} \frac{\sqrt{4 \cdot \alpha_{m21} \cdot \alpha_{c21} \cdot \overline{c}_{1} - \alpha_{d21}^{2} \cdot \overline{d}_{1}^{2}}}{\sqrt{4 \cdot \overline {c}_{1} - \overline{d}_{1}^{2}}}. \end{aligned} $$
(60)

The physical meaning of these parameters is easily explained. \(\overline{\lambda}_{r1}\) and \(\overline{\lambda}_{i1}\), which characterize subsystem 1, denote the modified (dimensionless) real and imaginary part of the eigenvalue of subsystem 1. α m21 terms the mass ratio. The parameters α λr21 and α λi21 describe the ratio of the real and imaginary part of the eigenvalue of subsystem 2 with respect to subsystem 1. To compare different co-simulation methods with 2D stability plots, it might be useful to fix the parameters α m21, α λr21 and α λi21 and to determine the stability as a function of the two parameters \(\overline{\lambda }_{r1}\) and \(\overline{\lambda}_{i1}\).

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Schweizer, B., Lu, D. Stabilized index-2 co-simulation approach for solver coupling with algebraic constraints. Multibody Syst Dyn 34, 129–161 (2015). https://doi.org/10.1007/s11044-014-9422-y

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11044-014-9422-y

Keywords

Navigation