## Abstract

This paper presents a novel fiber-based muscle model for the forward dynamics of the musculoskeletal system. While bones are represented by rigid bodies, the muscles are taken into account by means of one-dimensional cables that obey the laws of continuum mechanics. In contrast to standard force elements such as the Hill-type muscle model, this approach is close to the real physiology and also avoids the issue of wobbling masses. On the other hand, the computational cost is rather low in comparison with full 3D continuum mechanics simulations. The cable model includes sliding contact between individual fibers as well as between fibers and bones. For the discretization, cubic finite elements are employed in combination with implicit time stepping. Several validation studies and the simulation of a motion scenario for the upper limb demonstrate the potential of the fiber-based approach.

## Introduction

The simulation of the musculoskeletal system is of great interest in a variety of fields, e.g., in the study of human movements, the design of effective treatments after injuries and the design of ergonomic workplaces. Consequently, strong efforts are currently being made towards the development of realistic digital human models, and the first corresponding software packages are available now. Here we mention among others the commercial packages *AnyBody*^{Footnote 1} and *Biomechanics of Bodies*,^{Footnote 2} and the open-source packages *OpenSim*^{Footnote 3} and *MSMS*.^{Footnote 4}

In such models, the skeleton is typically represented by a rigid multibody system. This is a widely accepted assumption due to the large differences in stiffness of hard bone tissue and soft muscle tissue. Concerning the modeling of the muscles, the state-of-the-art is the use of muscle models that date back to the early work of Hill [8]. These models are computationally cheap but may lack realism in simulations. In particular, the mass is not accounted for, which led to the introduction of so-called wobbling masses [5]. Detailed three-dimensional muscle models from continuum mechanics, on the other hand, are prohibitively expensive in a multibody context.

For these reasons, we introduce here a new muscle model that features mass, shape and elasticity and which is at the same time computationally attractive. The key idea is based on a one-dimensional cable structure that incorporates large deformation and thickness change. Such a fiber-based model may represent a complete muscle or it can be bundled with other fibers in order to mimic the real composition of muscles. Its spatial discretization requires much fewer degrees of freedom than a three-dimensional approach, and in this way the fiber-based model balances the need for more realism with computational efficiency.

Before further proceeding in this direction, we summarize the state-of-the-art in digital human modeling and related fields. Looking at Hill-type muscles in more detail, we observe that the muscle paths are often assumed to be the straight line between the muscle origin and the insertion point. In order to account for a more realistic geometry, the muscle paths can be enhanced by so-called via points [1, 3, 10, 19]. Another possibility to enhance the fidelity is to consider wrapping surfaces. Then the surfaces of the bones and other structures are additionally modeled and define constraints for the muscle paths. This approach leads to a shortest distance problem between the origin and the insertion point considering the wrapping surfaces as constraints [4, 13, 22]. Mechanically, Hill-type approaches represent line of action models where the material properties of the muscle–tendon complex are represented by lumped parameter systems [33]. For further studies on Hill-type muscles, we refer to [6, 14, 15, 27, 30, 31]

High fidelity models of muscles are based on nonlinear continuum mechanics. They are able to represent three-dimensional geometry, spatially varying features, the multiscale architecture of muscles, and multiphysics effects [2, 18, 26]. However, the increased modeling complexity and computational cost pose restrictions on the usability of continuum mechanics models. Therefore, many research works on continuum-mechanical models focus on specific aspects in single muscles, e.g., the mechanical behavior of tendon tissue [12], the effect of micromechanical features on the overall mechanics [24, 25], or the extension of continuum-mechanical models to include chemo-electro-physiological aspects [7, 17]. The coupling of microvibrations and macroscale deformation, which is an emerging topic in today’s orthopedic therapies, is discussed in [29]. While investigating these effects in isolation is important, the ultimate goal is to conduct high fidelity simulations of the musculoskeletal system as a whole.

In the present paper, we model a muscle as a three-dimensional continuum located around a one-dimensional curve in space. Starting from this geometric setting, we derive a one-dimensional cable model that incorporates large deformation and thickness change. The total stress tensor is additively decomposed into a passive, an active and a prestress contribution. In order to model the passive response, an incompressible Kelvin–Voigt material law for finite strains is used. The active stress contribution is modeled by the relations given in [18]. Considering the coupling of the skeleton and the muscles at the insertion points, we use classical rigid body coordinates for the bones and absolute displacement coordinates for the cable degrees of freedom. Thus there is no floating reference, as opposed to the typical approaches in flexible multibody dynamics [23, 28]. Instead, the large deformation model includes the rigid body modes directly. Furthermore, the contact dynamics on the lateral surface of the muscles and the rigid bodies are taken into account.

The paper is organized as follows. Based on nonlinear 3D continuum mechanics, we derive a cable model incorporating large deformations, incompressible hyper-elastic and viscous material response, prestressing, active stresses and thickness change of the cross-section in Sect. 2. In addition, the contact between two fibers is formulated by means of a penalty approach. In Sect. 3 we introduce a flexible multibody system framework and describe the coupling between the fibers and the rigid bodies. The discretization in space and a subsequent discretization in time of the governing equations are performed in Sect. 4. Furthermore, in this section we discuss the numerical treatment of the contact mechanics and present a safeguard algorithm in order to solve the nonlinear system of equations in an robust way. Numerical results of four examples are given in Sect. 5. While the first three examples serve as code verification examples, a simple upper limb model is simulated in the last example. Conclusions are drawn in Sect. 6.

## Fiber-based model of skeletal muscle

In this section, we derive the fiber-based model, starting with the standard nonlinear equations of motion of a visco-elastic solid. To that end, we introduce additional kinematic and kinetic assumptions according to a cable model. In the next step, the weak formulation of the governing equations is stated. Finally, the contact between two fibers is formulated by means of a penalty approach.

### Fundamentals of continuum mechanics

We model the homogenized muscle–tendon complex by means of continuum mechanics. Thus, the motion of a muscle is governed by the nonlinear elasticity problem. Let \({V_{0}}\subset \mathbb{R}^{3}\) be the initial configuration occupied by a muscle at the beginning of the simulation. We are interested in the deformation at all times \(t\in [0,T]\), where \(T>0\) is the simulation end time. For a material point \(\mathbf{X} \in {V_{0}}\), its position \(\mathbf{x}(\mathbf{X},t)\) in the deformed configuration \({V_{t}}\) is expressed in terms of a displacement vector field \(\mathbf{u}:{V_{0}}\times [0, T] \rightarrow \mathbb{R}^{3}\) such that

With these definitions, the deformation gradient \(\mathbf{F}: {V_{0}}\times [0, T] \rightarrow \mathbb{R}^{3}\otimes \mathbb{R}^{3}\) is defined by

where \(\nabla _{X}\) is the gradient operator with respect to the initial configuration \({V_{0}}\) and \(\mathbf{I}\) the second order identity tensor. In the following we also use the right Cauchy–Green deformation tensor \(\mathbf{C}: {V_{0}}\times [0, T] \rightarrow \mathbb{R}^{3}\otimes \mathbb{R}^{3}\) defined by \(\mathbf{C} = \mathbf{F}^{\top }\mathbf{F}\). The motion of the muscle is governed by the linear balance of momentum, which reads in Lagrangian form

Here, \(\mathbf{S}:{V_{0}}\times [0, T] \rightarrow \mathbb{R}^{3}\otimes \mathbb{R}^{3}\) is the second Piola–Kirchhoff stress tensor, \(\mathbf{b}_{0}:{V_{0}}\rightarrow \mathbb{R}^{3}\) the body force acting on the volume of the muscle, and \(\rho _{0}:{V_{0}}\rightarrow \mathbb{R}\) the mass density. Furthermore, \(\ddot{\mathbf{u}}\) is the second time derivative of the displacement field.

We assume that the second Piola–Kirchhoff stress tensor can be additively decomposed into a passive, an active, and a prestress part,

In the present paper, the passive contribution is determined by an incompressible visco-elastic Kelvin–Voigt material response [32]

with \(f^{M}(\gamma ^{M}) = \gamma ^{M}\) and \(f^{T}(\gamma ^{M}) = 1- \gamma ^{M}\). The function \(\gamma ^{M}:{V_{0}}\rightarrow [0,1]\) distinguishes between muscle (M) and tendon (T) material. The material parameters \(\mu ^{i}\in \mathbb{R}\) and \(\eta ^{i}\in \mathbb{R}\) with \(i = M,T\) are the shear modulus and viscosity, respectively. Furthermore, \(p:{V_{0}}\rightarrow \mathbb{R}\) is the volumetric stress response, which is not determined by the material law, due to the assumption of an incompressible material. For the active part, we follow [18] and use

where \(\alpha :[0,T]\rightarrow \mathbb{R}\) is the activation parameter, \(\lambda _{f}:{V_{0}}\times [0,T] \rightarrow \mathbb{R}\) is the fiber stretch, \(S_{max}\in \mathbb{R}\) is the maximal stress which can be produced at the optimal fiber stretch \(\lambda _{f}^{opt}\in \mathbb{R}\), \(\mathbf{M}\in {V_{0}}\rightarrow \mathbb{R}^{3}\otimes \mathbb{R}^{3}\) is defined by the dyadic product of the fiber direction in the initial configuration [9], and the parameters \(\nu \in \mathbb{R}\), \(\Delta W\in \mathbb{R}\) influence the shape of the active response function. Finally, the prestress \(\mathbf{S}^{pre}\) in (4) is assumed to be self-equilibrated, i.e., \(\text{Div} (\mathbf{F} \cdot \mathbf{S}^{pre}) = 0\) in the initial configuration \({V_{0}}\). In order to set up an initial-boundary value problem, the field equations above are supplemented by homogeneous initial conditions and boundary conditions on \(\Gamma _{0} = \partial {V_{0}}\). In the present paper we assume that the muscles are at rest at simulation start \(t=0\), i.e., the initial conditions read

The displacement boundary conditions for a single muscle fiber are

Here, \(\hat{\mathbf{u}}: \Gamma _{0}^{D}\times [0,T] \rightarrow \mathbb{R}^{3}\) is a given displacement field on the Dirichlet boundary \(\Gamma _{0}^{D}\). In order to state the Neumann boundary conditions, we introduce the Cauchy traction \({\mathbf{t}}: \Gamma _{0}\times [0,T] \rightarrow \mathbb{R}^{3}\) on the boundary

with \(\mathbf{n}_{0}:\Gamma _{0} \rightarrow \mathbb{R}^{3}\) being the unit exterior vector normal to the boundary surface \(\Gamma _{0}\). Then, the traction boundary condition states

where \(\hat{\mathbf{t}}: \Gamma _{0}^{N}\times [0,T] \rightarrow \mathbb{R}^{3}\) is the given traction vector on the Neumann boundary \(\Gamma ^{N}_{0}\).

### Cable model for muscle fiber

In this section a cable model for the continuum mechanics setting introduced above is developed. To this end, we introduce the parameter domain \(P=[0,1]\times [0,1]\times [0,2\pi ]\) with the cable radius \(r\) and assume that the initial configuration \({V_{0}}\) of one muscle is parametrized by \(\mathbf{X}^{3D}: P \rightarrow {V_{0}}\) with

where \(\mathbf{X}(\theta ^{1}): [0,1] \rightarrow {\Omega _{0}}\) is a parametrization of the initial centerline curve \({\Omega _{0}}\), \(\mathbf{N}:[0,1] \rightarrow \mathbb{R}^{3}\) and \(\mathbf{B}:[0,1] \rightarrow \mathbb{R}^{3}\) are the normal vector and the binormal vector to \({\Omega _{0}}\) defined by

and \(r_{0}:[0,1]\rightarrow \mathbb{R}\) is the initial radius of the cross-section. Furthermore, \(\mathbf{X}_{,\theta ^{1}}\) and \(\mathbf{X}_{,\theta ^{1}\theta ^{1}}\) denote the first and second derivative with respect to \(\theta ^{1}\). The shape of the cross-section is described by \(\phi _{1},\,\phi _{2}:[0,1]\times [0,2\pi ]\rightarrow \mathbb{R}\). In the present paper we consider only circular cross-sections by setting

The current configuration \({V_{t}}\) is parametrized by \(\mathbf{x}^{3D}: P \rightarrow {V_{t}}\) as

where \(\mathbf{x}(\theta ^{1}): [0,1] \rightarrow {{{\Omega }}}\) is a parametrization of the deformed centerline curve \({\Omega }\), and \(r:[0,1]\rightarrow \mathbb{R}\) is the current radius of the cross-section. The normal vector \(\mathbf{n}(\theta ^{1})\) and the binormal vector \(\mathbf{b}(\theta ^{1})\) are defined analogously to (12). Thus, the base vectors \(\mathbf{G}_{i}=\frac{\partial \mathbf{X}^{3D}}{\partial \theta ^{i}}\) with \(i=1,2,3\) are given for the initial configuration by

with \(\mu _{0} = 1 - \theta ^{2}\kappa _{0}\sin \theta ^{3}\), where \(\kappa _{0} = \mathbf{A}_{1,\theta ^{1}} \cdot \mathbf{N}\) is the curvature, and \(\varphi _{0} = \mathbf{B}_{,\theta ^{1}} \cdot \mathbf{N}\) the torsion. Furthermore, \(\mathbf{A}_{1} = \mathbf{X}_{,\theta ^{1}}\) is the tangent vector to the centerline curve in the initial configuration. Therefore, the components of the metric tensor \(G_{ij}=\mathbf{G}_{i} \cdot \mathbf{G}_{j}\) are

Due to (14), the base vectors in the current configuration are

with \(\mu = 1 - \theta ^{2}\kappa \sin \theta ^{3}\), \(\kappa = \mathbf{a}_{1,\theta ^{1}} \cdot \mathbf{n}\), and \(\varphi = \mathbf{b}_{,\theta ^{1}} \cdot \mathbf{n}\). Furthermore, \(\mathbf{a}_{1} = \mathbf{x}_{,\theta ^{1}}\) is the tangent vector to the centerline in the current configuration. Thus, the components of the metric are given by

The volume elements are given by the determinants of the respective metric coefficient matrices,

Next, we formulate the incompressibility constraint on the cross-section level. This reads

Inserting (18) and (19), we immediately obtain the relation

This relation can be interpreted as follows. The expression \(\frac{||\mathbf{a}_{1}||}{||\mathbf{A}_{1}||}\) is the ratio of the lengths of the tangent vectors to the centerline curves in the initial and the current configurations and therefore represents the stretch of the centerline curve. In case of an elongation of the centerline curve, the cross-section is supposed to shrink. Therefore, the inverse of the stretch appears in (21). Due to circular cross-sections, the area scales quadratically with the radius. This leads to the square root in (21). Furthermore, we note that, once the tangent vector in the current configuration \(\mathbf{a}_{1}\) is known, the radius of the circular cross-section in the current configuration can be computed.

### Passive stress response

In order to proceed with the passive stress response in local coordinates, we introduce some more notation. The dual basis vectors to \(\mathbf{G}_{i}\) are denoted by \(\mathbf{G}^{j}\) and fulfill

Furthermore, the contravariant coefficients of the metric are \(G^{ij} = \mathbf{G}^{i} \cdot \mathbf{G}^{j}\).

The right Cauchy–Green deformation tensor is given in local coordinates as \(\mathbf{C} = \sum _{i=1}^{3}\sum _{j=1}^{3} g_{ij} \, \mathbf{G}^{i} \otimes \mathbf{G}^{j}\), whereas the inverse tensor is given by \(\mathbf{C}^{-1} =\sum _{i=1}^{3}\sum _{j=1}^{3} g^{ij} \,\mathbf{G}_{i} \otimes \mathbf{G}_{j}\). The trace is given by \(\text{tr}\mathbf{C} = \sum _{i=1}^{3}\sum _{j=1}^{3} G^{ij}g_{ij}\). In the present model, we assume that the radii \(r_{0}(\theta ^{1})\) as well as \(r(\theta ^{1})\) do not vary rapidly along the muscle fiber such that \(r_{0,\theta ^{1}}=r_{,\theta ^{1}}\approx 0\). Furthermore, bending and torsion is neglected. Thus, the right Cauchy–Green deformation tensor is approximated by

and the inverse is given by

The time derivative of the right Cauchy–Green deformation tensor is given by

due to

The passive contribution of the second Piola–Kirchhoff stress tensor is given by

with

Due to the slenderness of a muscle fiber, it is natural to introduce the common assumption in cable models of vanishing stress in radial direction, i.e., \(S^{p,22} \approx 0\). The enforcement of this assumption allows us to statically condensate the volumetric response

Due to (21), substitution of (29) into (28) yields

### Active stress

We assume that the active stress is generated such that it acts only along the direction of the centerline curve. Therefore, we have

with

where \(\lambda _{\Omega }^{opt}\in \mathbb{R}\) is the optimal centerline stretch and the stretch of the centerline \({{\lambda _{\Omega }}}:\Omega \rightarrow \mathbb{R}\) is defined by

### Prestress

For the prestress contribution, we have

where \(\sigma _{0} \in \mathbb{R}\) is an input parameter.

Thus, in total the second Piola–Kirchhoff stress tensor is given by

with

### Weak formulation

The weak formulation of the balance of momentum (3) reads as follows: Compute \(\mathbf{u}:{V_{0}}\rightarrow \mathbb{R}^{3}\) such that

is fulfilled for all appropriate test functions \({\pmb{\xi }}:{V_{0}}\rightarrow \mathbb{R}^{3}\). Here, \({V_{0}}\) is the cable volume in the undeformed configuration, whereas \(\Gamma \) is the boundary surface in the current configuration and consists of the cross-sections at the cable ends and the lateral surface. For the weak formulation of the cable model, we consider only test functions which are constant over the cross-section. This allows us to preintegrate in (37) over the cable cross-section in the undeformed configuration and obtain

where \(S^{11}\) is given by (36) and now \({\pmb{\xi }}:{\Omega _{0}}\rightarrow \mathbb{R}^{3}\). In the following we will present our treatment of the integral over the boundary \({\Gamma }\), leading to coupling and contact terms. To this end, we consider the decomposition \({\Gamma }= {\Gamma }^{free} \cup \Gamma ^{c}\cup \Gamma ^{R-F}\cup \Gamma ^{F-F}\). On the free boundary \({\Gamma }^{free}\), we have the Neumann boundary condition \(\hat{\mathbf{t}} = 0\), i.e., we do not have to consider the integration over \({\Gamma }^{free}\) further. The coupling of the cable end cross-sections \(\Gamma ^{c}\) and a rigid body system will be presented in Sect. 3.2. The treatment of the contact surfaces \(\Gamma ^{R-F}\) between the lateral cable surfaces with the rigid body system is described in Sect. 3.3, whereas the contact surfaces \(\Gamma ^{F-F}\) between different lateral fiber surfaces are treated in Sect. 2.4.

### Contact between fibers

In this section we discuss the contact between two muscles with centerlines \(\Omega _{1}\) and \(\Omega _{2}\). We remark that, for simplicity, only a single muscle was considered in the previous sections. To consider multiple fibers, the weak form of all individual fibers have to be summed up. When the muscles are treated as three-dimensional continua, the two-dimensional fiber–fiber contact surface is given by \(\Gamma ^{F-F}= {\Gamma }_{1} \cap {\Gamma }_{2}\). In order to simplify the situation, we use a curve–curve contact that considers the cross-sections. Furthermore, instead of the classical master–slave approach, we use the so-called two-half-pass approach first presented in [20, 21]. Therefore, in the weak form related to the fiber with centerline \(\Omega _{1}\), we use the approximation

where the integration over the contact surface \(\Gamma ^{F-F}_{1}\) is replaced by a part of the centerline \(\Omega ^{F-F}_{1} \subset \Omega _{1}\) and the surface traction \(\mathbf{t}\) is replaced by the line force \(\bar {\mathbf{t}}: \Omega _{1}^{MM} \rightarrow \mathbb{R}^{3}\). In order to specify \(\Omega ^{F-F}_{1}\) and \(\bar {\mathbf{t}}\), we define the dimensionless gap function \(g: \Omega _{1} \rightarrow \mathbb{R}\),

where \(d:\Omega _{1}\times \Omega _{2}\rightarrow \mathbb{R}^{+}\) is the distance of a point \(\mathbf{x} \in \Omega _{1}\) to the closest point \(\mathbf{y} \in \Omega _{2}\) on the second fiber involved in the contact,

The radii of the muscles in the current configuration at \(\mathbf{x} \in \Omega _{1}\) and \(\mathbf{y}\in \Omega _{2}\) are denoted by \(r_{x} \in \mathbb{R}\) and \(r_{y} \in \mathbb{R}\), respectively. In view of the kinematics in (14), we note that the development of a contact zone between two cables is not possible. Thus, we allow that the muscle fibers penetrate each other by using an approach which can be interpreted as a penalty method. To this end, the contact curve is given by \(\Omega ^{F-F}_{1} = \{ \mathbf{x} \in \Omega _{1} \, | \, g(\mathbf{x})<0 \}\subset \Omega _{1}\) and the contact force \(\bar {\mathbf{t}}\) is determined by

Here, the direction of the contact force is given by

whereas the magnitude is given by

with the penalty parameter \(\varkappa \in \mathbb{R}\) which has the dimension of force per length, and the dimensionless parameter \(\gamma \in \mathbb{R}\) determining the maximal possible penetration. In (44) we have chosen a rational functional relation for the contact force in dependence of the gap function. It has the desired property that \(F\rightarrow \infty \) for \(1+\gamma g \rightarrow 0\), e.g., the contact force becomes infinitely large if the penetration approaches a certain value. This excludes the nonphysical behavior that two fibers could cross each other, which could occur when using a linear functional relation for the contact traction. Due to the nominator in (44) configurations with too large penetration, e.g., when \(d < \left (r_{x}+r_{y}\right )\left (1-\frac{1}{\gamma }\right )\), are not admissible, see Fig. 1.

## Coupling the cables with a rigid multibody system

In this section we describe our strategies to couple the cable model for muscles with a rigid body model representing bones. We start with the introduction of the rigid body system. Afterwards, the coupling at the muscle insertion points is considered. Finally, the contact along the muscles and the rigid bodies is treated.

Though the coupled system represents a flexible multibody system, our model does not use the wide-spread floating reference frame approach. Instead, minimal coordinates for the rigid body motion are combined with the large deformation of the cable model, which includes rotation and translation for the elastic fiber, cf. the absolute nodal coordinates, Shabana [23], and the approach taken by Lang et al. [11] for geometrically exact Cosserat rods.

### Rigid body system

Let the state of the rigid-body system be described by the time-dependent configuration vector \({\mathbf{q}}(t)\in \mathbb{R}^{n}\) using minimal coordinates. The Lagrangian related to the rigid-body system is then given by

It is composed of the kinetic energy \(T_{RB}(\dot{{\mathbf{q}}}):\mathbb{R}^{n} \rightarrow \mathbb{R}\) and the potential energy \(V_{RB}({\mathbf{q}}):\mathbb{R}^{n} \rightarrow \mathbb{R}\). We introduce the action

Then, the Lagrange–d’Alembert principle states

where \(\mathbf{F}\) is an external force acting on the system. Thus, the forced Euler–Lagrange equations are

In the present paper we assume that the geometry of each rigid body is a right circular cylinder.

### Coupling between fibers and rigid bodies

We assume a pointwise coupling of the end cross-sections \(\Gamma ^{c}\) at the end points of the centerline \(\Omega \) with the rigid body model, Fig. 2. Thus, the actual shapes of the end cross-sections are not taken into account. Let \(\mathbf{X}^{c} \in \Gamma ^{c}_{0}\) be a coupling point in the initial configuration at \(t=0\), i.e., a material point of a muscle fiber which is attached to the rigid body system. The coupling conditions at \(\mathbf{X}^{c}\) are

which have to hold for all \(t\in [0,T]\). Here, \(\hat{\mathbf{c}}^{RB}:\mathbb{R}^{3}\times \mathbb{R}^{n} \rightarrow \mathbb{R}^{3}\) is the nonlinear position function of the rigid body system yielding the current position of \(\mathbf{X}^{c}\) for the configuration \({{{\mathbf{q}}}}(t)\). The right-hand side of (49a) is the current position of \(\mathbf{X}^{c}\) computed by the displacement \(\mathbf{u}(\mathbf{X}^{c},t)\) of the muscle fiber. Thus, equation (49a) ensures the compatibility of the deformation. In Sect. 4 we will use \(\mathbf{c} = \hat{\mathbf{c}}^{RB} - \mathbf{X}^{c}\) and reformulate (49a) appropriately as a constraint on the end positions of the muscles. Equation (49b) is the Newton’s second law, where \(\mathbf{F}^{RB}\) and \(\mathbf{F}^{M}\) are the respective forces at the coupling point. It will be considered by means of Lagrange multipliers in Sect. 4.

### Contact between rigid bodies and muscles

Similarly to Sect. 2.4 we consider a cylinder–curve contact, where we take the cross-section of the curve and the cylinder into account. To this end we approximate the integral over the contact surface \(\Gamma ^{R-F}\) by

The gap function is now defined as

where \(d\) is the distance of a point \(\mathbf{x} \in \Omega ^{R-F}\) to the closest point \(\mathbf{y} = \mathbf{y}_{0}-((\mathbf{x}-\mathbf{y}_{0})\cdot \mathbf{t}^{RB}) \mathbf{t}^{RB}\) on the cylinder axis. Here, \(\mathbf{y}_{0}\in \mathbb{R}^{3}\) is a point on the cylinder axis and \(\mathbf{t}^{RB} \in \mathbb{R}^{3}\) is the unit vector in the direction of the axis. In (51) \(r_{x}\in \mathbb{R}\) denotes the radius of the muscle cross-section at \(\mathbf{x}\), whereas \(r_{RB}\in \mathbb{R}\) is the radius of the cylinder involved in the contact. The contact traction \(\bar {\mathbf{t}}\) is computed by means of (42).

## Numerical realization

In this section, we outline the numerical discretization of the coupled model with rigid bodies and elastic muscle fibers.

### Semidiscretization in space

We employ a semidiscretization in space of the cable model by means of cubic Hermite basis functions. Thus, the cable middle curve and the displacement unknowns are approximated by \(C^{1}\)-continuous functions. On one element we have the decomposition

where \(\mathbf{X}_{i}\) describe the initial geometry of the element, \(\mathbf{u}_{i}\) are the local unknowns, and \(\phi _{i}(\xi )\) are the cubic Hermite element shape functions

The element shape functions are pieced together to basis functions \(\mathbf{N}_{i}\), \(i=1,\dots ,N_{s}\), and result in the usual way in a semidiscrete substructure for each fiber.

In the next step, the semidiscretized individual muscle fibers with unknown displacement variables \({\mathbf{u}}_{h}(t)\) need to be coupled with the rigid body dynamics \(\mathbf{q}(t)\) by means of the constraints (49a) and corresponding Lagrange multipliers, which incorporate (49b). For simplicity, we restrict the discussion of the coupled system to a single fiber, for which the resulting equations read

The Euler–Lagrange equations (48) for the rigid body system are reformulated in (54a). In (54b) the entries of mass matrix \(\mathbf{M}_{M}\) of a single fiber are given by

whereas the inner force vector is given by

and the contribution due to body forces is

The coupling conditions (49a) are rewritten in (54c) with a Boolean matrix \(\mathbf{B}\) that extracts those boundary nodes from \(\mathbf{u}_{h}\) that are subject to the corresponding constraints. Overall, the semidiscretized system (54a)–(54c) forms a differential-algebraic equation (DAE) with additional Lagrange multipliers \(\pmb{\lambda }\) and Jacobian matrix \(\mathbf{C}(\mathbf{q}) = \partial \mathbf{c}(\mathbf{q})/ \partial \mathbf{q}\). We remark that all integrals in Eqs. (55)–(57) are approximated by Gaussian quadrature.

The constraint (54c) allows us to directly eliminate the superfluous boundary nodes in the coupling interface. As a next step, we sketch this procedure that transforms the DAE (54a)–(54c) to a state space model. For this purpose, we partition the elastic displacements as \(\mathbf{u}_{h} = ( \mathbf{u}_{I}, \mathbf{u}_{D})\) with independent (or interior, respectively) variables \(\mathbf{u}_{I}\) and dependent (or Dirichlet boundary, respectively) variables \(\mathbf{u}_{D}\). Thus, \(\mathbf{B} = (\mathbf{0}, \mathbf{I}_{u_{D}})\) with an identity matrix \(I_{u_{D}}\) of the size of the boundary nodes, and the nullspace matrix of the constraint (54c) is then

In other words, it holds that \((\mathbf{C}(\mathbf{q}), - \mathbf{B}) \cdot \mathbf{N}(\mathbf{q}) = ( \mathbf{C}(\mathbf{q}), \mathbf{0}, -\mathbf{I}_{u_{D}}) \cdot \mathbf{N}( \mathbf{q}) \equiv \mathbf{0}\) for all states \(\mathbf{q}\). From the constraint (54c), we deduce the relations

By inserting these relations into the DAE (54a)–(54c) and premultiplying the dynamic equations by \(\mathbf{N}(\mathbf{q})^{T}\), we can eliminate the dependent variables and the Lagrange multipliers. To this end, the constant finite element mass matrix \(\mathbf{M}_{M}\) is partitioned into

according to the structure of \(\mathbf{u}_{h}\). The state space form then reads

where \(\widetilde{\mathbf{M}}_{RB}({\mathbf{q}}) := \mathbf{M}_{RB}({\mathbf{q}}) + \mathbf{C}(\mathbf{q})^{T} \mathbf{M}_{D} \mathbf{C}(\mathbf{q}) \) and

The state space model requires the derivative term \(\mathbf{C}_{q}(\mathbf{q})(\dot{\mathbf{q}},\dot{\mathbf{q}})\) from the coupling condition. In our approach we find it more straightforward to use a formulation where the coupling condition is still explicitly given while the Lagrange multipliers are eliminated. This is possible due to the special partitioning of the displacements into \(\mathbf{u}_{h} = ( \mathbf{u}_{I}, \mathbf{u}_{D})\). We introduce velocity variables \(\mathbf{p} = \dot{\mathbf{q}}\) and \(\mathbf{v}_{h} = \dot{\mathbf{u}_{h}}\) and conclude from (54b) and (60) that

Then we insert this expression into (54a) and obtain, along with the differentiated coupling constraint for the velocities, the DAE formulation

where \(\widehat{\mathbf{R}}_{RB}({\mathbf{q}},{\mathbf{u}}_{h}, \mathbf{v}_{h}) := \mathbf{R}_{RB}({\mathbf{q}},{\mathbf{u}}_{h}) + \mathbf{C}(\mathbf{q})^{T} \mathbf{B} \cdot \left (\mathbf{R}_{h}(\mathbf{u}_{h},\mathbf{v}_{h}) + \mathbf{R}_{b}\right )\). Note that this formulation is completely equivalent to the original DAE (54a)–(54c) and the state space form (61a), (61b). It has a “GGL-like” structure, and by one-time differentiation of the constraints (63c) and (63d), an ordinary differential equation in all variables is obtained. The index of (63a)–(63d) is thus equal to 1. For a general constrained mechanical system, such a partitioning of the unknowns and also the special structure of the constraint equations do not hold, and consequently (63a)–(63d) cannot be derived.

### Semidiscretization in time

We consider a uniform discretization of the time interval \([0, T]: (t^{0} ,\dots , t^{N_{t}} )\), with \(t^{i} = i\,\Delta t\), \(i = 0,\dots , N_{t}\), where \(\Delta t > 0\) is the time-step size and \(N_{t}\) the number of time-steps. We denote by \(\mathbf{u}_{h}^{i}\) the discrete displacement field at time-step \(t^{i}\). This notation applies to all discretized quantities. We use the backward Euler method for time discretization. Then, the fully discrete schema reads: Find (\({ \mathbf{q}}^{i+1}, {\mathbf{p}}^{i+1}, \mathbf{u}_{h}^{i+1}, \mathbf{v}_{h}^{i+1}\)) such that

with initial conditions \(\mathbf{q}^{0} = \mathbf{q}_{0}\), \({\mathbf{p}}^{0} = {\mathbf{p}}_{0}\), \(\mathbf{u}_{h}^{0} = \mathbf{u}_{h,0}\), \(\mathbf{v}_{h}^{0}= \mathbf{v}_{h,0}\). The nonlinear problem (64) is solved by Newton’s method in combination with a safeguard algorithm described in Sect. 4.4. The expressions for the tangent matrix are summarized in the Appendix.

### Contact numerics

Here, we describe the numerical treatment of the contact between muscles. As all integrals, the last two integrals in (56) related to contact are approximated by quadrature. Therefore, we have

where \(\mathbf{x}_{k} \in \mathbb{R}^{3}\) and \(\omega _{k}\in \mathbb{R}\) are the \(n_{Q}\) quadrature nodes and weights. In order to evaluate the contact traction \(\tilde{\mathbf{t}}\) between two fibers, we have to find the closest point \(\mathbf{y}(\xi )\) on each possible contact partner corresponding to the quadrature point \(\mathbf{x}_{k}\). The necessary condition for \(\mathbf{y}(\xi )\) to be a minimizer reads

In order to obtain \(\mathbf{y}(\xi )\) for a given point \(\mathbf{x}_{k}\), we remark that the centerline is discretized by Hermite shape functions (53), i.e., by piecewise cubic polynomials. Thus, we have to solve for each possible contact element a quintic equation in \(\xi \) of the form

with

and the local coefficients \(\mathbf{y}_{i} = \mathbf{Y}_{i} + \mathbf{u}^{y}_{i}\) describing the current position of the respective finite element. In order to have a robust method we would like to find all roots of (67). To this end, we use the Matlab function *roots*. After having found all roots we evaluate also the distance at the element borders and take the point with minimal distance as \(\mathbf{y}(\xi )\).

### Safeguard algorithm

In each time-step the resulting nonlinear system (64) is solved using Newton’s method. However, in order to have a robust method we have to ensure that the contact penetrations do not become too large and not admissible. To this end, we employ a safeguard algorithm and scale the step-size of the Newton method by a factor \(\delta \le 1\) if necessary. Let the Newton iteration be

where \(\mathbf{u}^{i}\) and \(\mathbf{u}^{i+1}\) is the current and next iterate and \(\Delta \mathbf{u}\) the update. In view of (44), the contact traction becomes infinite whenever

at any spatial location \(x\). Thus, we have to ensure that \(\epsilon (\delta ) > 0\) for the contact between two fibers. However, the evaluation of the function \(\epsilon (\delta )\) requires the full evaluation of the contact algorithm. In order to avoid this costly evaluation, let \(e_{\epsilon }(\delta )\) be an estimate of \(\epsilon (\delta )\) such that \(\epsilon (\delta ) \ge e_{\epsilon }(\delta )\). Then, we want to determine \(\delta \in [0,1]\) such that

with chosen parameter \(0<\bar {\delta }<1\). In our implementation we compute the estimate element-wise. Thus, for an element \(E\) we have

with

Here, \(\min _{E}\) and \(\max _{E}\) is the respective minimum and maximum on the considered element \(E\), whereas \(\min _{\Omega \setminus \Omega _{E}}\) and \(\max _{\Omega \setminus \Omega _{E}}\) is the respective minimum and maximum on all other fibers except the fiber containing element \(E\).

## Numerical results

In this section we present the results of numerical computations.

### Verification of the cable model

In this first example we verify our implementation of the cable model. To this end, we consider a single fiber with properties given in Table 1. The muscle ratio \(\gamma ^{M}\) follows the function

where \(\theta \in [0,1]\) is the dimensionless position in the fiber. Following the idea of a manufactured solution, we prescribe the motion of the fiber centerline as

For this chosen motion we compute the necessary body force by

For the actual computation of (76), we used the symbolic computation capabilities of Matlab. The resulting function is prescribed in our numerical calculation. We have conducted a convergence study of the error \(||u^{h}_{2}(0.5,t)-u_{2}(0.5,t)||_{L_{2}([0,T])}\) using computations with different spacial and temporal discretizations. Here,

denotes the second component of the exact solution (75) in the middle of the cable, whereas \(u^{h}_{2}(0.5,t)\) is the corresponding numerical solution. The results of the convergence study are illustrated in Fig. 3. We observe the optimal linear convergence rate of the temporal discretization provided the spatial discretization is fine enough.

### Verification of the contact integration

In this example we investigate the influence of the contact integration described in Sect. 4.3. To this end we consider the contact between a rigid cylinder and a homogeneous fiber. The model parameters are given in Table 2. We load the fiber by a distributed line load of \(b_{z} = -1000\) N/m. The initial and the deformed configurations are visualized in Figs. 4a and 4b, respectively. We study the effect of the integration and the number of elements on the displacement solution. To this end we observed the minimal vertical displacement (see Fig. 5). As a reference value we have taken the displacement obtained with the most quadrature points and 128 elements. We observe convergence with growing number of quadrature points for a fixed number of elements used. The error due to integration is less than \(1\%\) when 4 or more quadrature points are used. Furthermore, also the convergence with respect to the number of elements can be observed. When 32 elements or more are used, the error is below \(1\%\). Therefore, we will use 5 quadrature points per element for the contact integration in the following examples.

### Spatial convergence of the contact between fibers

In this verification example we study the spatial convergence of the contact algorithm for the fiber–fiber contact. To this end, we consider the contact between two homogeneous fibers with material parameters given in Table 3. The initial configuration, where no contact is present, is depicted in Fig. 6a. The upper fiber is statically loaded by a uniform line load \(b_{z} = -5000\) N/m in vertical direction such that it deflects and comes in contact with the lower fiber. The deformed configuration after loading is depicted in Fig. 6b.

We have solved the problem with different space discretizations and evaluated the displacement in the \(z\)-direction \(u^{h}_{z}(0.5)\) at the middle of the upper fiber. The results of the convergence study are illustrated in Fig. 7. As a reference value \(u^{ref}_{z}(0.5)\), we have taken the result obtained for the finest discretization. We observe the convergence of the error with growing number of elements used.

### Upper limb model

We consider a strongly simplified model of the upper limb, consisting of three rigid bodies and five fibers modeling the biceps (two fibers) and triceps muscles (three fibers), see Fig. 8. The rigid body representing the upper arm is assumed to be fixed in space. The second rigid body representing the forearm is assumed to have only one rotational degree of freedom around the \(y\)-axis. The third rigid body is an additional wrapping surface in order to force the triceps fibers to bend around the elbow. The biceps and the triceps are modeled by two and three fibers lying (almost) in parallel, respectively. The radii of all muscles and the muscle ratio are assumed to be

where \(\theta \in [0,1]\) is the dimensionless position along the fiber. The remaining model parameters are given in Table 4. We remark that the model parameters have been adapted from [18] and [13]. However, due to the lack of data, the parameters \(\eta \) and \(\sigma _{0}\), as well as the functions in (77), are an ad hoc choice of the authors. The prestress \(\sigma _{0}\) has been adapted such that forearm is nearly facing downwards in the initial configuration. Therefore, the results have to be understood in a qualitative way, showing the potentials of the proposed approach. We perform a dynamic forward simulation with the prescribed activation curves

for the biceps and triceps fibers, respectively, see Fig. 9. The simulation end time is chosen to be \(T=8~\mbox{s} \). We have solved the problem with different discretizations in space and time. The discretization parameters and the elapsed computation time are given in Table 5. Here, \(N_{e}\) refers to the number of elements per fiber and \(N_{t}\) is the number of time-steps. Thus, we have used \({40,\,80,\,160,\,320}\) finite elements resulting in \({542,\,1022,\,1982,\,3902}\) degrees of freedom in the semidiscretized systems. All computations are performed on a personal computer with an AMD Ryzen 7 3700X 8-Core processor, which uses an Ubuntu 18.04 operating system.

The angle of rotation of the forearm is plotted over time in Fig. 10. Since the resulting curves virtually agree we conclude that the discretization error is low. We observe some oscillations in the beginning of the simulation, which are related to the initial conditions. Due to physical and numerical damping, these oscillations disappear after the first cycle. Figure 11 illustrates the forces in one biceps and one triceps fiber at the coupling point to the upper arm are plotted over time. For the same fibers, the internal forces are displayed over the fiber length for two times in Fig. 12. In Fig. 13 some snapshots in time of the upper limb model are plotted.

## Conclusion

A new fiber-based simulation framework for the forward-dynamics of the musculoskeletal system has been presented. All components including the muscles are represented by three-dimensional bodies. Due to their stiffness, bones are modeled as rigid bodies, whereas muscles are described by one-dimensional cables that are derived from continuum mechanics. The advantage of this approach lies in the relatively low computational cost compared to models accounting for full three-dimensional kinematics, without introducing too much assumptions like in lumped parameter models.

In the present approach the rigid bodies are restricted to be cylinders. In future work we plan to incorporate triangulated bone surfaces into our model. Furthermore, we would like to couple the present model with an electrochemical model on the microscopic level that captures the relevant effects of the actin–myosin binding process during muscle contraction [16]. So far, our focus has been on forward-dynamics, like for the simulation of the upper limb model. For realistic applications, however, the control of the biomechanical system becomes an important challenge. Currently, we are investigating the usage of both classical optimal control and reinforcement learning for this purpose. Finally, so far no attempt of validation against experimental data of the presented approach has been made. This important step will also be part of future work.

## References

Arnold, A.S., Salinas, S., Hakawa, D.J., Delp, S.L.: Accuracy of muscle moment arms estimated from MRI-based musculoskeletal models of the lower extremity. Comput. Aided Surg.

**5**(2), 108–119 (2000)Blemker, S.S., Delp, S.L.: Three-dimensional representation of complex muscle architectures and geometries. Ann. Biomed. Eng.

**33**(5), 661–673 (2005)Delp, S.L., Loan, J.P., Hoy, M.G., Zajac, F.E., Topp, E.L., Rosen, J.M.: An interactive graphics-based model of the lower extremity to study orthopaedic surgical procedures. IEEE Trans. Biomed. Eng.

**37**(8), 757–767 (1990)Garner, B.A., Pandy, M.G.: The obstacle-set method for representing muscle paths in musculoskeletal models. Comput. Methods Biomech. Biomed. Eng.

**3**(1), 1–30 (2000)Gruber, K., Ruder, H., Denoth, J., Schneider, K.: A comparative study of impact dynamics: wobbling mass model versus rigid body models. J. Biomech.

**31**(5), 439–444 (1998)Haeufle, D., Günther, M., Bayer, A., Schmitt, S.: Hill-type muscle model with serial damping and eccentric force–velocity relation. J. Biomech.

**47**(6), 1531–1536 (2014)Heidlauf, T., Klotz, T., Rode, C., Altan, E., Bleiler, C., Siebert, T., Röhrle, O.: A multi-scale continuum model of skeletal muscle mechanics predicting force enhancement based on actin–titin interaction. Biomech. Model. Mechanobiol.

**15**(6), 1423–1437 (2016)Hill, A.: The series elastic component of muscle. Proc. R. Soc. Lond. B, Biol. Sci.

**137**, 273–280 (1950)Holzapfel, G.A.: Nonlinear Solid Mechanics: A Continuum Approach for Engineering Science. Wiley, New York (2000)

Hwang, J., Knapik, G.G., Dufour, J.S., Aurand, A., Best, T.M., Khan, S.N., Mendel, E., Marras, W.S.: A biologically-assisted curved muscle model of the lumbar spine: model structure. Clin. Biomech.

**37**, 53–59 (2016)Lang, H., Linn, J., Arnold, M.: Multi-body dynamics simulation of geometrically exact Cosserat rods. Multibody Syst. Dyn.

**25**(3), 285–312 (2011)Lemos, R.R., Rokne, J., Baranoski, G.V., Kawakami, Y., Kurihara, T.: Modeling and simulating the deformation of human skeletal muscle based on anatomy and physiology. Comput. Animat. Virtual Worlds

**16**(3–4), 319–330 (2005)Maas, R., Leyendecker, S.: Biomechanical optimal control of human arm motion. Proc. Inst. Mech. Eng., Proc., Part K, J. Multi-Body Dyn.

**227**(4), 375–389 (2013)Millard, M., Uchida, T., Seth, A., Delp, S.L.: Flexing computational muscle: modeling and simulation of musculotendon dynamics. J. Biomech. Eng.

**135**(2), 021005 (2013)Mörl, F., Siebert, T., Schmitt, S., Blickhan, R., Guenther, M.: Electro-mechanical delay in Hill-type muscle models. J. Mech. Med. Biol.

**12**(05), 1250085 (2012)Plunder, S., Simeon, B.: Coupled systems of linear differential-algebraic and kinetic equations with application to the mathematical modelling of muscle tissue. In: Reis, T., Grundel, S., Schöps, S. (eds.) Progress in Differential-Algebraic Equations II. Differential-Algebraic Equations Forum. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-53905-4_12

Röhrle, O., Davidson, J.B., Pullan, A.J.: Bridging scales: a three-dimensional electromechanical finite element model of skeletal muscle. SIAM J. Sci. Comput.

**30**(6), 2882–2904 (2008)Röhrle, O., Sprenger, M., Schmitt, S.: A two-muscle, continuum-mechanical forward simulation of the upper limb. Biomech. Model. Mechanobiol.

**16**(3), 743–762 (2017)Rupp, T., Ehlers, W., Karajan, N., Günther, M., Schmitt, S.: A forward dynamics simulation of human lumbar spine flexion predicting the load sharing of intervertebral discs, ligaments, and muscles. Biomech. Model. Mechanobiol.

**14**(5), 1081–1105 (2015)Sauer, R.A., De Lorenzis, L.: A computational contact formulation based on surface potentials. Comput. Methods Appl. Mech. Eng.

**253**, 369–395 (2013)Sauer, R.A., De Lorenzis, L.: An unbiased computational contact formulation for 3D friction. Int. J. Numer. Methods Eng.

**101**(4), 251–280 (2015)Scholz, A., Sherman, M., Stavness, I., Delp, S., Kecskeméthy, A.: A fast multi-obstacle muscle wrapping method using natural geodesic variations. Multibody Syst. Dyn.

**36**(2), 195–219 (2016)Shabana, A.A.: Dynamics of Multibody Systems. Cambridge University Press, Cambridge (2020)

Sharafi, B., Blemker, S.S.: A micromechanical model of skeletal muscle to explore the effects of fiber and fascicle geometry. J. Biomech.

**43**(16), 3207–3213 (2010)Sharafi, B., Ames, E.G., Holmes, J.W., Blemker, S.S.: Strains at the myotendinous junction predicted by a micromechanical model. J. Biomech.

**44**(16), 2795–2801 (2011)Shorten, P.R., O’Callaghan, P., Davidson, J.B., Soboleva, T.K.: A mathematical model of fatigue in skeletal muscle force contraction. J. Muscle Res. Cell Motil.

**28**(6), 293–313 (2007)Siebert, T., Rode, C., Herzog, W., Till, O., Blickhan, R.: Nonlinearities make a difference: comparison of two common Hill-type models with real muscle. Biol. Cybern.

**98**(2), 133–143 (2008)Simeon, B.: Computational Flexible Multibody Dynamics. Springer, Berlin (2013)

Simeon, B., Serban, R., Petzold, L.R.: A model of macroscale deformation and microvibration in skeletal muscle tissue. ESAIM: Math. Model. Numer. Anal.

**43**(4), 805–823 (2009)van Soest, A.J., Bobbert, M.F.: The contribution of muscle properties in the control of explosive movements. Biol. Cybern.

**69**(3), 195–204 (1993)Winters, J.M.: Hill-based muscle models: a systems engineering perspective. In: Multiple Muscle Systems, pp. 69–93. Springer, Berlin (1990)

Wriggers, P.: Nonlinear Finite Element Methods. Springer, Berlin (2008)

Zajac, F.E.: Muscle and tendon properties models scaling and application to biomechanics and motor. Crit. Rev. Biomed. Eng.

**17**(4), 359–411 (1989)

## Acknowledgements

The authors thank Joachim Linn, Fraunhofer ITWM Kaiserslautern, and Sigrid Leyendecker, FAU Erlangen, for fruitful discussions on the topic. The authors acknowledge the financial support by the German Federal Ministry of Education and Research of Germany in the framework of DYMARA (project number 05M16UKD).

## Funding

Open access funding provided by Graz University of Technology.

## Author information

### Authors and Affiliations

### Corresponding author

## Ethics declarations

### Conflict of interest

The authors declare that they have no conflict of interest.

## Additional information

### Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

## Appendix: Tangent matrix

### Appendix: Tangent matrix

### A.1 Linearization of the passive part of the residuum

The contribution of the passive material response reads

with

Therefore, the tangent matrix is given by

with

### A.2 Linearization of the active part of the residuum

The derivative of the active response residuum reads

where

and

### A.3 Linearization of the contact between cables

The contribution to the residuum reads

with

The tangent matrix has the two main parts

where \(u_{x}\) refers to the displacement of the cable which is integrated and \(u_{y}\) refers to the displacement of a second cable involved in the contact. The derivative of the Jacobian is given by

The derivatives of the contact traction reads

where \(F\) is given by (44) and

The derivative of the gap function \(g\) with respect to the displacement \(u_{x}\) reads

whereas the derivative with respect to the displacement \(u_{y}\) is

For later use, we recall the first order necessary condition for \(d\) to be a minimizer

and obtain by taking the derivatives

Now, the derivatives of \(d\) can be expressed as

Let the change in fiber radius be

such that \(r_{x}(\theta ) = \Lambda (\theta )r_{0}(\theta )\) (see (21)). The derivative of the current radius with respect to the displacement \(u_{x}\) thus reads

The derivative of the radius \(r_{y}(\xi ) = \Lambda (\xi )r_{0}(\xi )\) with respect to the displacement \(u_{x}\) reads

where

The derivative of the radius \(r_{y}\) with respect to the displacement \(u_{y}\) reads

The derivatives of the normal vector \(\mathbf{n}\) are given by

Altogether we have

### A.4 Linearization of the contact between rigid bodies and cables

The contribution to the residuum reads

Thus, the tangent matrix has the form

The derivative of the Jacobian is already given in (89). The derivative of the contact force is given by

We define the normal projector \(\mathbf{P}\) of a cylinder with axis \(\mathbf{t}^{RB}\) as

Then, the normal vector \(\mathbf{n}\) and the gap function \(g\) can be explicitly written as

where \(r = r^{RB} + \Lambda \,r_{0}^{M}\) and \(\mathbf{y}_{0}\) is a point on the rigid cylinder axis. The derivatives are given by

where the derivative of the radius is analogous to (98).

## Rights and permissions

**Open Access** This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article’s Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article’s Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.

## About this article

### Cite this article

Gfrerer, M.H., Simeon, B. Fiber-based modeling and simulation of skeletal muscles.
*Multibody Syst Dyn* **52**, 1–30 (2021). https://doi.org/10.1007/s11044-021-09781-1

Received:

Accepted:

Published:

Issue Date:

DOI: https://doi.org/10.1007/s11044-021-09781-1

### Keywords

- Cable model
- Skeletal muscle mechanics
- Forward-dynamics simulation
- Contact