1 Introduction

The simulation of interacting rods or rod-like bodies has been investigated across many applications, including wire strands [26], cables [2], biopolymer networks [8], woven fabrics [9, 12], entangled fibrous materials [36], DNA supercoiling [18], and deformations in adhesive microstructures [38]. In such examples the large number of bodies and their contact interactions typically cause significant computational costs, which calls for the development of efficient and accurate beam and beam-to-beam contact formulations.

A beam in solid mechanics refers to a dimensionally reduced model of a three-dimensional slender body based on a suitable kinematic assumption. In Cosserat (or directed) rod theory, a material point position in the current configuration, in three-dimensional space, is given by [29]

$$\begin{aligned} {{\varvec{x}}} = {\varvec{\varphi }}(s) + {\zeta ^1}{{\varvec{d}}_1}(s) + {\zeta ^2}{{\varvec{d}}_2}(s), \end{aligned}$$
(1)

where \(\varvec{\varphi }(s)\) denotes the position vector of the current axis,Footnote 1 and \(\varvec{d}_\gamma (s)\,(\gamma \in \left\{ 1,2\right\} )\) represent two director vectors spanning the planar cross-section. s denotes the arc-length coordinate along the initial axis, and \(\zeta ^1\) and \(\zeta ^2\) denote two transverse coordinates of the cross-section. This kinematic expression is sufficiently general to encompass constrained theories like Euler–Bernoulli, and Timoshenko beams [32]. One can refer to Meier et al. [24] and the references therein for various nonlinear beam formulations with orthonormality constraints on the two directors, which are typically satisfied by a parameterization using an orthogonal tensor with three rotational degrees-of-freedom (DOFs) in space, or constraints of shear-free deformations. There are several previous works employing Eq. (1) in its unconstrained form, which allows to use nine DOFs per cross-section, for example, Rhim and Lee [35], Durville [10] and Choi et al. [5]. The same DOFs appear in the brick element formulation with six nodes in Schweizerhof et al. [41] and Konyukhov et al. [15] that use polar coordinates for the elliptical cross-section, combined with a linear approximation along the longitudinal direction.

The extensibility of the two directors in Eq. (1) gives several advantages including an additive configuration update procedure, in-plane cross-sectional deformations, and a straightforward implementation of three-dimensional constitutive laws. Such formulations have been considered in several works. For example, Frischkorn and Reese [11] presented a brick element formulation combined with an enhanced assumed strain (EAS) method, an assumed natural strain (ANS) method, and a reduced integration method in order to alleviate locking. Wackerfuß and Gruttmann [45] developed a mixed hybrid finite beam element formulation where an arbitrary three-dimensional constitutive laws can be easily implemented. The first order expression of Eq. (1) in terms of the transverse coordinates leads to constant in-plane cross-sectional strains, which suffers from artificial increase of bending stiffness for nonzero Poisson’s ratio. In order to circumvent this Poisson locking, two quadratic order terms are additionally introduced in Coda [6]; however, this formulation still suffers from locking due to the missing bilinear terms. An EAS method of enriching all linear in-plane Green–Lagrange strain components was verified to effectively alleviate Poisson locking in Choi et al. [5].

It was shown in Naghdi and Rubin [30] that the consideration of transverse normal strains of the cross-section significantly contributes to correctly predict the contact force distribution. In Kawa et al. [14], a penalty parameter depending on the amount of penetration due to the Hertz theory of elastic contact is utilized within a small strain range in order to consider cross-sectional strains. The beam kinematics of Eq. (1) combined with a simplified constitutive equation to alleviate Poisson locking was employed in Durville [10] for frictional beam-to-beam contact.

In order to more accurately capture cross-sectional strains in a consistent way from three-dimensional elasticity, Eq. (1) can be generalized to have an arbitrary order of approximation in the transverse directions by using the series expansion [1]

$$\begin{aligned} {{\varvec{x}}} = \sum \limits _{p = 0}^N {\sum \limits _{q = 0}^p {{{({\zeta ^1})}^{p - q}}\,{{({\zeta ^2})}^q}\,{{\varvec{d}}^{(p - q,q)}}(s)} }, \end{aligned}$$
(2)

with the directors

$$\begin{aligned} {{\varvec{d}}^{(m,n)}} \,{:}{=}\,\frac{1}{{m!{\,}n!}}\left( {\frac{{{\partial ^{m+n}}{{\varvec{x}}}}}{{\partial {{({\zeta ^1})}^{m}}\,\partial {{({\zeta ^2})}^n}}}}\big |_{\zeta ^1=\zeta ^2=0}\right) , \end{aligned}$$
(3)

where m and n are nonnegative integers, and N is a positive integer representing the order of approximation in transverse direction. It is noted that Eq. (1) is a special case of Eq. (2) with \(N=1\), \({\varvec{\varphi }}\equiv {{\varvec{d}}^{(0,0)}}\), \({\varvec{d}}_1\equiv {\varvec{d}}_{}^{(1,0)}\), and \({\varvec{d}}_2\equiv {\varvec{d}}_{}^{(0,1)}\). Here and hereafter, we often omit the argument s in directors for brevity. The higher order kinematics of Eq. (2) with \(N\ge 2\) was employed in Moustacas et al. [28] to obtain a homogenized model of fiber bundles in contact with a rigid surface. Compared to existing works, our beam and contact formulations introduce the following novelties:

  1. 1.

    Unconstrained directors enable an efficient and accurate description of cross-sectional strains. Further we verify the beam solutions by comparison with those using brick elements.

  2. 2.

    We present a frictionless beam contact formulation considering cross-sectional strains, based on a Gauss point-to-surface contact algorithm. The impenetrability constraint is enforced using a penalty method combined with an active set method. We verify the contact pressure distribution obtained from the beam contact formulation by comparison with the results of the brick element formulation.

  3. 3.

    A parameterization of the lateral boundary surface with NURBS basis functions with at least \(C^2\)-continuity in both longitudinal and circumferential directions enables to have continuous surface metric and curvature within the local Newton–Raphson iteration for the closest point projection.

For very slender beams, a contact force on the lateral surface is often assumed to act directly on the center axis. Such curve-to-curve contact formulation can be divided into the following two categories [23]. First, a point-to-point contact formulation considers a discrete contact force between two interacting bodies. It is typically based on a bilateral closest point projection, e.g., see Wriggers and Zavarise [49], and provides an efficient formulation, since the evaluation of the contact integral is not required. However, it suffers from the non-uniqueness of solution in the closet point projection if the intersection angle between the curves is small, e.g., in the case of two nearly parallel beams. Further discussions on the uniqueness of solution in the closest point projection can be found in Konyukhov and Schweizerhof [16] and Meier et al. [23]. One can also refer to Weeger et al. [46] for a relevant discussion in the framework of isogeometric collocation method. Second, a line-to-line (or Gauss point-to-axis) contact formulation considers a distributed contact force. It is also applicable to small intersection angles between curves, although it requires larger computational cost, compared to the point-to-point contact formulation, as the angle decreases. In order to consider an arbitrary intersection angle in a more efficient way, those two formulations are combined in Meier et al. [25] with a regularized transition. The curve-to-curve contact formulation is efficient due to its one-dimensional contact search; however, for beams having low to moderate slenderness ratios, considering a surface load formulation rather than applying an equivalent load to the axis becomes crucial due to the additional effects like external moments and cross-sectional stretching [5]. Further the closest point projection to the center axis might lead to an error in the calculation of contact forces since the cross-section is not always orthogonal to the axis due to transverse shear deformations [40]. Therefore, in this paper, we present a surface-to-surface contact formulation with a closest point projection to the lateral beam surface, based on a parameterization of the lateral surface with at least \(C^2\)-continuity. Neto et al. [31] presented a finite element formulation of point-to-point frictionless contact on the lateral surface based on the bilateral closest point projection, which still suffers from the non-uniqueness of solution for small intersection angles.

A seamless integration of geometry and analysis is developed, in Hughes et al. [13], by employing non-uniform rational B-splines (NURBS) basis functions for the spatial discretization of the solution field as well as the geometry, which is known as isogeometric analysis (IGA). The higher-order inter-element continuity in IGA yields smooth contact pressure distributions [20, 44], and enables to reduce numerical instabilities and oscillations in classical node-to-segment (NTS) and Gauss-point-to-segment contact algorithms associated with kinks between elements [22, 39]. Thus, surface smoothing [33, 43, 48] and surface enrichment [7, 39], developed for classical finite element discretizations based on Lagrange polynomials are intrinsically captured by IGA. In this paper, we parameterize the initial lateral surface of the beam by the center axis curve and the cross-section’s boundary curve defined in the plane spanned by two orthonormal directors. Especially, we employ an unclamped knot vector in the cross-section’s boundary curve in order to have higher order continuity, which gives us continuous metric and curvature components for the surface that are necessary for robustness of the local Newton–Raphson iteration in the closest point projection.

The remainder of this paper is organized as follows. In Sect. 2, we present the beam kinematics based on Cosserat rod theory, and the parameterization of the lateral boundary surface of the rod. In Sect. 3, the frictionless beam-to-beam contact formulation is presented. In Sect. 4, an isogeometric finite element discretization of the beam and contact formulations is presented. In Sect. 5, we present several numerical examples of beam-to-rigid body and beam-to-beam contact. In three appendices, we present detailed algorithms for the beam and its contact formulation, and supplementary information of the numerical examples.

2 Cosserat rods with deformable cross-section

In this paper, in order to capture the cross-sectional strains more accurately, the isogeometric finite element formulation of Choi et al. [5] is extended to incorporate an arbitrary order of approximation in the transverse directions, i.e., N, based on the kinematics of Eq. (2). For \(N\ge {2}\), since the cross-section can represent at least linear in-plane strains properly, one does not require any special treatment to alleviate Poisson locking. For \(N=1\), we use the EAS method in Choi et al. [5].

2.1 Beam kinematics: Cosserat rod theory

The initial configuration of a beam is typically described by a family of cross-sections whose (mass) centroidsFootnote 2 are connected by a spatial curve called the line of centroids or the initial axis. For an initial (undeformed) axis, we consider a spatial curve \(\mathcal {C}_0\) parameterized by a coordinate \({\xi }\in {\mathbb {R}^1}\), i.e., \({\mathcal {C}_0}:\,{\xi } \rightarrow {{\varvec{\varphi }}_0}({\xi }) \in {{\mathbb {R}}^3}\). We reparameterize the curve as \({\mathcal {C}_0}:\,s \rightarrow {{\varvec{\varphi }}_0}(s) \in {{\mathbb {R}}^3}\) by an arc-length parameter \(s \in \left[ {0,L} \right] \subset {{\mathbb {R}}^1}\), where L represents the length of the initial axis. The arc-length coordinate is defined by the mapping

$$\begin{aligned} s({\xi }) \,{:}{=}\,\int _0^{\xi } {{\left\| {{{\varvec{\varphi }}_{0,{{\tilde{\xi }}}}}({{\tilde{\xi }}})} \right\| }\textrm{d}{\tilde{\xi }} }, \end{aligned}$$
(4)

and the Jacobian of the mapping is defined as \({\tilde{j}}\,{:}{=}\,{\textrm{d}s/\textrm{d}{\xi }}={\left\| {{{\varvec{\varphi }}_{0,{\xi }}}({\xi })} \right\| }\). The arc-length coordinate enables to simplify the subsequent expressions by \(\left\| {{{\varvec{\varphi }}_{0,s}}} \right\| = 1\). Here and hereafter, we often use \(s\equiv s(\xi )\) for brevity, and \((\bullet )_{,s}\) denotes the partial differentiation with respect to the arc-length parameter s. The initial cross-section domain \(\mathcal {A}_0\subset {\mathbb {R}^2}\) is spanned by two initial directors \({{\varvec{D}}_{\gamma }}(s) \in {\mathbb {R}}^3\) \(\left( \gamma \in \left\{ 1,2\right\} \right) \), which are orthonormal, and aligned with the principal directions of the second moment of inertia of the cross-section. Further, it is assumed that, in the initial configuration, the cross-section is orthogonal to the initial axis; thus, we simply obtain \({\varvec{D}}_3(s)\,{:}{=}\,{\varvec{\varphi }}_{0,s}(s)\). The current (deformed) configuration of the axis is defined by the spatial curve \({{\mathcal {C}}_t}:\,s \rightarrow {{\varvec{\varphi }}}(s,t) \in {{\mathbb {R}}^3}\), where \(t\in {{\mathbb {R}}}^{+}\) denotes time. It should be noted that the current axis does not always pass through the geometrical centroid of the cross-section if the order of approximation in the transverse direction, i.e., N in Eq. (2) is greater than 1, see Remark 2. We define \(\left\{ {{{\varvec{e}}_1},{{\varvec{e}}_2},{{\varvec{e}}_3}} \right\} \) as a standard Cartesian basis in \({{{\mathbb {R}}}^3}\), and \({\varvec{e}^i}\equiv {\varvec{e}_i}\), \(i\in \left\{ 1,2,3\right\} \). Figure 1 schematically illustrates the above kinematic description of the initial and current beam configurations.

Fig. 1
figure 1

A schematic illustration of the beam kinematics in the initial and current configurations. Note that the initial cross-section (\(\mathcal {A}_0\)) is assumed planar; however, the current one (\(\mathcal {A}_t\)) is not always planar due to out-of-plane deformations for \(N\ge 2\) in Eq. (2)

We define a reference domain \({\mathcal {B}}\,{:}{=}\,(0,L) \times {\mathcal {A}}\), where \({\mathcal {A}}\) denotes the open domain of coordinates \(\zeta ^1\) and \(\zeta ^2\). For example, for a circular cross-section with radius R we have \(\mathcal {A} \,{:}{=}\,\left\{ { {\left( {\zeta ^1},{\zeta ^2}\right) } \big |{{\left( {{\zeta ^1}} \right) }^2} + {{\left( {{\zeta ^2}} \right) }^2} < R^2} \right\} \), see Fig. 2 for an illustration. The location of each point in the reference domain is expressed in terms of the coordinates \({\zeta ^1}\), \({\zeta ^2}\), and \({\zeta ^3}\) in the standard Cartesian basis in \({{{\mathbb {R}}}^3}\) denoted by \({{\varvec{E}}_1}\), \({{\varvec{E}}_2}\), and \({{\varvec{E}}_3}\), where we use \(\zeta ^3\equiv s\). We then define two mappings from the reference domain to the initial configuration \(\mathcal {B}_0\) and to the current configuration \(\mathcal {B}_t\), respectively, by \({{\varvec{X}}}:{\mathcal {B}} \rightarrow {{\mathcal {B}}_0}\) and \({{\varvec{x}}}:{\mathcal {B}} \rightarrow {{\mathcal {B}}_t}\). The deformation from the initial to the current configuration is then expressed by the mapping

$$\begin{aligned} {{\varvec{\Phi }}_t} \,{:}{=}\,{{\varvec{x}}} \circ {{\varvec{X}}}^{ - 1}:{{\mathcal {B}}_0} \rightarrow {{\mathcal {B}}_t}. \end{aligned}$$
(5)
Fig. 2
figure 2

An example of the reference domain \(\mathcal {B}\) in the case of circular cross-section with radius R

We assume a smooth cross-section boundary such that the initial boundary surface \({\mathcal {S}}_0\equiv \partial {\mathcal {B}_0}\) consists of the lateral surface \({\mathcal {S}}^{\textrm{L}}_0\), the cross-sections \({\mathcal {A}}_0\) at ends, and their interface edges \({\mathcal {E}_0}\equiv {\partial {{\mathcal {S}}^{\textrm{L}}_0}} \equiv {\partial {{{\mathcal {A}}_0}\big |}_{s \in \{0,L\} }}\), i.e., \({{\mathcal {S}}_0} = {{\mathcal {S}}}_0^{\textrm{L}} \cup { {{{\mathcal {A}}_0}} \big |_{s \in \{ 0,L\} }} \cup {\mathcal {E}_0}\). Further, in the current configuration, the boundary surface \(\mathcal {S}_t\equiv \partial {\mathcal {B}_t}\) consists of the lateral surface \({\mathcal {S}}^{\textrm{L}}_t\), the cross-sections \({\mathcal {A}}_t\) at ends, and their interface edges \({\mathcal {E}_t}\equiv {\partial {{\mathcal {S}}^{\textrm{L}}_t}} \equiv {\partial {{{\mathcal {A}}_t}\big |}_{s \in \{0,L\} }}\), i.e., \({{\mathcal {S}}_t} = {{\mathcal {S}}}_t^{\textrm{L}} \cup {{{{\mathcal {A}}_t}} \big |_{s \in \{ 0,L\} }} \cup {\mathcal {E}_t}\), see Fig. 1 for an illustration. The initial position vector of any point of the beam is given as

$$\begin{aligned} {\varvec{X}}({\zeta ^1},{\zeta ^2},{\zeta ^3}) = {\varvec{\varphi }}_0({\zeta ^3}) + {\zeta ^\gamma }{{\varvec{D}}_\gamma }({\zeta ^3}). \end{aligned}$$
(6)

Here and hereafter, unless otherwise stated, repeated Latin indices like i and j imply summation over 1–3, and repeated Greek indices like \(\alpha \), \(\beta \)  and \(\gamma \) imply summation over 1–2. It should be noted that the coordinates \(\zeta ^\gamma \,(\gamma \in \left\{ 1,2\right\} )\) are chosen to have dimensions of length, such that the initial directors \(\varvec{D}_\gamma \) are dimensionless. Initial covariant base vectors are obtained by \({{\varvec{G}}_{i}} \,{:}{=}\,\partial {{\varvec{X}}}/\partial {\zeta ^i}\) (\(i\in \left\{ 1,2,3\right\} \)), so that we have

$$\begin{aligned} \left\{ \begin{array}{l} {{\varvec{G}}_1}({{\zeta }^1},{{\zeta }^2},{{\zeta }^3}) = {{\varvec{D}}_1}(s),\\ {{\varvec{G}}_2}({{\zeta }^1},{{\zeta }^2},{{\zeta }^3}) = {{\varvec{D}}_2}(s),\\ {{\varvec{G}}_3}({{\zeta }^1},{{\zeta }^2},{{\zeta }^3}) = {{\varvec{D}}_3}(s) + {{\zeta ^\gamma }{{\varvec{D}}_{\gamma ,s}}(s)}.\\ \end{array} \right. \end{aligned}$$
(7)

Further we define \(j_0\) as the Jacobian of the mapping \({\varvec{X}}\big (\zeta ^1,\zeta ^2,\zeta ^3\big )\) such that the corresponding infinitesimal volume in the domain \(\mathcal {B}_0\) can be expressed by [5]

$$\begin{aligned} \textrm{d}\mathcal {B}_0={j_0}\,{\textrm{d}\zeta ^1}\,{\textrm{d}\zeta ^2}\,{\textrm{d}s} \end{aligned}$$
(8)

with

$$\begin{aligned} j_0=\big ({\varvec{G}_1}\times {\varvec{G}_2}\big )\cdot {\varvec{G}_3}. \end{aligned}$$
(9)

Remark 1

We consider a pair of nonnegative integers (pq) in Eq. (2), which belong to

$$\begin{aligned} {C_n} = \left\{ {{\left( {p,q} \right) \in {Z^*} \times {Z^*}} \big |p + q = n} \right\} , \end{aligned}$$
(10)

where \({\mathbb {Z}^+}\) denotes the set of positive integers, and \({Z^*}\,{:}{=}\,\{0\}\cup {\mathbb {Z}^+}\), and the number of elements in \(C_n\) is \(\left|{{C_n}} \right|= n + 1\). In this paper, n of Eq. (10) is called the order of directors, for examples, \(\varvec{\varphi }\equiv {\varvec{d}^{(0,0)}}\) is called the 0th order director, and \(\varvec{d}_1\equiv {\varvec{d}^{(1,0)}}\) and \(\varvec{d}_2\equiv {\varvec{d}^{(0,1)}}\) are called the 1st order directors. Then, for an N-th order of approximation in the transverse directions, the number of directors in each cross-section is

$$\begin{aligned} n_\textrm{dir}\,{:}{=}\,\sum \limits _{n = 0}^N {\left|{{C_n}} \right|} = \frac{{(N + 1)(N + 2)}}{2}, \end{aligned}$$
(11)

and the number of DOFs in each cross-section is simply obtained by \(n_\textrm{cs}=3{n_\textrm{dir}}\). For a single brick element of order N, the number of nodes in each cross-section is typically \(n_\textrm{node}=(N+1)^2\), and then the number of DOFs is \(n^\textrm{brick}_\textrm{cs}=3n_\textrm{node}\). Figure 3 compares the number of DOFs per cross-section in the beam and brick elements. It is shown that for the same order of approximation in the cross-section, the beam formulation uses less DOFs due to the symmetry with respect to the axis \(\zeta ^1=0\) or \(\zeta ^2= 0\) in the kinematic assumption of Eq. (2).

Fig. 3
figure 3

Comparison of the numbers of DOFs per cross-section for a beam element and a single brick element

Equation (2) can be rewritten in the compact form [27]

$$\begin{aligned} {{\varvec{x}}} = {\varvec{\Pi }}({\zeta ^1},{\zeta ^2})^\textrm{T}{\varvec{q}}(\zeta ^3), \end{aligned}$$
(12)

with

$$\begin{aligned} {\varvec{\Pi }}({\zeta ^1},{\zeta ^2})\,{:}{=}\,{\left[ {\begin{array}{*{20}{c}} {{{\varvec{\pi }}_0}({\zeta ^1},{\zeta ^2})}\\ {{{\varvec{\pi }}_1}({\zeta ^1},{\zeta ^2})}\\ \vdots \\ {{{\varvec{\pi }}_N}({\zeta ^1},{\zeta ^2})} \end{array}} \right] _{{n_\textrm{cs}}\times 3}}, \end{aligned}$$
(13)

and

$$\begin{aligned} \varvec{q}(\zeta ^3)\,{:}{=}\,{\left\{ {\begin{array}{*{20}{c}} {{{\varvec{q}}_0}(\zeta ^3)}\\ {{{\varvec{q}}_1}(\zeta ^3)}\\ \vdots \\ {{{\varvec{q}}_N}(\zeta ^3)} \end{array}} \right\} _{{{n_\textrm{cs}}\times 1}}}, \end{aligned}$$
(14)

where we define the operator

$$\begin{aligned} {{\varvec{\pi }}_n}({\zeta ^1},{\zeta ^2}) \,{:}{=}\,{\left[ {\begin{array}{*{20}{c}} {{{({\zeta ^1})}^n}{{({\zeta ^2})}^0}{{\varvec{1}}_{3}}}\\ {{{({\zeta ^1})}^{n - 1}}{{({\zeta ^2})}^1}{{\varvec{1}}_{3}}}\\ \vdots \\ {{{({\zeta ^1})}^0}{{({\zeta ^2})}^n}{{\varvec{1}}_{3}}} \end{array}} \right] }, \end{aligned}$$
(15)

\(n\in \left\{ 0,1,\ldots ,N\right\} \), with

$$\begin{aligned} {{\varvec{q}}_n}(\zeta ^3 ) \,{:}{=}\,{\left\{ {\begin{array}{*{20}{c}} {{{\varvec{d}}^{(n,0)}}}\\ {{{\varvec{d}}^{(n - 1,1)}}}\\ \vdots \\ {{{\varvec{d}}^{(0,n)}}} \end{array}} \right\} }. \end{aligned}$$
(16)

Here \({{\varvec{q}}_n}(\zeta ^3)\) denotes a column array of nth order directors, and \({\varvec{q}}(\zeta ^3)\) is a column array of \({{\varvec{q}}_n}(\zeta ^3 )\,(n\in \left\{ 1,\ldots ,N\right\} )\), which is called a generalized director vector. \({{\varvec{1}}_{m}}\) denotes the identity matrix of dimension m. Note that \({\varvec{\pi }}_n\) solely depends on the transverse coordinates, which is independent from the deformations. Thus, taking the first variation of Eq. (12) yields

$$\begin{aligned} \delta {\varvec{x}}={\varvec{\Pi }}({\zeta ^1},{\zeta ^2})^\textrm{T}\delta \varvec{q}(\zeta ^3). \end{aligned}$$
(17)

In the current configuration, the covariant base vectors are defined by \(\varvec{g}_i\,{:}{=}\,\partial {\varvec{x}}/\partial {\zeta ^i}\,(i=1,2,3)\), so that we have

$$\begin{aligned} \left\{ \begin{array}{l} {{\varvec{g}}_1}(\zeta ^1,\zeta ^2,\zeta ^3) = {{\varvec{\Pi }}^\textrm{T}_{,{\zeta ^1}}}({\zeta ^1},{\zeta ^2})\,{\varvec{q}}(\zeta ^3),\\ {{\varvec{g}}_2}(\zeta ^1,\zeta ^2,\zeta ^3) = {{\varvec{\Pi }}^\textrm{T}_{,{\zeta ^2}}}({\zeta ^1},{\zeta ^2})\,{\varvec{q}}(\zeta ^3),\\ {{\varvec{g}}_3}(\zeta ^1,\zeta ^2,\zeta ^3) = {\varvec{\Pi }}^\textrm{T}({\zeta ^1},{\zeta ^2})\,{{\varvec{q}}_{,\zeta ^3 }}(\zeta ^3), \end{array} \right. \end{aligned}$$
(18)

where \((\bullet )_{,{\zeta ^i}}\) denotes the partial derivative with respect to \(\zeta ^i\). The deformation gradient can be expressed by [47, p. 478]

$$\begin{aligned} {\varvec{F}} = \varvec{g}_i\otimes \varvec{G}^i, \end{aligned}$$
(19)

such that the Green–Lagrange strain tensor is obtained by

$$\begin{aligned} {\varvec{E}} \,{:}{=}\,\frac{1}{2}({{\varvec{F}}^\textrm{T}}{\varvec{F}} - {\varvec{1}}) = \frac{1}{2}\left( {{g_{ij}} - {G_{ij}}} \right) {{\varvec{G}}^i} \otimes {{\varvec{G}}^j}, \end{aligned}$$
(20)

where \(\varvec{1}\) represents the identity tensor in \(\mathbb {R}^3\), and \(g_{ij}\,{:}{=}\,\varvec{g}_i\cdot \varvec{g}_j\), and \(G_{ij}\,{:}{=}\,\varvec{G}_i\cdot \varvec{G}_j\).

Remark 2

Geometrical centroid of the current cross-section. The position of the geometrical centroid in the current cross-section is defined by

$$\begin{aligned} {\varvec{C}}&\,{:}{=}\,\frac{1}{{A_t}}\int _{{\mathcal {A}_t}} {{{\varvec{x}}}\,{\textrm{d}}{\mathcal {A}_t}} \nonumber \\&= \frac{1}{{A}_t}\int _\mathcal {A} {{{\varvec{x}}}\,\left\| {{{\varvec{g}}_1} \times {{\varvec{g}}_2}} \right\| \,{\textrm{d}}{\zeta ^1}d{\zeta ^2}}, \end{aligned}$$
(21a)

with the current cross-sectional area

$$\begin{aligned} {A_t} \,{:}{=}\,\int _{{\mathcal {A}_t}} {{\textrm{d}}{\mathcal {A}_t}} = \int _\mathcal {A} \left\| {{{\varvec{g}}_1} \times {{\varvec{g}}_2}} \right\| {{\textrm{d}}{\zeta ^1}d{\zeta ^2}}. \end{aligned}$$
(21b)

It can be easily verified that, for \(N=1\) in Eq. (2), we have \(\varvec{C}=\varvec{\varphi }\). That is, for \(N=1\), the current axis of the beam always coincides with the geometrical centroid. For \(N>1\), however, this is not always the case.

2.2 Parameterization of a lateral boundary surface using NURBS

The initial geometry of the lateral boundary surface of the beam is decomposed into two parts: First, the directed axis curve, described by a NURBS curve with two attached orthonormal directors, \(\varvec{D}_1\) and \(\varvec{D}_2\). Second, the cross-section defined by the NURBS curve in the plane spanned by the two initial directors

$$\begin{aligned} {\zeta ^\gamma }(\varvec{\xi }) = \sum \limits _{I = 1}^{{{m}_{{{\textrm{cp}}}}}} {{C^{\gamma }_{I}}({\xi ^1})\,{M^q_I}({\xi ^2})},\quad \gamma \in \left\{ 1,2\right\} , \end{aligned}$$
(22)

where \({\big ({C^1_{I},C^2_{I}}\big )}\in \mathbb {R}\times \mathbb {R}\) represents the position of control point in the plane, and \({{m}}_{\textrm{cp}}\) denotes the total number of control points along the curve, and \(M^q_I(\xi ^2)\) denotes the I-th NURBS basis function of order q. The definition and basic properties of NURBS basis function can be found in Piegl and Tiller [34]. \(\xi ^1\) and \(\xi ^2\) denote the convective coordinates along the axis and the cross-section’s boundary curve, respectively. In this paper, we define those two convective coordinates by parametric coordinates of NURBS. Here and hereafter, we often use \(\varvec{\xi }\,{:}{=}\,\left[ {\xi ^1},{\xi ^2}\right] ^\textrm{T}\) for brevity. It is noted that \({C}^\gamma _{I}\) depends on the coordinate \(\xi ^1\) only if a dimension of the initial cross-section is varying along the center axis. However, in this paper, we restrict our discussion to non-varying cross-sections along the axis, that is, we consider only those cases where \({C}^\gamma _{I}\) does not depend on the coordinate \(\xi ^1\). In the subsequent formulation of the closest point projection based on a local Newton–Raphson iteration, we need at least a \(C^2\)-continuous surface parameterization. However, if we use a clamped knot vector for the closed cross-section boundary curves, the displacement continuity is typically \(C^0\) at the interface between the two end points where the end control points are matched, which may lead to difficult convergence of the local Newton–Raphson iteration. Further, contact tractions are singular at \(C^0\) surface points, which can lead to spurious contact deformations. Thus, so as to have at least \(C^2\)-continuity of the whole lateral boundary surface, we employ the following approaches:

  1. 1.

    In the representation of the cross-section’s boundary curve, an unclamped knot vector is utilized, which allows higher order continuity at the interface between two end points of the closed boundary curves.

  2. 2.

    We also reduce the multiplicity of internal knots to one, so that we have \(C^{q-1}\) continuity in the entire curve of the cross-section’s boundary, where q denotes the order of basis functions.

  3. 3.

    In the spatial discretization of kinematic variables as well as the initial geometry of the axis, we use NURBS basis functions, in the framework of isogeometric analysis, in order to have higher order continuity in the axial direction of the beam as well.

The removal of knots may change the initial geometry of the cross-section. However, increasing the DOFs in the geometry, e.g., the number of control points, and the order of basis functions, before the knot removal enables to reduce the loss of geometry. For example, we consider a circular cross-section of radius \(R=1\,\textrm{m}\). NURBS is capable of exactly representing conic sections like circle. Figure 4a shows quadratic NURBS basis functions utilized to represent the circle in Fig. 5a, which have \(C^0\)-continuity at the interface between nonzero knot spans. To remove those non-smooth points we apply the operations, unclamping and knot removal for the end and internally repeated knots, respectively, and then we finally obtain the basis functions, shown in Fig. 4b. Further details on these unclamping, and knot removal procedures can be found in Piegl and Tiller [34] and Rogers [37]. We obtain those periodic NURBS curves by using the function MakePeriodic in the commercial program Rhinoceros 3D.Footnote 3 It is clearly shown in Fig. 5b that the initial geometry of the cross-section is not an exact circle anymore. However, as Fig. 5c shows, by increasing the number of control points before those operations, the loss of geometry approaches zero. Further, it should be noted that the DOFs in the geometry of initial cross-section is associated with the parameterization only, and does not have any influence on the computational costs, since the deformation of the current cross-section is solely described by director vectors.

Fig. 4
figure 4

Comparison of non-periodic and periodic NURBS basis functions for the cross-section’s boundary curve. a Non-periodic NURBS basis functions with knot vector \(\tilde{\varXi }_\textrm{cl}^2=\{0, 0, 0, 1/4, 1/4, 1/2, 1/2, 3/4, 3/4, 1, 1, 1 \}\), b Periodic NURBS basis functions with knot vector \(\tilde{\varXi }_\textrm{ucl}^2= \{0, 1/8, 1/4, 3/8, 1/2, 5/8, 3/4, 7/8, 1 \}\). Note that the periodic basis functions are all translations of each other [37]. Vertical dashed lines divide the nonzero knot spans

Fig. 5
figure 5

Representation of the boundary curve of a circular cross-section with radius \(R=1\,\textrm{m}\) by non-periodic or periodic NURBS. a Exact circle represented by non-periodic NURBS with \(q=2\), \(m_\textrm{cp}=8\), whose corresponding basis functions are given in Fig. 4a. b Approximate circle represented by periodic NURBS with \(q=2\), \(m_\textrm{cp}=6\), whose corresponding basis functions are shown in Fig. 4b. c Approximate circle represented by periodic NURBS with \(q=2\) and \(m_\textrm{cp}=66\)

Fig. 6
figure 6

Parameterization of the beam’s initial lateral boundary surface \(\mathcal {S}^\textrm{L}_0\). Note that the initial axis is parameterized by the same coordinate \(\xi ^1\) used for the longitudinal direction of the lateral boundary surface

2.2.1 Convective base vectors and metrics

Using the parameterization of the coordinates \(s=s(\xi ^1)\) in Eq. (4) and \(\zeta ^{\gamma }=\zeta ^{\gamma }(\varvec{\xi })\) of Eq. (22), the initial position vector of the beam in Eq. (6) can be reparameterized on the initial lateral boundary surface \(\mathcal {S}_0^\textrm{L}\), as

$$\begin{aligned} {\varvec{X}} = {\varvec{\varphi }}_0(s(\xi ^1)) + {\zeta ^\gamma }(\varvec{\xi })\,{{\varvec{D}}_\gamma }\left( s(\xi ^1)\right) . \end{aligned}$$
(23)

Similarly, we can also reparameterize the current position vector of the beam in Eq. (12), on the current lateral boundary surface \(\mathcal {S}_t^\textrm{L}\), as

$$\begin{aligned} {\varvec{x}} = {\varvec{\Pi }}({\zeta ^1}({\varvec{\xi }}),{\zeta ^2}({\varvec{\xi }}))^\textrm{T}\,{\varvec{q}}\left( s({\xi ^1})\right) . \end{aligned}$$
(24)

For the given parameterization of Eq. (23), we define the covariant base vectors on the initial lateral boundary surface \(\mathcal {S}_0^\textrm{L}\), as

$$\begin{aligned} \left. \begin{array}{l} \varvec{A}_1\,{:}{=}\,{\varvec{X}}_{,1} = {\varvec{\varphi }}_{0,1}+{\zeta _{,1}^\gamma }\,{\varvec{D}}_{\gamma }+{\zeta }^{\gamma }{\varvec{D}}_{\gamma ,1},\\ \varvec{A}_2\,{:}{=}\,{\varvec{X}}_{,2} = {\zeta ^{\gamma }_{,2}}\,{\varvec{D}}_\gamma , \end{array} \right\} \end{aligned}$$
(25)

and let \(A_{\alpha \beta }\,{:}{=}\,{\varvec{A}_\alpha }\cdot {\varvec{A}_\beta }\) denote the covariant components of the surface metric, and here and hereafter, we define \({(\bullet )_{,\alpha }} \,{:}{=}\,\partial (\bullet )/\partial {\xi ^\alpha }\), and \({(\bullet )_{,\alpha \beta }} \,{:}{=}\,\partial ^2 (\bullet )/\partial {\xi ^\alpha }\partial {\xi ^\beta }\) \((\alpha ,\beta \in \left\{ 1,2\right\} )\). An initial convective surface basis \(\left\{ {{{\varvec{A}}_1},{{\varvec{A}}_2},{\varvec{\nu }}_0} \right\} \) on \(\mathcal {S}_0^\textrm{L}\) can be obtained by defining an outward unit normal vector on the surface as \({{\varvec{\nu }}_0}\,{:}{=}\,{{\varvec{A}}_1} \times {{\varvec{A}}_2}/\left\| {{{\varvec{A}}_1} \times {{\varvec{A}}_2}} \right\| \), see Fig. 6 for an illustration.

Remark 3

The first order derivatives of \(\zeta ^{\alpha }\) with respect to \(\xi ^\beta \), i.e., \(\zeta ^\alpha _{,\beta }\) \((\alpha ,\beta \in \left\{ 1,2\right\} )\) can be simply obtained, from Eq. (22), as

$$\begin{aligned} \zeta _{,1}^\alpha&= 0, \end{aligned}$$
(26a)
$$\begin{aligned} \zeta _{,2}^\alpha&= \sum \limits _{I = 1}^{{{m}_{{\textrm{cp}}}}} {C^{\alpha }_{I}{M^q_{I,2}}({\xi ^2})}, \end{aligned}$$
(26b)

and the second order derivatives are

$$\begin{aligned} \zeta _{,11}^\alpha&= \zeta _{,12}^\alpha = 0, \end{aligned}$$
(27a)
$$\begin{aligned} \zeta _{,22}^\alpha&= \sum \limits _{I = 1}^{{{m}_{{\textrm{cp}}}}} {C^{\alpha }_{I}{M^q_{I,22}}({\xi ^2})}, \end{aligned}$$
(27b)

where the dependence of \(C^\alpha _I\) on \(\xi ^1\) vanishes due to the assumption of non-varying initial cross-sections along the axis.

Further we define the covariant base vectors on the current lateral surface \(\mathcal {S}_t^\textrm{L}\), as

$$\begin{aligned} \left. \begin{array}{l} \varvec{a}_1\,{:}{=}\,{\varvec{x}}_{,1} = {\zeta _{,1}^\alpha }\,{\varvec{\Pi }}_{,{\zeta ^\alpha }}^{\textrm{T}}\,{\varvec{q}} + {{\varvec{\Pi }}^{\textrm{T}}}{{\varvec{q}}_{,1}},\\ \varvec{a}_2\,{:}{=}\,{\varvec{x}}_{,2} = {\zeta _{,2}^\alpha }\,{\varvec{\Pi }}_{,{\zeta ^\alpha }}^{\textrm{T}}\,{\varvec{q}}, \end{array} \right\} \end{aligned}$$
(28)

and let \({{a}_{\alpha \beta }} \,{:}{=}\,{{\varvec{a}}_\alpha } \cdot {{\varvec{a}}_\beta }\) denote the covariant components of the surface metric. The contravariant base vectors \({{\varvec{a}}^\alpha }\) are defined by \({{\varvec{a}}_\alpha }\cdot {{\varvec{a}}^\beta }=\delta _{\alpha }^{\beta }\) \(\left( \alpha ,\beta \in \left\{ 1,2\right\} \right) \), where \(\delta _{\alpha }^{\beta }\) denotes the Kronecker-delta symbol, which leads to \({{\varvec{a}}^\alpha } = {a^{\alpha \beta }}{{\varvec{a}}_\beta }\), where \(a^{\alpha \beta }\,{:}{=}\,{{\varvec{a}}^\alpha }\cdot {{\varvec{a}}^\beta }\) denotes the contravariant components of the surface metric, calculated from

$$\begin{aligned} \left[ {\begin{array}{cc} {{a^{11}}}&{}{{a^{12}}}\\ {{a^{21}}}&{}{{a^{22}}} \end{array}} \right] = {\left[ {\begin{array}{cc} {{a_{11}}}&{}{{a_{12}}}\\ {{a_{21}}}&{}{{a_{22}}} \end{array}} \right] ^{ - 1}}. \end{aligned}$$
(29)

A current convective surface basis \(\left\{ {{{\varvec{a}}_1},{{\varvec{a}}_2},{\varvec{\nu }}_t} \right\} \) on \(\mathcal {S}_t^\textrm{L}\) can be obtained by defining an outward unit normal vector on the surface as \({{\varvec{\nu }}_t}\,{:}{=}\,{{\varvec{a}}_1} \times {{\varvec{a}}_2}/\left\| {{{\varvec{a}}_1} \times {{\varvec{a}}_2}} \right\| \). The covariant components of curvature are defined by \(b_{\alpha \beta }\,{:}{=}\,{{\varvec{a}}_{\alpha ,\beta }} \cdot {{\varvec{\nu }}_t}\), where \(\varvec{a}_{\alpha ,\beta }=\varvec{x}_{,\alpha \beta }\), and

$$\begin{aligned} \left. \begin{array}{c} \begin{aligned} {{\varvec{x}}_{,11}} &{}= \left( {{\zeta _{,1}^\beta }\,\zeta _{,1}^\alpha \,{\varvec{\Pi }}_{,{\zeta ^\alpha }{\zeta ^\beta }}^{\textrm{T}} + \zeta _{,11}^\alpha \, {\varvec{\Pi }}_{,{\zeta ^\alpha }}^{\textrm{T}}} \right) {\varvec{q}} \\ &{}\quad + 2{\zeta _{,1}^\alpha }\,{\varvec{\Pi }}_{,{\zeta ^\alpha }}^{\textrm{T}}\,{{\varvec{q}}_{,1}} + {{\varvec{\Pi }}^{\textrm{T}}}{{\varvec{q}}_{,11}},\\ {{\varvec{x}}_{,22}} &{}= \left( {\zeta _{,2}^\alpha \, \zeta _{,2}^\beta \, {\varvec{\Pi }}_{,{\zeta ^\alpha }{\zeta ^\beta }}^{\textrm{T}} + \zeta _{,22}^\alpha \,{\varvec{\Pi }}_{,{\zeta ^\alpha }}^{\textrm{T}}} \right) {\varvec{q}}, \\ {{\varvec{x}}_{,12}} &{}= \left( {\zeta _{,1}^\alpha \,\zeta _{,2}^\beta \,{\varvec{\Pi }}_{,{\zeta ^\alpha }{\zeta ^\beta }}^{\textrm{T}} + \zeta _{,12}^\alpha \, {\varvec{\Pi }}_{,{\zeta ^\alpha }}^{\textrm{T}}} \right) {\varvec{q}} \\ &{}\quad + \zeta _{,2}^\alpha \,{\varvec{\Pi }}_{,{\zeta ^\alpha }}^{\textrm{T}}\,{{\varvec{q}}_{,1}}. \end{aligned} \end{array} \right\} \end{aligned}$$
(30)

2.2.2 Initial infinitesimal area element

In the initial configuration, from the parametrization of the lateral boundary surface in Eq. (23), the infinitesimal area element of the initial lateral boundary surface can be expressed, using \(\textrm{d}s={{\tilde{j}}}\,\textrm{d}\xi ^1\) and the surface Jacobian \({{\tilde{J}}}\,{:}{=}\,\left\| {{{\varvec{A}}_{1}}} \times {{\varvec{A}}_{2}} \right\| \), by

$$\begin{aligned} \textrm{d}{{\mathcal {S}}^\textrm{L}_0} = {{\tilde{J}}}\,\textrm{d}{\xi ^1}\textrm{d}{\xi ^2}=\frac{\tilde{J}}{{{\tilde{j}}}}\,\textrm{d}\xi ^2\,\textrm{d}s. \end{aligned}$$
(31)

See Fig. 6 for an illustration.

2.3 Variational formulation

2.3.1 Boundary value problem in strong form

The (static) local linear momentum balance equations in combination with displacement and traction boundary conditions is stated in the initial configuration by the boundary value problem [4]

$$\begin{aligned} {\textrm{Div}}\,\left( {{\varvec{F}}{\varvec{S}}}\right) + {{\varvec{b}}_0}&= \varvec{0}\quad \textrm{in}\quad \mathcal {B}_0, \end{aligned}$$
(32a)
$$\begin{aligned} {{\varvec{u}}}&= {{\varvec{{\bar{u}}}}}\quad \textrm{on}\quad \mathcal {S}^\textrm{D}_0,\end{aligned}$$
(32b)
$$\begin{aligned} {{\varvec{F}}{\varvec{S}}}{{\varvec{\nu }}_0}&= {{\varvec{{\bar{T}}}}_0}\quad \textrm{on}\quad \mathcal {S}^\textrm{N}_0, \end{aligned}$$
(32c)

where \({\mathcal {S}^\textrm{D}_0},\,{\mathcal {S}^\textrm{N}_0}\subset \mathcal {S}_0\) denote the boundary surfaces where the displacement \(\varvec{u}\,{:}{=}\,{\varvec{x}}-{\varvec{X}}\) and traction are prescribed, respectively, and \(\varvec{S}\) denotes the second Piola–Kirchhoff stress tensor. Further, \(\varvec{\nu }_0\) denotes the unit outward normal vector on the surface of the undeformed configuration, \(\varvec{b}_0\) denotes the body force per unit undeformed volume, \(\textrm{Div}(\bullet )\) represents the divergence operator with respect to the initial configuration, and \({{\bar{\varvec{u}}}}\in {{\mathbb {R}}^3}\) denotes the prescribed displacement vector. Here we consider hyperelastic materials, where the strain energy density, defined by the strain energy per unit undeformed volume, is given in terms of the Green–Lagrange strain tensor \(\varvec{E}\), as \(\Psi = \Psi ({\varvec{E}})\). Then, the constitutive equation is expressed by

$$\begin{aligned} {\varvec{S}} = {S^{ij}}{{\varvec{G}}_i} \otimes {{\varvec{G}}_j}\,\,\,\text {with}\,\,\,{S^{ij}} = \frac{{\partial \Psi }}{{\partial {E_{ij}}}}. \end{aligned}$$
(33)

2.3.2 Weak form

Exploiting the symmetries, \({\varvec{E}}\) and \({\varvec{S}}\) can be expressed in array form (Voigt notation), as \({\varvec{\underline{S}}} \,{:}{=}\,{\left[ {{S^{11}},{S^{22}},{S^{33}},{S^{12}},{S^{13}},{S^{23}}} \right] ^{\textrm{T}}}\) and \({\varvec{\underline{E}}} \,{:}{=}\,{\left[ {{E_{11}},{E_{22}},{E_{33}},2{E_{12}},2{E_{13}},2{E_{23}}} \right] ^{\textrm{T}}}\). From Eq. (20), the first variation of the covariant components of the Green–Lagrange strain tensor can then be expressed, in Voigt notation, by

$$\begin{aligned} \delta {\underline{\varvec{E}}} = \left\{ {\begin{array}{*{20}{c}} {\delta {E_{11}}}\\ {\delta {E_{22}}}\\ {\delta {E_{33}}}\\ {2\delta {E_{12}}}\\ {2\delta {E_{13}}}\\ {2\delta {E_{23}}} \end{array}} \right\} = {{\varvec{\varXi }}}\delta {\varvec{q}}, \end{aligned}$$
(34)

where

(35)

Then, the internal virtual work can be written as

(36)

where the resultant of the stress is obtained by

$$\begin{aligned} \varvec{R}\,{:}{=}\,{\int _\mathcal {A} {{{\varvec{\varXi }}^\textrm{T}}{\underline{\varvec{S}} }\,{j_0}\,\textrm{d}\mathcal {A}}}, \end{aligned}$$
(37)

with \(\textrm{d}\mathcal {A}\,{:}{=}\,\textrm{d}\zeta ^1\textrm{d}\zeta ^2\). Further the external virtual work due to the body force, and surface tranctions on the lateral surface and the cross-section at the ends of rod, i.e., \({{{\mathcal {A}_0}} \big |_{s \in \Gamma _\textrm{N} }}\) is given by

$$\begin{aligned} {G_{{\textrm{ext}}}}(\delta {\varvec{q}}) = \int _0^L {\delta {{\varvec{q}}^{\textrm{T}}}{\varvec{\bar{R}}}\,\textrm{d}s}+{\left[ {\delta {{\varvec{q}}^{\textrm{T}}}{{{\varvec{{\bar{R}}}}}_0}} \right] _{s \in {\Gamma _{\textrm{N}}}}}, \end{aligned}$$
(38)

where the resultant of the body force and traction on the lateral surface is expressed by

$$\begin{aligned} {\varvec{{\bar{R}}}}&\,{:}{=}\,\int _{\mathcal {A}} {{\varvec{\Pi }}\,{{{\varvec{b}}}_0}\,{j_0}\,\textrm{d}\mathcal {A}}\nonumber \\&\quad +\frac{1}{{{\tilde{j}}}}\int _{{\varXi ^2}} {{\varvec{\Pi }}\,{{{\varvec{{\bar{T}}}}}_0}\left\| {{{\varvec{A}}_1} \times {{\varvec{A}}_2}} \right\| \textrm{d}{\xi ^2}}. \end{aligned}$$
(39)

Further, the resultant of the traction on the cross-section at the ends is expressed, using \(\textrm{d}\mathcal {A}_0=\left\| {{{\varvec{G}}_1} \times {{\varvec{G}}_2}} \right\| \textrm{d}\mathcal {A}\), as

$$\begin{aligned} {{\varvec{{\bar{R}}}}_0} \,{:}{=}\,\int _{\mathcal {A}} {{\varvec{\Pi }}\,{{{\varvec{\bar{T}}}}_0}\left\| {{{\varvec{G}}_1} \times {{\varvec{G}}_2}} \right\| \textrm{d}\mathcal {A}}. \end{aligned}$$
(40)

Finally, the variational equation can be stated as: Find the generalized director vector \(\varvec{q}\in {{\mathcal {V}}}\) such that

(41)

where represents the internal virtual work due to normal contact whose detailed expression is given in Sect. 3, and denotes the external virtual work due to non-conservative loads, e.g., the distributed follower load in Remark 4. We also define

$$\begin{aligned} {\mathcal {V}} \,{:}{=}\,\left\{ {{{\varvec{q}} \in {{\left[ {{H^1}(0,L)} \right] }^{{n_{{\textrm{cs}}}}}}} \big |{\varvec{q}} = {{{\varvec{\bar{q}}}}_0}\,\,{\textrm{on}}\;{\Gamma _{\textrm{D}}}} \right\} , \end{aligned}$$
(42)

and

$$\begin{aligned} {\mathcal {V}_0} \,{:}{=}\,\left\{ { {\delta {\varvec{q}} \in {{\left[ {{H^1}(0,L)} \right] }^{{n_{{\textrm{cs}}}}}}} \big |\delta {\varvec{q}} = {{\textbf{0}}}\,\,{\textrm{on}}\;{\Gamma _{\textrm{D}}}} \right\} . \end{aligned}$$
(43)

The director vectors are prescribed at the boundary \({\Gamma _\textrm{D}}\ni {s}\). It is noted that \({\Gamma _\textrm{D}} \cap {\Gamma _\textrm{N}} = \emptyset \), and \({\Gamma _\textrm{D}} \cup {\Gamma _\textrm{N}} = \left\{ {0,L} \right\} \).

2.3.3 Linearization

For hyperelastic materials, in general, the constitutive relation between \(\varvec{S}\) and \(\varvec{E}\) is nonlinear. Taking the directional derivative of \(\varvec{S}\) gives

$$\begin{aligned} D\varvec{S}\cdot \Delta {\varvec{x}}=\varvec{\mathcal {C}}:D\varvec{E}\cdot \Delta {\varvec{x}}, \end{aligned}$$
(44)

where \(D(\bullet )\cdot (*)\) denotes the directional derivative of \((\bullet )\) in the direction of \((*)\), and \(\Delta \varvec{x}\) represents the increment of the current position of a material point. The material (Lagrangian) elasticity tensor \(\varvec{\mathcal {C}}\) is expressed by

$$\begin{aligned} \varvec{\mathcal {C}}= \frac{{\partial {\varvec{S}}}}{{\partial {\varvec{E}}}} = {C^{ijk\ell }}{{\varvec{G}}_i} \otimes {{\varvec{G}}_j} \otimes {{\varvec{G}}_k} \otimes {{\varvec{G}}_\ell }, \end{aligned}$$
(45)

with

$$\begin{aligned} {C^{ijk\ell }} = \frac{{{\partial ^2}\Psi }}{{\partial {E_{ij}}\,\partial {E_{k\ell }}}}. \end{aligned}$$
(46)

Equation (44) can be rewritten, using Eq. (34), as

$$\begin{aligned} D\underline{\varvec{S}}\cdot {\Delta \varvec{x}}=\underline{\underline{\varvec{\mathcal {C}}}}\,\varvec{\varXi }\,\Delta {\varvec{q}}, \end{aligned}$$
(47)

where

(48)

The internal virtual work of Eq. (36) is nonlinear in terms of the generalized director \(\varvec{q}\). Thus, in order to solve the variational equation using the Newton–Raphson iteration, we need to linearize Eq. (36). The directional derivative of \(\varvec{R}\) can be obtained by using Eq. (47), as

$$\begin{aligned} D\varvec{R}\cdot \Delta \varvec{q}=\mathbb {C}\,\Delta \varvec{q},\,\,\mathbb {C}\,{:}{=}\,\int _\mathcal {A} {{{\varvec{\varXi }}^{\textrm{T}}}\,{\varvec{\underline{\underline{\mathcal {C}}}}}\,\varvec{\varXi }\,{j_0}\,\textrm{d}\mathcal {A}}. \end{aligned}$$
(49)

Thus, the directional derivative of the internal virtual work of Eq. (36) with the first variation of the Green–Lagrange strain tensor held constant, i.e., the material part of the tangent stiffness, is simply obtained by

$$\begin{aligned} {D_{\textrm{M}}}{G_{{\textrm{int}} }} \cdot \Delta {{\varvec{q}}}= \int _0^L {\delta {{{\varvec{q}}}^{\textrm{T}}}\,{\mathbb {C}}\,\Delta {{\varvec{q}}}}\,\textrm{d}s. \end{aligned}$$
(50)

Further, the geometric part of the tangent stiffness is derived by taking the directional derivative of Eq. (36) with the second Piola–Kirchhoff stress part held constant, as

(51a)

with

$$\begin{aligned} {{\varvec{k}}_\textrm{G}} \,{:}{=}\,\int _\mathcal {A} {{{{\varvec{\bar{k}}}}_\textrm{G}}}\,{j_0}\,\textrm{d}\mathcal {A}, \end{aligned}$$
(51b)

where

(52a)

with

(52b)

and

(53)

Combining Eqs. (50) and (51), we finally obtain the following increment of the internal virtual work

(54)

Remark 4

Application of a moment load by a distributed follower load. An end moment can be applied to a beam by employing the following linear distribution of the first Piola–Kirchhoff stress over the height, i.e., \(-h/2\le {\zeta ^1}\le {h/2}\) of the rectangular cross-section with dimension \(h\times w\) on \({{{{{\mathcal {A}_0}}\big |}_{s \in {\Gamma _{\textrm{N}}}}}}\) [3, 5]

$$\begin{aligned} {\varvec{P}} = {{\bar{p}}}\,{{\varvec{\nu }}_t} \otimes {{\varvec{\nu }}_0}\,\,\text {with}\,\,{\bar{p}}\,{:}{=}\,{-\frac{M}{I}{\zeta ^1}},\,\,{I=\frac{wh^3}{12}}, \end{aligned}$$
(55)

and the outward unit normal vectors on the cross-sections at the ends of beam’s axis in the initial and current configurations are obtained by

$$\begin{aligned} {{\varvec{\nu }}_0} = \textrm{sign}({{\varvec{\nu }}_0})\frac{{{{\varvec{G}}_1} \times {{\varvec{G}}_2}}}{{\left\| {{{\varvec{G}}_1} \times {{\varvec{G}}_2}} \right\| }}\,\,\textrm{on}\,{{\mathcal {A}}_0}\big |_{s\in \left\{ 0,L\right\} }, \end{aligned}$$
(56)

and

$$\begin{aligned} {{\varvec{\nu }}_t} = \textrm{sign}({{\varvec{\nu }}_t})\frac{{{{\varvec{g}}_1} \times {{\varvec{g}}_2}}}{{\left\| {{{\varvec{g}}_1} \times {{\varvec{g}}_2}} \right\| }}\,\,\textrm{on}\,{{\mathcal {A}}_t}\big |_{s\in \left\{ 0,L\right\} }, \end{aligned}$$
(57)

respectively, where the values of the signum functions can be simply determined by

$$\begin{aligned} \textrm{sign}({{\varvec{\nu }}_0}) = \textrm{sign}({{\varvec{\nu }}_t}) = \left\{ \begin{array}{l} -1\quad \textrm{at}\quad {s=0},\\ +1\quad \textrm{at}\quad {s=L}. \end{array}\right. \end{aligned}$$
(58)

Then, the prescribed surface traction vector can be expressed by \({\bar{\varvec{T}}}_0=\varvec{P}\,\varvec{\nu }_0={\bar{p}}\,{\varvec{\nu }}_t\), and the external virtual work due to the follower load is obtained from Eq. (40), as

$$\begin{aligned} G_{{\textrm{nc}}}(\varvec{q},\delta {\varvec{q}}) = {\left[ {\delta {{\varvec{q}}^{\textrm{T}}}{{{\varvec{{\bar{R}}}}}_0}} \right] _{s \in {\Gamma _\textrm{N}}}}, \end{aligned}$$
(59a)

with

$$\begin{aligned} {{\varvec{{\bar{R}}}}_0} = - \frac{M}{I}\int _{\mathcal {A}} {{\zeta ^1}\,{\varvec{\Pi }}\,{{\varvec{\nu }}_t}\left\| {{{\varvec{G}}_1} \times {{\varvec{G}}_2}} \right\| \textrm{d}{\mathcal {A}}}. \end{aligned}$$
(59b)

Further, the increment of Eq. (59a) is derived as

$$\begin{aligned} \Delta G_{{\textrm{nc}}}({\varvec{q}};\delta {\varvec{q}},\Delta {\varvec{q}}) = {\left[ {\delta {{\varvec{q}}^{\textrm{T}}}{{\varvec{S}}_{{\textrm{nc}}}}\,\Delta {\varvec{q}}} \right] _{s \in {\Gamma _\textrm{N}}}}, \end{aligned}$$
(60)

where

$$\begin{aligned} {{\varvec{S}}_{{\textrm{nc}}}} = \frac{M}{I}\int _\mathcal {A} {{\zeta ^1}{{\bar{\varvec{S}}}_{{\textrm{nc}}}}\,\textrm{d}\mathcal {A}}, \end{aligned}$$
(61a)

with

$$\begin{aligned} {{\bar{\varvec{S}}}_{{\textrm{nc}}}}&\,{:}{=}\,\textrm{sign}(\varvec{\nu }_t)\frac{{\left\| {{{\varvec{G}}_1} \times {{\varvec{G}}_2}} \right\| }}{{\left\| {{{\varvec{g}}_1} \times {{\varvec{g}}_2}} \right\| }}\nonumber \\&\quad \times {\varvec{\Pi }}\left( {{\varvec{1}} - {{\varvec{\nu }}_t} \otimes {{\varvec{\nu }}_t}} \right) \left( {\widehat{{{\varvec{g}}}_2}}\,{\varvec{\Pi }}_{,{\zeta ^1}}^{\textrm{T}} - {\widehat{{{\varvec{g}}}_1}}\,{\varvec{\Pi }}_{,{\zeta ^2}}^{\textrm{T}} \right) . \end{aligned}$$
(61b)

Here, \(\widehat{{{\varvec{g}}}_\alpha }\) denotes the skew-symmetric tensor associated with the dual vector \({{\varvec{g}}}_\alpha \).

3 A frictionless beam-to-beam contact formulation

3.1 Impenetrability condition

We present a continuum formulation for frictionless lateral contact between two slender bodiesFootnote 4 based on the beam formulation presented in Sects. 2.12.2. We employ a Gauss point-to-surface contact formulation. The interacting bodies are denoted by \({{\mathcal {B}}}_0^{(\alpha )}\) (\(\alpha \in \left\{ 1,2\right\} \)) in their initial configurations. All the geometrical or physical quantities for the two bodies are indicated by the super- or subscript \((\alpha )\). Let \(\mathcal {R}_t\,{:}{=}\,{\mathcal {R}_t^{(1)}}={\mathcal {R}_t^{(2)}}\) be the current contact interface between the two contacting bodies, which are subsets of \(\mathcal {S}_t^\textrm{L}\). The contact interface is pulled back to the boundary surface in the initial configuration of each body \({\mathcal {R}_0^{(\alpha )}}\), and the contact conditions are evaluated on \(\mathcal {R}_0\,{:}{=}\,\mathcal {R}_0^{(1)}\ne \mathcal {R}_0^{(2)}\) [17]. We designate the bodies \({\mathcal {B}}_0^{(1)}\) and \({\mathcal {B}}_0^{(2)}\) as slave and master, which implies that all current points \({\varvec{x}}\in {\mathcal {R}_t^{(1)}}\) are supposed to not penetrate the surface \({\mathcal {R}_t^{(2)}}\). The boundary value problem of Eq. (32) can be rewritten for each of the interacting bodies, as

$$\begin{aligned} {\textrm{Div}}\,{{\varvec{P}}^{(\alpha )}} + {{\varvec{b}}_0^{(\alpha )}}&= \varvec{0}\quad \textrm{in}\quad \mathcal {B}_0^{(\alpha )}, \end{aligned}$$
(62a)
$$\begin{aligned} {{\varvec{u}}^{(\alpha )}}&= {{\varvec{{\bar{u}}}}}^{(\alpha )}\quad \textrm{on}\quad {\mathcal {S}^\textrm{D}_0}^{(\alpha )}, \end{aligned}$$
(62b)
$$\begin{aligned} {{\varvec{F}}^{(\alpha )}}{{\varvec{S}}^{(\alpha )}}{\varvec{\nu }}_0^{(\alpha )}&= {{\varvec{{\bar{T}}}}^{(\alpha )}_0}\quad \textrm{on}\quad {\mathcal {S}^\textrm{N}_0}^{(\alpha )}, \end{aligned}$$
(62c)

\(\alpha \in \left\{ 1,2\right\} \). Let \({\varvec{\bar{x}}}\in \mathcal {S}_t^{\textrm{L}(2)}\) be the solution of the following minimal distance problem

$$\begin{aligned} {\varvec{{\bar{x}}}} \,{:}{=}\,\arg \mathop {\min }\limits _{\varvec{x}^{(2)}\in \mathcal {S}^\mathrm {L(2)}_t} \left\| {{\varvec{x}}^{(1)}}-{{\varvec{x}}^{(2)}}\right\| \end{aligned}$$
(63)

for a given point \({\varvec{x}^{(1)}\in {{\mathcal {S}}_t^{\textrm{L}(1)}}}\), and \({\bar{\varvec{\nu }}}_t\) denote the outward unit normal vector at \({\varvec{{\bar{x}}}}\in \mathcal {S}_t^{\textrm{L}(2)}\). The impenetrability condition can then be evaluated, on the initial lateral surface \(\mathcal {S}_0^{\textrm{L}{(1)}}\ni {\varvec{X}}^{(1)}\), as [42]

$$\begin{aligned} {g_{\textrm{N}}} \,{:}{=}\,\left( {{{\varvec{x}}^{(1)}} - {{\varvec{{\bar{x}}}}}} \right) \cdot {{\varvec{{\bar{\nu }} }}_t}&\ge 0, \end{aligned}$$
(64a)
$$\begin{aligned} {p_{\textrm{N}}} \,{:}{=}\,{\varvec{{\bar{\nu }} }}_t \cdot {\varvec{F}}^{(1)}{\varvec{S}}^{(1)}{{\varvec{\nu }}_0^{(1)}}&\ge 0, \end{aligned}$$
(64b)
$$\begin{aligned} {p_\textrm{N}}\,{g_\textrm{N}}&= 0, \end{aligned}$$
(64c)
$$\begin{aligned} {{\varvec{t}}_\textrm{T}} \,{:}{=}\,{\varvec{F}}^{(1)}{\varvec{S}}^{(1)}{{\varvec{\nu }}_0^{(1)}} + {p_{\textrm{N}}}\,{\varvec{{\bar{\nu }} }}_t&= {\varvec{0}}, \end{aligned}$$
(64d)

where \({\varvec{\nu }}^{(1)}_0\) denotes the outward unit normal vector on the initial lateral surface of the slave body. Equation (64a) denotes the impenetrability condition, and Eq. (64b) represents that contact should be compressive, where \(p_\textrm{N}\) denotes the contact pressure. Further, Eq. (64c) means the contact pressure applies only if the impenetrability condition is active, and Eq. (64d) implies no friction is considered, where \(\varvec{t}_\textrm{T}\) denotes the tangential component of surface traction. The constraints of Eqs. (64a)–(64c) can be replaced by the penalty regularization of the contact pressure [42]

$$\begin{aligned} p_\textrm{N} = \epsilon _\textrm{N}\left\langle {g_\textrm{N}} \right\rangle \,\,\textrm{on}\,\, \mathcal {S}_0^\textrm{L} \end{aligned}$$
(65a)

with

$$\begin{aligned} {\left\langle {{g_{\textrm{N}}}} \right\rangle } \,{:}{=}\,\left\{ {\begin{array}{*{20}{c}} \begin{array}{l} - {g_\textrm{N}}\\ 0 \end{array}&{}\begin{array}{l} {\textrm{if}}\,\,\,{g_\textrm{N}} \le 0,\\ \textrm{otherwise}, \end{array} \end{array}} \right. \end{aligned}$$
(65b)

where the constant \(\epsilon _\textrm{N}>0\) is the penalty parameter, and \({g_\textrm{N}}\rightarrow 0\) and \(p_\textrm{N}\) converges as \({\epsilon _\textrm{N}}\rightarrow \infty \). That is, in order to reduce the error in the contact constraints or to avoid unphysical penetration, it is required to use a sufficiently large penalty parameter. However, it should be noted that, as we discuss in Sect. 5.3, a larger penalty parameter typically requires more surface Gauss integration points for the contact integral, and a smaller load increment, which makes the computation less efficient. An adaptive adjustment of penalty parameter remains future work. One can adjust the penalty parameter locally in order to control the penetration globally, such that the penetration does not exceed the maximum allowed value, see, e.g., the iterative adjustment approach of Durville [10].

3.1.1 Active set iteration

If the contact surface \(\mathcal {R}_0\) is known, the impenetrability condition becomes an equality constraint, and Eqs. (64a)–(64c) can be rewritten as

$$\begin{aligned} {g_{\textrm{N}}}&= 0\,\,\,{\textrm{if}}\,\,{\varvec{X}}^{(1)} \in \mathcal {R}_0, \end{aligned}$$
(66a)
$$\begin{aligned} {g_{\textrm{N}}}&> 0\,\,\,{\textrm{if}}\,\,{\varvec{X}}^{(1)} \notin \mathcal {R}_0, \end{aligned}$$
(66b)
$$\begin{aligned} {p_{\textrm{N}}}&\ge 0\,\,\,{\textrm{if}}\,\,{\varvec{X}}^{(1)} \in \mathcal {R}_0, \end{aligned}$$
(66c)
$$\begin{aligned} {p_{\textrm{N}}}&= 0\,\,\,{\textrm{if}}\,\,{\varvec{X}}^{(1)} \notin \mathcal {R}_0, \end{aligned}$$
(66d)

and the penalty regularization in Eq. (65) can be rewritten as

$$\begin{aligned} {p_\textrm{N}} = \left\{ {\begin{array}{*{20}{c}} \begin{array}{l} -\epsilon _\textrm{N}\,{g_\textrm{N}}\\ 0\end{array}&{}\begin{array}{l} {\textrm{if}}\,\,\,{\varvec{X}}^{(1)} \in \mathcal {R}_0,\\ {\textrm{if}}\,\,\,{\varvec{X}}^{(1)} \in \mathcal {S}^\textrm{L}_0\setminus \mathcal {R}_0. \end{array} \end{array}} \right. \end{aligned}$$
(67)

However, since the contact surface is also unknown in general, we employ an iterative procedure, called the active set method, in order to find the current contact area. The underlying idea of this method is to divide the inequality constraints into two groups—the active set and the inactive set of constraints [21]—and use two nested loops—an outer loop to find the correct set of active constraints, and an inner loop to solve the nonlinear boundary value problem of Eq. (62) using the Newton–Raphson iteration with a fixed set of active constraints. Let \(\mathcal {R}_0^k\) denote the contact area at the kth iteration (\(k=1,2,\ldots \)). For a given \(\mathcal {R}_0^{k-1}\) within the inner loop, we solve the variational equation of Eq. (41) using the Newton–Raphson iteration, and then we update the contact area by a contact search process, which is explained in Sects. 3.2 and 3.3. The outer loop continues until the active set converges. The search procedure to find the active set has to be performed at every iteration step of the active set loop. It contains two cases:

  • Case 1: update the contact state of those contact pairs in the existing active set, and remove any inactive contact pairs,

  • Case 2: add new contact pairs to the active set.

In the first case, we keep only the set elements (contact pairs) with positive contact pressure, i.e., \(p_\textrm{N}=-{\epsilon _\textrm{N}}{g_\textrm{N}}>0\), and remove the others from the active set. In the second case, new set elements are added to the active set if \(g_\textrm{N}<0\). For a more efficient contact search, we divide the search procedure into two steps: global and local searches.

Remark 5

One can employ a regularized penalty law, which updates the active set simultaneously during the Newton–Raphson iteration, instead of employing an additional outer loop. For example, quadratically regularized penalty laws are used by Durville [10] and Meier et al. [23]. Although in our formulation the active set method requires an additional outer loop, it has the following advantages:

  • It fixes the active set within the inner Newton–Raphson iteration, so that it gives an improved convergence behavior for the same size of load increment.

  • It does not require an additional user-defined parameter like a regularization threshold.

  • The quadratic regularization leads to zero contact stiffness initially, leading to inaccuracies. If a positive regularization threshold is used, unphysical contact force may initially occur.

3.2 Global contact search

The global search finds possible contact pairs using the normal distance between the axes of interacting beams. We first find the convective axial coordinate \({\widetilde{\xi }}^1\) of the closest point \({\widetilde{\varvec{\varphi }}}\,{:}{=}\,{\varvec{\varphi }}^{(2)}\big (\widetilde{\xi }^{1}\big )\), for a given slave point \(\varvec{\varphi }^{(1)}\), where we use several initial guesses \({}^{(0)}{\widetilde{\varvec{\varphi }}}\) along the axis of the master body, see “Appendix A.1” for the detailed procedure, and Fig. 7 for an illustration. Then we exclude those surface Gauss points corresponding to \(\varvec{\varphi }^{(1)}\), if \({\widetilde{\varvec{\varphi }}}\) lies outside of the range

$$\begin{aligned} \left\| \varvec{\varphi }_\textrm{d} \right\| \le {r_\textrm{c}}, \end{aligned}$$
(68)

where \({{\varvec{\varphi }}_{\textrm{d}}} \,{:}{=}\,{{\varvec{\varphi }}^{(1)}} - {\widetilde{\varvec{\varphi }}}\) defines a relative position vector between the axis in slave body and the axis in master body, and \(r_\textrm{c}>0\) is a chosen cutoff radius. Selecting \(r_\textrm{c}\) too small may result in some contact areas being undetected, leading to unphysical penetration. As \(r_\textrm{c}\) increases, the contact search procedure becomes less efficient. It may also depend on cross-sectional dimensions in the current configurations as well, so that it might need to be adjusted, if cross-sectional deformations are very large. In this paper, we use a fixed parameter \(r_\textrm{c} = 3R\) for an initially circular cross-section of radius R, and the development of an efficient algorithm to adjust the parameter \(r_\textrm{c}\) remains future work. We further exclude those surface Gauss points that lie outside of the angular range

$$\begin{aligned} 0 \le {\theta _{{\textrm{G}}}} \le {\varepsilon _\theta } \end{aligned}$$
(69a)

with

$$\begin{aligned} {\theta _{{\textrm{G}}}} \,{:}{=}\,{\cos ^{ - 1}}\left( {{{\varvec{\varphi }}^{(1)}}-{{\varvec{x}}^{(1)}}} \right) \cdot {{\varvec{\varphi }}_{\textrm{d}}}, \end{aligned}$$
(69b)

and \(0 < {\varepsilon _\theta } \le \pi \,\,[\textrm{rad}]\). As \(\varepsilon _\theta \) increases, the more Gauss points in the cross-sections’s boundary of the slave body are considered as contact candidates, and the contact search becomes less efficient. On the other hand, too small \(\varepsilon _\theta \) may lead to undetected contact areas or oscillation in the active set iteration, see the relevant discussion in Sect. 5.3.1. The subsequent local contact search considers only those surface Gauss points of the slave body which satisfy the criteria of Eqs. (68) and (69a).

Fig. 7
figure 7

Global search for contact candidate surface Gauss points in the slave body using the normal distance between the beam axes. In the selection of initial guess, we first select several points (hollow dots) with uniform intervals of the parametric coordinate along the axis of the master body. From a selected initial guess \({}^{(0)}\widetilde{\varvec{\varphi }}\), we find the closest point \(\widetilde{\varvec{\varphi }}\) on the axis, and we exclude the slave points \({\varvec{x}^{(1)}}\), if the condition of Eq. (68) is not satisfied. The black hollow dots on the lateral surface of the slave body indicate those surface Gauss points excluded by the criterion of Eq. (69a), and the other solid dots are those satisfying the criterion

3.3 Local contact search

The local contact search is an iterative procedure to solve a Gauss point-to-surface minimal distance problem using a local Newton–Raphson iteration.

3.3.1 Unilateral minimal distance problem

We determine the distance between two surface points from

$$\begin{aligned} d\big ({{\varvec{x}}^{(1)}},{{\varvec{x}}^{(2)}}({\varvec{\xi }}^{(2)})\big ) \,{:}{=}\,\left\| {{{\varvec{x}}^{(1)}} - {{\varvec{x}}^{(2)}}({\varvec{\xi }}^{(2)})} \right\| . \end{aligned}$$
(70)

Here and hereafter, we often use \({\varvec{x}}^{(2)}\equiv {\varvec{x}}^{(2)}({\varvec{\xi }})\equiv {{\varvec{x}}^{(2)}({\varvec{\xi }}^{(2)})}\) for brevity. The parametric coordinates of the closest master point \({\bar{\varvec{\xi }}}\equiv {\bar{\varvec{\xi }}}(\varvec{\xi }^{(1)})\) to a given surface point \({{\varvec{x}}^{(1)}} \equiv {{\varvec{x}}^{(1)}}({\varvec{\xi }}^{(1)})\) in the slave body is determined as the solution of the following unilateral minimal distance problem:

$$\begin{aligned} {\varvec{{\bar{\xi }} }} = \arg \mathop {\min }\limits _{{{\varvec{\xi }}^{(2)}}} d\big ({{\varvec{x}}^{(1)}},{{\varvec{x}}^{(2)}}{({\varvec{\xi }}^{(2)})}\big ), \end{aligned}$$
(71a)

where

$$\begin{aligned} \xi _{\min }^\alpha \le \xi ^{\alpha }_{(2)} \le \xi _{\max }^\alpha ,\,\,\alpha \in \{1,2\}, \end{aligned}$$
(71b)

and, in this paper, we normalize both convective coordinates such that \(\xi ^1_\textrm{min}=\xi ^2_\textrm{min}=0\) and \(\xi ^1_\textrm{max}=\xi ^2_\textrm{max}=1\). As we consider a closed curve for the boundary of the cross-section, the coordinate \(\xi ^2\) should have a periodic property. Therefore, for \(\alpha =2\), we employ

$$\begin{aligned} \xi ^\alpha _{(2)} = p\big (\xi ^\alpha _{(2)},{\xi ^\alpha _\textrm{min}},{\xi ^\alpha _\textrm{max}}\big ) \end{aligned}$$
(72a)

with

$$\begin{aligned} {p}(\xi ^\alpha ,\xi ^\alpha _\textrm{min},\xi ^\alpha _\textrm{max}) = {\xi ^\alpha } - \left\lfloor {\frac{{{\xi ^\alpha } - \xi _{\min }^\alpha }}{{{\xi ^\alpha _\textrm{r}}}}} \right\rfloor {\xi _{\textrm{r}}^\alpha }, \end{aligned}$$
(72b)

if \({\xi ^\alpha } > \xi _{\max }^\alpha \), and

$$\begin{aligned} {p}(\xi ^\alpha ,\xi ^\alpha _\textrm{min},\xi ^\alpha _\textrm{max}) = {\xi ^\alpha } + \left\lfloor {\frac{{\xi _{\max }^\alpha - {\xi ^\alpha }}}{\xi ^\alpha _\textrm{r}}} \right\rfloor {\xi ^\alpha _\textrm{r}}, \end{aligned}$$
(72c)

if \({\xi ^\alpha } < \xi _{\min }^\alpha \), where \(\xi ^\alpha _\textrm{r}\,{:}{=}\,{\xi ^\alpha _\textrm{max}}-{\xi ^\alpha _\textrm{min}}\), and \(\left\lfloor {{\xi ^\alpha }} \right\rfloor \) denotes the largest integer smaller than \(\xi ^\alpha \). If the axis curve is closed, Eq. (72) can also be applied for \(\alpha =1\). Otherwise, we divide the constraint of Eq. (71b) for \(\alpha =1\) into two parts: domain (i.e., \({\xi ^1}\in (\xi ^1_\textrm{min},\xi ^1_\textrm{max})\)) and end edges (i.e., \(\xi ^1\in \left\{ \xi ^1_\textrm{min},\xi ^1_\textrm{max}\right\} \)) and treat those two cases separately. In this paper, we focus on the former as the latter is not relevant to the envisioned examples. But in general both domain-to-edge or the edge-to-edge contacts might contribute significantly in some applications including an arbitrary arrangement or configuration of beams. For example, in the simulation of biopolymer networks of Meier et al. [23], it turns out that the end point-to-curve and end point-to-end point contacts play a significant role. The solution of Eq. (71a) satisfies the first order necessary condition

$$\begin{aligned} {\varvec{f}}({\varvec{\xi }^{(2)}})\equiv \left\{ {\begin{array}{*{20}{c}} {{f_1}}\\ {{f_2}} \end{array}} \right\} =\varvec{0}, \end{aligned}$$
(73a)

with

$$\begin{aligned} f_\alpha&\,{:}{=}\,\big ({{{\varvec{x}}^{(1)}} - {{\varvec{x}}^{(2)}}(\varvec{\xi }^{(2)})}\big ) \cdot {\varvec{a}}_\alpha ^{(2)}(\varvec{\xi }^{(2)}), \end{aligned}$$
(73b)

\(\alpha \in \left\{ 1,2\right\} \), where

$$\begin{aligned} \xi _{\min }^1< {\xi _{(2)}^{1}} < \xi _{\max }^1. \end{aligned}$$
(73c)

Hereafter, for brevity, we often use \(\varvec{a}_\alpha ^{(2)}\equiv {\varvec{a}_\alpha ^{(2)}}(\varvec{\xi }^{(2)})\), \(\alpha \in \left\{ 1,2\right\} \). The first order necessary condition of Eq. (73) in the minimal distance problem finds a local extremum solution. In order to find the closest point, it is required to select an initial guess sufficiently close to the closest point. We present a geometrical approach to efficiently determine an initial guess in Sect. 3.3.2. Within the Newton–Raphson iteration, for given coordinates \(\varvec{\xi }^{(2)}_{(i-1)}\) at the \((i-1)\)th iteration, we find the increment \(\Delta \varvec{\xi }^{(2)}\) such that

$$\begin{aligned} {\varvec{f}}^*({{\varvec{\xi }}^{(2)}_{{(i - 1)}}})\,\Delta {{\varvec{\xi }}^{(2)}} = -{{\varvec{f}}}({{\varvec{\xi }}^{(2)}_{(i - 1)}}),\,i=1,2,\ldots , \end{aligned}$$
(74)

and the convective coordinates are updated by

$$\begin{aligned} {\varvec{\xi }}^{(2)}_{{(i)}} = {\varvec{\xi }}^{(2)}_{{(i - 1)}} + \Delta {\varvec{\xi }}^{(2)}, \end{aligned}$$
(75)

until the condition \(\left\| {{\varvec{f}}\big ( {{{\varvec{\xi }}^{(2)}_{(i)}}} \big )} \right\| < {\varepsilon _{{\textrm{cpp}}}}\) is satisfied, where \(\varepsilon _\textrm{cpp}>0\) denotes a chosen tolerance, and \(\varvec{\xi }^{(2)}_{(0)}\) is an initial guess. Assuming \({\varvec{f}}^*({{\varvec{\xi }}^{(2)}_{{(i - 1)}}})\) is invertible, we obtain

$$\begin{aligned} \Delta {{\varvec{\xi }}^{(2)}} = -{\varvec{f}}^*({{\varvec{\xi }}^{(2)}_{{(i - 1)}}})^{-1}{{\varvec{f}}}({{\varvec{\xi }}^{(2)}_{(i - 1)}}), \end{aligned}$$
(76)

where

$$\begin{aligned} {\varvec{f}}^*({{\varvec{\xi }}^{(2)}})= \left[ {\begin{array}{*{20}{c}} {f_{11}^ *}&{}{f_{12}^ * }\\ \mathrm {sym.}&{}{f_{22}^ *} \end{array}} \right] , \end{aligned}$$
(77a)

with

$$\begin{aligned} {f_{\alpha \beta }^ *}&\,{:}{=}\,{\frac{\partial f_\alpha }{\partial {\xi ^\beta _{(2)}}}} ={{{({{\varvec{x}}^{(1)}} - {{\varvec{x}}^{(2)}})}} \cdot {\varvec{a}}_{\alpha ,\beta }^{(2)} - {a}_{\alpha \beta }^{(2)}}, \end{aligned}$$
(77b)

\(\alpha ,\beta \in \left\{ 1,2\right\} \). Hereafter, the notation \(\overline{(\bullet )}\) denotes the variable at \(\varvec{\xi }^{(2)}=\varvec{{\bar{\xi }}}\) in the master body, unless otherwise stated. For example, \({\varvec{{\bar{x}}}} \,{:}{=}\,{{\varvec{x}}^{(2)}}({\varvec{{\bar{\xi }} }})\). The overall procedure of the closest point projection is given in Algorithm 3. In the following we explain the determination of an initial guess \(\varvec{\xi }^{(2)}_{(0)}\equiv {{\bar{\varvec{\xi }}}}_{{(0)}}=\left[ {\bar{\xi }}^{1}_{(0)},{\bar{\xi }}^{2}_{(0)}\right] ^\textrm{T}\).

3.3.2 Determination of an initial guess

We select the intersection point between the relative position vector \({{\varvec{\varphi }}_{\textrm{d}}}\) and the cross-section at \(\widetilde{\varvec{\varphi }}\) as an initial guess for the local contact search. However, the intersection point, may not always exist on the boundary of the current cross-section at \(\widetilde{\varvec{\varphi }}\) due to the following two aspects:

  • The relative position vector is always normal to the axis of the master body; however, it may not be on the cross-section at \(\widetilde{\varvec{\varphi }}\) due to the transverse shear deformation.

  • For \(N>1\), the cross-section in the current configuration may not be planar.

Thus, we first consider a projection of the domain of the current cross-section \({\mathcal {A}^{(2)}_t}\) onto its tangent plane. This projected domain \(\widetilde{\mathcal {A}_t}\) can be expressed by

$$\begin{aligned} {\widetilde{{\mathcal {A}_t}}} \,{:}{=}\,\left\{ { {{\varvec{x}} \in {{\mathbb {R}}^3}} \big |{\varvec{x}} = {\zeta ^\gamma }{{\varvec{d}}^{(2)}_\gamma },\,({\zeta ^1},{\zeta ^2}) \in \mathcal {A}^{(2)}} \right\} . \end{aligned}$$
(78)

Note that for \(N=1\), \(\mathcal {A}^{(2)}_t\equiv {\widetilde{\mathcal {A}_t}}\). For convenience, we define \(\varvec{d}_3\,{:}{=}\,{{\varvec{d}}_1} \times {{\varvec{d}}_2}/\left\| {{{\varvec{d}}_1} \times {{\varvec{d}}_2}} \right\| \), and reciprocal base vectors \(\varvec{d}^i\) on the tangent plane such that \({{\varvec{d}}_i} \cdot {{\varvec{d}}^j} = \delta _i^j\) \((i,j\in \left\{ 1,2,3\right\} )\), as

$$\begin{aligned} \left\{ \begin{array}{l} {{\varvec{d}}^1} \,{:}{=}\,{{\varvec{d}}_2} \times {{\varvec{d}}_3}/{{\varvec{d}}_3} \cdot \left( {{\varvec{d}}_1} \times {{\varvec{d}}_2} \right) ,\\ {{\varvec{d}}^2} \,{:}{=}\,{{\varvec{d}}_3} \times {{\varvec{d}}_1}/{{\varvec{d}}_3} \cdot \left( {{\varvec{d}}_1} \times {{\varvec{d}}_2} \right) ,\\ {{\varvec{d}}^3} \equiv {{\varvec{d}}_3}. \end{array} \right. \end{aligned}$$
(79)

We also project the relative position vector \(\varvec{\varphi }_\textrm{d}\) onto the tangent plane, asFootnote 5

$$\begin{aligned} \widetilde{{{\varvec{\varphi }}_{\textrm{d}}}} \,{:}{=}\,\left( {{\varvec{1}} - {\varvec{d}}_3^{(2)} \otimes {\varvec{d}}_3^{(2)}} \right) {{\varvec{\varphi }}_{\textrm{d}}}. \end{aligned}$$
(80)

Then, \(\widetilde{\varvec{\varphi }_\textrm{d}}\) always intersects the boundary of \(\widetilde{\mathcal {A}_t}\), denoted as \(\partial {\widetilde{\mathcal {A}_t}}\), and we find the intersection between \(\partial \widetilde{{\mathcal {A}}_t}\) and the projected vector \(\alpha _\textrm{ig}{\widetilde{\varvec{\varphi }_\textrm{d}}}\) with the length adjusted by a parameter \(\alpha _\textrm{ig}>0\), and the intersection point is selected as an initial guess for the closest point in the local contact search, see Fig. 8. That is, for a given \(\varvec{d}^\beta _{(2)}\) and \(\widetilde{\varvec{\varphi }_\textrm{d}}\), we find the convective circumferential coordinate \({\xi ^{2}_{(2)}}={\bar{\xi }^{2}_{(0)}}\in \left[ \xi ^2_\textrm{min},\xi ^2_\textrm{max}\right] \), and \(\alpha _\textrm{ig}>0\) such that

$$\begin{aligned} e^\beta \,{:}{=}\,{\zeta ^\beta }\big ({\bar{\xi }^{2}_{(0)}}\big ) - {\varvec{d}}^\beta _{(2)}\cdot \alpha _\textrm{ig}{\widetilde{\varvec{\varphi }_\textrm{d}}}=0,\,\,\beta \in \left\{ 1,2\right\} . \end{aligned}$$
(81)

Since Eq. (81) is nonlinear with respect to \({{\bar{\xi }}^{2}_{(0)}}\), we need an iterative solution process. It should be noted that we use \({{\bar{\xi }}^{1}_{(0)}}={\widetilde{\xi }^1}\). Further details can be found in Appendix B.2.1.

Remark 6

For typical shapes of the initial cross-section, \(\zeta ^\gamma \) satisfying Eq. (81) can be analytically found. For example, for an initially circular cross-section of radius R such that

$$\begin{aligned} \big (\zeta ^1\big )^2+\big (\zeta ^2\big )^2=R^2, \end{aligned}$$
(82)

we have

$$\begin{aligned} {\zeta ^\gamma }\big ({\bar{\xi }^{2}_{(0)}}\big ) = \frac{{R\,{\varvec{d}}_{(2)}^\gamma \cdot {\widetilde{{{{\varvec{\varphi }}}_{\textrm{d}}}}}}}{{\sqrt{{{\big ( {{\varvec{d}}_{(2)}^1 \cdot {\widetilde{{{\varvec{\varphi }}}_{\textrm{d}}}}} \big )}^2} + {{\big ( {{\varvec{d}}_{(2)}^2 \cdot {\widetilde{{{\varvec{\varphi }}}_{\textrm{d}}}}} \big )}^2}} }}, \end{aligned}$$
(83)

\(\gamma \in \left\{ 1,2\right\} \). The process to find \({\bar{\xi }_{(0)}^{2}}\) satisfying Eq. (83) requires an iterative process due to the parameterization of the coordinates \(\big (\zeta ^1,\zeta ^2\big )\) in Eq. (22). Instead, in this paper, we directly solve Eq. (81), where both \({\bar{\xi }_{(0)}^{2}}\) and \(\alpha _\textrm{ig}\) are determined simultaneously.

Fig. 8
figure 8

A geometrical approach of selecting an initial guess \({\bar{\varvec{x}}}_{(0)}\equiv {\varvec{x}}^{(2)}({\bar{\varvec{\xi }}_{(0)}})\) in the local contact search as the intersection of the vector \(\alpha _\textrm{ig}\widetilde{\varvec{\varphi }_\textrm{d}}\) with the boundary of the projected cross-section \(\partial {\widetilde{\mathcal {A}_t}}\)

3.4 Variational formulation

The first variation of the position vector of the closest point on the master surface, i.e., \({\bar{\varvec{x}}} \equiv {\bar{\varvec{x}}}(\bar{\varvec{\xi }})\) is obtained by [47]

$$\begin{aligned} \delta {\bar{\varvec{x}}} \,{:}{=}\,\frac{d}{{d\varepsilon }}{ {{{{\varvec{\bar{x}}}}_\varepsilon }({\bar{\varvec{\xi }}}_\varepsilon )} \big \vert _{\varepsilon = 0}}= \delta {\bar{\varvec{u}}} + {{\bar{\varvec{a}}_{\alpha }}}\,\delta {{\bar{\xi }} ^\alpha }, \end{aligned}$$
(84)

where \(\delta {\bar{\varvec{u}}}\) defines the directional derivative of \(\bar{\varvec{x}}\) with the dependence of the parametric coordinate \(\bar{\varvec{\xi }}\) on \(\varepsilon \) suppressed, i.e.,

$$\begin{aligned} \delta {\bar{\varvec{u}}}\,{:}{=}\,\frac{d}{{d\varepsilon }}{ {{{{\varvec{{\bar{x}}}}}_\varepsilon }({\bar{\varvec{\xi }}})} \big |_{\varepsilon = 0}}. \end{aligned}$$
(85)

For beams, evaluating Eq. (12) at \({\varvec{\xi }}={\bar{\varvec{\xi }}}\) gives the position vector of the closest point on the surface \(\mathcal {R}^{(2)}_t\)

$$\begin{aligned} {\bar{\varvec{x}}} = {\bar{\varvec{\Pi }}}^\textrm{T}{\bar{\varvec{q}}}, \end{aligned}$$
(86)

where \(\bar{\varvec{x}}\,{:}{=}\,{\varvec{x}}^{(2)}(\bar{\varvec{\xi }})\), \({\bar{\varvec{\Pi }}}\,{:}{=}\,{{\varvec{\Pi }}}^{(2)}(\zeta ^1(\bar{\varvec{\xi }}),\zeta ^2(\bar{\varvec{\xi }}))\), and \({\bar{\varvec{q}}}\,{:}{=}\,{\varvec{q}^{(2)}}{(s({\bar{\xi }^1}))}\). Eq. (84) can thus be rewritten as

$$\begin{aligned} \delta {\varvec{{\bar{x}}}} = {\bar{\varvec{\Pi }}}^\textrm{T}\delta {\widetilde{\varvec{q}}} + {{\bar{\varvec{a}}_{\alpha }}}\,\delta {{\bar{\xi }} ^\alpha }, \end{aligned}$$
(87)

where we define

$$\begin{aligned} \delta {\varvec{{\widetilde{q}}}} \,{:}{=}\,\frac{d}{{d\varepsilon }}{ {{{{\varvec{\bar{q}}}}_\varepsilon }({{\bar{\xi }}^1})} \big |_{\varepsilon = 0}}. \end{aligned}$$
(88)

For a slave point, we simply obtain

$$\begin{aligned} \delta {\varvec{x}}^{(1)} = {{\varvec{\Pi }}_{(1)}^{\textrm{T}}}\delta {{\varvec{q}}}^{(1)}. \end{aligned}$$
(89)

At \({\varvec{\xi }}^{(2)}={\bar{\varvec{\xi }}}\) for a given \(\varvec{x}^{(1)}\), by the definition of \(g_\textrm{N}\) in Eq. (64a), we have

$$\begin{aligned} {{\varvec{x}}^{(1)}} - {{\varvec{{\bar{x}}}}} = {g_{\textrm{N}}}\,{\varvec{{\bar{\nu }} }}_t. \end{aligned}$$
(90)

Taking the first variation of Eq. (90), and substituting Eqs. (87) and (89), we obtain

$$\begin{aligned} \delta {g_{\textrm{N}}}{\varvec{{\bar{\nu }} }}_t&= {{\varvec{\Pi }}_{(1)}^{\textrm{T}}}\delta {{\varvec{q}}^{(1)}} - {\bar{\varvec{\Pi }}}^\textrm{T}\delta {{\varvec{{\widetilde{q}}}}} - {\varvec{{\bar{a}}}}_{\alpha }\,\delta {{\bar{\xi }}}^{\alpha } \nonumber \\&\quad - {g_{\textrm{N}}}\,\delta {\varvec{{\bar{\nu }}}}_t. \end{aligned}$$
(91)

Then, by taking the inner product of Eq. (91) and \({\varvec{{\bar{\nu }}}}_t\), and using \({{\varvec{\bar{\nu }}}}_t \cdot {{\varvec{{\bar{\nu }} }}}_t = 1\) and \(\delta {{\varvec{{\bar{\nu }}}}}_t \cdot {{\varvec{{\bar{\nu }} }}}_t = {{\varvec{{\bar{\nu }}}}}_t \cdot {{\varvec{{\bar{a}}}}_\alpha } = 0\), we have

$$\begin{aligned} \delta {g_{\textrm{N}}} = {\delta {{\varvec{q}}_{(1)}^{\textrm{T}}}}{{{\varvec{\Pi }}^{(1)}}}{{\varvec{{\bar{\nu }} }}}_t - {\delta {\varvec{{\widetilde{q}}}}}^\textrm{T}{{\bar{{\varvec{\Pi }}}}}\,{{\varvec{{\bar{\nu }} }}}_t. \end{aligned}$$
(92)

The internal virtual work due to the contact pressure can be written as

$$\begin{aligned} {G_{\textrm{N}}}({\varvec{q}},\delta {\varvec{q}})&\,{:}{=}\,\int _{\mathcal {R}_0} { - {p_{\textrm{N}}}\,\delta {g_{\textrm{N}}}\,{\textrm{d}}\mathcal {R}_0} \nonumber \\&= \int _{\mathcal {S}_0^\textrm{L}} { - {p_{\textrm{N}}}\,\delta {g_{\textrm{N}}}\,{\textrm{d}}\mathcal {S}_0^\textrm{L}} . \end{aligned}$$
(93)

Using Eqs. (31) and (92), Eq. (93) can be rewritten into

(94a)

with the normal contact stress resultant vector

$$\begin{aligned} {{\varvec{r}}_{\textrm{N}}}&\,{:}{=}\,-\frac{1}{{{{\tilde{j}}^{(1)}}}} \int _{{\varXi _{(1)}^2}}{{{{p}}_{\textrm{N}}}\,{\tilde{J}}^{(1)}{\varvec{\Pi }}^{(1)}{{\varvec{{\bar{\nu }} }}_t}\,{\textrm{d}}{\xi ^2}}\nonumber \\&\quad + \frac{1}{{{{\tilde{j}}^{(1)}}}}\int _{{\varXi _{(1)}^2}}{{{{p}}_{\textrm{N}}}\,{\tilde{J}}^{(1)}{\bar{\varvec{\Pi }}}\,{{\varvec{{\bar{\nu }} }}_t}\,{\textrm{d}}{\xi ^2}}, \end{aligned}$$
(94b)

where \(\varXi ^2\,{:}{=}\,[\xi ^2_\textrm{min},\xi ^2_\textrm{max})\) denotes the domain of the parametric coordinate \(\xi ^2\) in the cross-section’s boundary curve.

Remark 7

Units of the contact stress resultant. Each component of the stress resultant \(\varvec{r}_\textrm{N}\), which is energy conjugate to the nth order director, has units of \({F_0}{L_0}^{n-1}\), where \(F_0\) and \(L_0\) denote a unit force and unit length, respectively. For example, those components of \(\varvec{r}_\textrm{N}\) corresponding to \(n=0\) represent a resultant force per unit undeformed arc-length, and those corresponding to \(n=1\) represent a resultant director moment per unit undeformed arc-length.

3.5 Linearization of the contact variational form

In order to solve the nonlinear variational equation, we linearize the contact variational form of Eq. (93). Taking the directional derivative of Eq. (93) gives

$$\begin{aligned}&\Delta {G_{\textrm{N}}}({\varvec{q}};\delta {\varvec{q}},\Delta {\varvec{q}}) \,{:}{=}\,\int _{\mathcal {S}_0^\textrm{L}} {{\epsilon }_{\textrm{N}}\left( \delta {g_{\textrm{N}}}\,\Delta {g_{\textrm{N}}}+{g}_{\textrm{N}}\,\Delta \delta {g_{\textrm{N}}}\,\right) \omega \,\textrm{d}{\mathcal {S}_0^\textrm{L}}}, \end{aligned}$$
(95)

where we employ the Heaviside function \(\omega \equiv \omega (\varvec{X})\), defined as

$$\begin{aligned} {{{\omega }}}\,{:}{=}\,\left\{ {\begin{array}{*{20}{c}} \begin{array}{l} 1\\ 0 \end{array}&{}\begin{array}{l} {\textrm{if}}\,\,\,{\varvec{X}} \in \mathcal {R}_0,\\ {\textrm{if}}\,\,\,{\varvec{X}} \in {\mathcal {S}_0^\textrm{L}}\setminus \mathcal {R}_0. \end{array} \end{array}} \right. \end{aligned}$$
(96)

Further, using Eq. (92), we have

$$\begin{aligned} \delta {g_{\textrm{N}}}\Delta {g_{\textrm{N}}} = {\left\{ {\begin{array}{*{20}{c}} {\delta {{\varvec{q}}^{(1)}}}\\ {\delta {\varvec{{\widetilde{q}}}}} \end{array}} \right\} ^{\textrm{T}}}\varvec{k}^\textrm{M}_\textrm{N}\left\{ {\begin{array}{*{20}{c}} {\Delta {{\varvec{q}}^{(1)}}}\\ {\Delta {\varvec{{\widetilde{q}}}}} \end{array}} \right\} , \end{aligned}$$
(97)

where

$$\begin{aligned} \varvec{k}^\textrm{M}_\textrm{N}&\,{:}{=}\,\left[ {\begin{array}{*{20}{c}} {{{\varvec{\Pi }}^{(1)}}{{{\varvec{{\bar{\nu }} }}}_t} \otimes {{\varvec{\Pi }}^{(1)}}{{{\varvec{{\bar{\nu }} }}}_t}}&{}{ - {{\varvec{\Pi }}^{(1)}}{{{\varvec{{\bar{\nu }} }}}_t} \otimes {\varvec{{\bar{\Pi }} }}{{{\varvec{{\bar{\nu }} }}}_t}}\\ {\mathrm {sym.}}&{}{{\varvec{{\bar{\Pi }} }}{{{\varvec{{\bar{\nu }} }}}_t} \otimes {\varvec{{\bar{\Pi }} }}{{{\varvec{{\bar{\nu }} }}}_t}} \end{array}} \right] . \end{aligned}$$
(98)

We obtain the increment of \(\delta {g_\textrm{N}}\) by taking the directional derivative of Eq. (91)Footnote 6 and applying Eq. (87), as (see “Appendix A.2” for details)

$$\begin{aligned} \Delta \delta {g_{\textrm{N}}} = {\left\{ {\begin{array}{*{20}{c}} {\delta {{\varvec{q}}^{(1)}}}\\ {\delta \widetilde{\varvec{q}}} \end{array}} \right\} ^{\textrm{T}}}{{\varvec{k}}^\textrm{G}_{\textrm{N}}}\left\{ {\begin{array}{*{20}{c}} {\Delta {{\varvec{q}}^{(1)}}}\\ {\Delta \widetilde{\varvec{q}}} \end{array}} \right\} , \end{aligned}$$
(99)

where the symmetric matrix \(\varvec{k}^\textrm{G}_\textrm{N}\) is given by Eq. (A19). Finally, substituting Eqs. (97) and (99) into Eq. (95), we have

(100)

with

$$\begin{aligned} {{\varvec{k}}}_\textrm{N}\,{:}{=}\,\frac{1}{{{{\tilde{j}}^{(1)}}}}\int _{{{\varXi ^{2}_{(1)}}}}{\epsilon _\textrm{N}}{({{\varvec{k}}^\textrm{M}_{\textrm{N}}}+{{g_{\textrm{N}}}\,{{\varvec{k}}^\textrm{G}_{\textrm{N}}}})\,{\tilde{J}}^{(1)}\omega \,\textrm{d}{\xi ^2}}, \end{aligned}$$
(101)

which is symmetric.

4 Isogeometric finite element discretization

4.1 Beam formulation

We discretize the contact variational form and its increment using NURBS basis functions. A discussion on the crucial properties of NURBS in isogeometric analysis can be found in Hughes et al. [13]. The geometry of the beam’s initial axis is described by a NURBS curve, as

$$\begin{aligned} {\varvec{\varphi }}_0({\xi ^1}) = \sum \limits _{I = 1}^{{n_{{\textrm{cp}}}}} {{N_I}({\xi ^1})\,{{\varvec{P}}_I}}, \end{aligned}$$
(102)

where \({n_{{\textrm{cp}}}}\) denotes the total number of basis functions (or control points) of the axis, and \({{\varvec{P}}_I}\in \mathbb {R}^3\) denotes the position vector of the Ith control point. Using the NURBS basis functions \(N_I=N_I(\xi ^1)\), the finite element approximation \(\delta {{\varvec{q}}^h}=\delta {{\varvec{q}}^h}(s(\xi ^1))\) is expressed by

(103)

where \({\delta {\textbf{q}}_I} \in {{\mathbb {R}}^{n_{{\textrm{cs}}}}}\) denotes the coefficient vector of the Ith control point (\(I\in \left\{ 1,\ldots ,n_e\right\} \)), and \({n_e}\) denotes the number of basis functions having local support in the knot span \({\varXi _e}\) with \(e \in \left\{ {1,\ldots ,{n_{{\textrm{el}}}}} \right\} \), and \(n_\textrm{el}\) denotes the total number of nonzero knot spans. Substituting Eq. (103) into Eq. (36), and using the standard finite element assembly operator \(\textbf{A}\), we have

(104)

with , and \(\delta \textbf{q}\) denotes the global coefficient vector of the generalized directors. The element internal load vector is obtained by

(105)

where we define

$$\begin{aligned} {{\textbf{R}}^e} \,{:}{=}\,\int _\mathcal {A} {{{{\bar{{\varvec{\Xi }}}} }}{{_e^h}^{\textrm{T}}}{\varvec{S}}\,{j_0}\,\textrm{d}\mathcal {A}}, \end{aligned}$$
(106)

with \({\varvec{\Xi }}_e^h \,{:}{=}\,\left[ {\varvec{\Xi }}_1^h, \ldots ,{\varvec{\Xi }}_{{n_e}}^h\right] _{6 \times {n_{{\textrm{cs}}}{n_e}}}\), and

(107)

It is noted that, for brevity, we often use [5]

$$\begin{aligned} N_{I,s}\,{:}{=}\,{N_{I,1}}\frac{\textrm{d}\xi ^1}{\textrm{d}s}=\frac{1}{\tilde{j}}{N_{I,1}}. \end{aligned}$$
(108)

The external virtual work of Eq. (38) is discretized as

$$\begin{aligned} {G_{{\textrm{ext}}}}(\delta {{\varvec{q}}^h}) = \delta {{\textbf{q}}^{\textrm{T}}}{{\textbf{F}}_{{\textrm{ext}}}}, \end{aligned}$$
(109)

with \(\mathbf{{F}}_{\mathrm{{ext}}} := \mathbf{{A}}_{e = 1}^{{n_{\mathrm{{el}}}}} \mathbf{{F}}_{\mathrm{{ext}}}^e + \mathbf{{A}}{\left[ {{{{\varvec{\bar{R}}}}_0}} \right] _{s \in {\Gamma _\mathrm{{N}}}}}\), where

$$\begin{aligned} {\textbf{F}}_{{\textrm{ext}}}^e \,{:}{=}\,\int _{{\varXi _e}} {{\mathbb {N}}_e^{\textrm{T}}{\varvec{{\bar{R}}}}\,\,{\tilde{j}}\,\textrm{d}\xi ^1}. \end{aligned}$$
(110)

Similarly, the increment of the internal virtual work is discretized as

(111)

with . The element tangent stiffness matrix is

(112)

where

$$\begin{aligned} {{\mathbb {C}}_e} \,{:}{=}\,\int _\mathcal {A} {{{{\bar{{\varvec{\Xi }}}} }}{{_e^h}^{\textrm{T}}}{\varvec{\underline{\underline{\mathcal {C}}}}}\,\,{{\bar{\varvec{\Xi }}}}_e^h\,{j_0}\,\textrm{d}\mathcal {A}}, \end{aligned}$$
(113)

and \({{\mathbb {Y}}_e} \,{:}{=}\,{\left[ {\begin{array}{*{20}{c}} {{{\textbf{Y}}_1}}, \ldots , {{{\textbf{Y}}_{{n_e}}}} \end{array}} \right] _{2n_{{\textrm{cs}}} \times n_{{\textrm{cs}}}{n_e}}}\) with \({{\textbf{Y}}_I} \,{:}{=}\,{\left[ {\begin{array}{*{20}{c}} {N_I}{{{\textbf{1}}_{{n_{{\textrm{cs}}}}}}}, {N_{I,s}}{{{\textbf{1}}_{{n_{{\textrm{cs}}}}}}} \end{array}} \right] ^{\textrm{T}}}\). It is noted that the global tangent stiffness matrix is symmetric, since the matrix \({{\mathbb {C}}_e}\) and \({\varvec{k}}_\textrm{G}\) are symmetric.

4.2 Beam contact formulation

Let \(\mathcal {W}_k\) denote the active (working) set of indices of the surface Gauss point at the kth iteration of the outer loop, defined by

$$\begin{aligned} {\mathcal {W}_k}\,{:}{=}\,\left\{ {{i}\in \{ {1,\ldots ,n^\textrm{L}_\textrm{G}}\} \big |{p^i_{\textrm{N}}} \,{:}{=}\,-\epsilon _\textrm{N}{g^i_{\textrm{N}}} >0 }\right\} . \end{aligned}$$
(114)

Hereafter, we often use \({{\varvec{\xi }}_i}\,{:}{=}\,[\xi _i^{1},\xi _i^{2}]^\textrm{T}\), which denotes the parametric coordinates of the ith surface Gauss integration point of the slave body, and \({\bar{\varvec{\xi }}}_i\,{:}{=}\,{\bar{\varvec{\xi }}}({{\varvec{\xi }}_i})\) with \({\bar{\varvec{\xi }}}_i\,{:}{=}\,[{\bar{\xi }^1_i},{\bar{\xi }^2_i}]^\textrm{T}\). We also use \(g^i_{\textrm{N}}\,{:}{=}\,{g_{\textrm{N}}}({\varvec{x}}^{(1)}({{\varvec{\xi }}_i}),{{\bar{\varvec{x}}}}({\bar{\varvec{\xi }}}_i))\), and let \(n^\textrm{L}_\textrm{G}\) denote the total number of Gauss integration points on the lateral surface of the slave body. \(w^\alpha _i\) denotes the weight of the Gauss integration point in the domain \({\varXi _{(1)}^\alpha }\ni {\xi ^\alpha }\), \(\alpha \in \left\{ 1,2\right\} \). Then, from Eq. (94b), we define

(115)

\(i\in {\mathcal {W}_k}\), with \({{\tilde{J}}^{(1)}_i}\,{:}{=}\,{\tilde{J}^{(1)}}{({{\varvec{\xi }}_i})}\), \({{{\tilde{j}_i^{(1)}}}}\,{:}{=}\,{{{{\tilde{j}}^{(1)}}(\xi _i^1)}}\), \({{\zeta }}^\alpha _i\,{:}{=}\,\zeta ^\alpha ({\varvec{\xi }}_i)\), \({{\bar{\zeta }}^\alpha _i}\,{:}{=}\,\zeta ^\alpha ({\bar{\varvec{\xi }}}_i)\), \(\alpha \in \left\{ 1,2\right\} \), and \({\bar{\varvec{\nu }}_t^{i}}\,{:}{=}\,{\varvec{\nu }_t^{(2)}}\big ({\bar{\varvec{\xi }}_i}\big )\). Substituting Eq. (103) into the contact variational form of Eq. (94) gives

$$\begin{aligned} {G_{\textrm{N}}}({\varvec{q}}^h,\delta {\varvec{q}}^h) = \delta {{\textbf{q}}^{\textrm{T}}}{{\textbf{F}}_{\textrm{N}}}, \end{aligned}$$
(116)

with

(117)

where

(118)

with \({\mathbb {N}_{e}^{(1)}}\equiv {{\mathbb {N}_{e}^{(1)}}}(\xi ^1_i)\), and \({{\bar{\mathbb {N}}}_{{\bar{e}}}}\,{:}{=}\,{{{\mathbb {N}}}^{(2)}_{\bar{e}}}({{\bar{\xi }}}^1_i)\). e and \({\bar{e}}\) represent the indices of the nonzero knot spans including the coordinates \({\xi }_i^{1}\) and \({{\bar{\xi }}}_i^1\), respectively, i.e., \(\varXi ^{1(1)}_{e}\ni {{\xi }_i^1}\) and \(\varXi ^{1(2)}_{\bar{e}}\ni {{{\bar{\xi }}}_i^1}\). Similarly, the increment of the contact variational form of Eq. (100) can be discretized as

$$\begin{aligned} \Delta {G_{\textrm{N}}}({\varvec{q}}^h;\delta {\varvec{q}}^h,\Delta {\varvec{q}}^h) = \delta {{\textbf{q}}^{\textrm{T}}}{{\textbf{K}}_{\textrm{N}}}\Delta {\textbf{q}}, \end{aligned}$$
(119)

where

(120)

From Eq. (101), we have

$$\begin{aligned} {\mathbb {k}^i_\textrm{N}}({\varvec{\xi }}_i) \,{:}{=}\,{\frac{{\epsilon _\textrm{N}}{w^2_i}{{\tilde{J}}_i^{(1)}}}{{{{\tilde{j}}_i^{(1)}}}}}{\left\{ {{{\mathbb {k}}}^\textrm{M}_{\textrm{N}}({\varvec{\xi }}_i)} +{g^i_{\textrm{N}}}\,{{{\mathbb {k}}}^\textrm{G}_{\textrm{N}}}({\varvec{\xi }}_i)\right\} }, \end{aligned}$$
(121)

where \(i\in {\mathcal {W}_k}\), and \({\mathbb {k}}^{\textrm{M}}_\textrm{N}\) and \(\mathbb {k}^{\textrm{G}}_\textrm{N}\) are defined by Eqs. (A21) and (A22), respectively.

5 Numerical examples

We verify the presented isogeometric finite element formulation for beams and frictionless contact by comparison with reference solutions based on isogeometric brick elements. In the latter, we employ an active set strategy for Gauss point-to-surface contact combined with a penalty regularization. For the brick element formulation, we denote the degrees of basis functions in each parametric coordinate direction by \(\mathrm {deg.}=(p_\textrm{L},p_\textrm{W},p_\textrm{H})\), where \(p_\textrm{L}\), \(p_\textrm{W}\), and \(p_\textrm{H}\) denote the degrees of basis functions along the length (L), width (W), and height (H), respectively. Further, the number of elements in each of those directions are indicated by \({n_\textrm{el}}={n_\textrm{el}^\textrm{L}}\times {{n_\textrm{el}^\textrm{W}}}\times {{n_\textrm{el}^\textrm{H}}}\). In both beam and brick element formulations, for the contact integral, we employ a subdivision of elements in order to increase the accuracy of numerical integration. The number of sub-elements are given in each numerical example, and we always use a single Gauss integration point per sub-element, so that the number of sub-elements is the same as the number of Gauss integration points for the contact integral. In the beam formulation, for the evaluation of the contact integral along the circumferential direction, we subdivide the whole domain \(\left[ \xi ^2_\textrm{min},\xi ^2_\textrm{max}\right] \ni {\xi ^2_{(1)}}\) of each curve patch into \(m_\textrm{el}^\textrm{sub}\) sub-elements with uniform intervals. In the brick formulation, \(m^\textrm{sub}_\textrm{el}\) denotes the number of sub-elements within each nonzero knot span (element) along the circumferential direction. In both beam and brick element formulations, the number of sub-elements in each element (nonzero knot span) along the axial direction is denoted by \(n^\textrm{sub}_\textrm{el}\). Thus, in the beam formulation, the total numbers of sub-elements for the evaluation of contact integral is \({n_\textrm{el}}\times {n_\textrm{el}^\textrm{sub}}\) and \(m_\textrm{el}^\textrm{sub}\) in the axial and circumferential directions, respectively. In the brick element formulation, the total numbers of sub-elements in two transverse directions are \({n^\textrm{W}_\textrm{el}}\times {m^\textrm{sub}_\textrm{el}}\), and \({n^\textrm{H}_\textrm{el}}\times {m^\textrm{sub}_\textrm{el}}\), respectively. In the numerical examples, we consider a compressible Neo-Hookean material, which is the simplest type of hyperelastic material for arbitrarily large deformations. The St. Venant–Kirchhoff material, which provides a simpler formulation, is not valid for arbitrarily large deformations. Especially in the example of Sect. 5.4, we apply a large pre-strain in the axial direction, in which the St. Venant–Kirchhoff material might show unphysical decrease of volume for positive Poisson’s ratio, as discussed in Choi et al. [5]. In Sects. 5.3 and 5.4, the boundary curves of initial (circular) cross-sections are represented by a single patch of periodic NURBS with \(p=3\), and \(m_\textrm{cp}=67\).

5.1 Lateral contact of a straight beam under end moments

Fig. 9
figure 9

Lateral contact of a straight beam: a Undeformed configuration and boundary conditions, b hinge condition at the left end (\(s=0\)) for the brick and beam element models, c roller support condition at the right end (\(s=L\)) for the brick and beam element models. Here, \({\bar{u}}\), \({\bar{v}}\), and \({\bar{w}}\) denote the prescribed X-, Y-, and Z-displacements in the brick element model, respectively. The dashed line \(\mathcal {C}_0\) shows the initial center axis of beam

This example investigates the alleviation of Poisson locking in the beam formulation, and the verification of the contact pressure distribution in lateral contact to a rigid flat surface. We consider a straight beam with length \(L=10\,\textrm{m}\) and a rectangular cross-section of height \(h=0.2\,\textrm{m}\), and width \(w=1\,\textrm{m}\), and choose a Neo-Hookean material with Young’s modulus \(E=1.2\times {10^7}\,\textrm{Pa}\), and the Poisson’s ratio \(\nu =0.25\). As shown in Fig. 9a, the straight beam is aligned in X-direction and it has an initial lateral distance \({\epsilon }L\) from the rigid flat surface, with chosen \(\epsilon =2\times 10^{-2}\). An end moment \(M=\alpha \lambda _\textrm{load}EI/L\) is applied, where \(\lambda _\textrm{load}\) denotes the load parameter, satisfying \(0\le \lambda _\textrm{load}\le 1\), and I denotes the second moment of inertia of the rectangular cross-section, obtained by \(I=w{h^3}/12\). It is noted that for \(\alpha =2\pi \) the two end points of the beam’s axis meet, leading to an indeterminacy for rotation around the Y-axis, which is why we choose \(\alpha =1.8\pi \). In this example, we use uniform load increments, and the load parameter is obtained by \(\lambda _\textrm{load}=n/{n_{\textrm{load}}}\), where \(n_\textrm{load}\) denotes the total number of load step, and \(n=0,1,\ldots ,n_\textrm{load}\) denotes the load step number. We use \(n_\textrm{load}=20\) for both beam and brick elements. In both beam and brick element solutions, we use \(n_\textrm{el}^\textrm{sub}=10\) and \(m_\textrm{el}^\textrm{sub}=20\). For the beam formulation, a hinge condition is imposed at the left end (\(s=0\)), as \(\Delta {\varphi }_{1} = \Delta {\varphi }_{2} = \Delta {\varphi }_{3} = 0\), and \(\Delta {d}_{22}=0\) is further imposed in order to avoid rigid body rotation around the X-axis, where \(\Delta \varphi _i\,{:}{=}\,{\Delta \varvec{\varphi }\cdot {\varvec{e}}_i}\) and \({\Delta }d_{{\alpha }i}\,{:}{=}\,\Delta {{\varvec{d}}_{\alpha }}\cdot \varvec{e}_i\) (\(i\in \left\{ 1,2,3\right\} \), \(\alpha \in \left\{ 1,2\right\} \)). In the brick element formulation, at the left end, we also impose the condition \({{\bar{v}}}=0\) along the vertical line \(Y=0\) in the initial configuration (see the vertical blue line in Fig. 9b) in order to avoid the rigid body rotation around X-axis. The detailed formulation of the end moment condition can be found in Remark 4. In the brick element model, we apply the same traction boundary condition of Remark 4 (see Eq. (55)) with \({{\bar{p}}}=-{MZ/I}\) (\(- h/2\le Z\le h/2\)) at both end faces at \(X=0\) and \(X=L\). At the right end of the axis (\(s=L\)), roller conditions are applied by \({{\bar{v}}}={{\bar{w}}}=0\), and \(\Delta {\varphi _2}=\Delta {\varphi _3}=0\) in the brick and beam element formulations, respectively, see Fig. 9c. Since the surface basis functions do not have an interpolatory property in the domain of the end faces, these displacement boundary conditions along the selected points or lines in the initial configuration of the brick element model are imposed by using a penalty method with penalty parameter \(\epsilon _\textrm{D}=10^{7}E/{L_0}\), where \(L_0\) denotes the unit length. In the beam formulation, however, those displacement boundary conditions can be imposed exactly since the basis functions using the clamped knot vectors in the axis satisfies the Kronecker-delta property at the ends.

Fig. 10
figure 10

Lateral contact of a straight beam: Comparison of the X-displacement at the point A (marked in Fig. 9a) for two values of Poisson’s ratio: \(\nu =0.25\) and \(\nu =0\). No contact condition is imposed. (Color figure online)

5.1.1 Deformation without contact

We first consider a problem without the impenetrability condition. Figure 10 compares the X-displacement at the point A (marked in Figure. 9a) between beam element solutions and reference solutions for two different values of Poisson’s ratios: \(\nu =0.25\) and \(\nu =0\). We have the following two reference solutions:

  • Analytical solution: Under the assumption of pure bending, the applied moment M at both ends deforms the beam axis into a circle with radius \(R=EI/M\), where the X-displacement at point A can be obtained as

    $$\begin{aligned} u_\textrm{A} = L\left\{ \frac{\sin \left( {{\alpha {\lambda }_\textrm{load}/2}}\right) }{\alpha {\lambda }_\textrm{load}/2} - 1\right\} , \end{aligned}$$
    (122)

    for \(0<\lambda _\textrm{load}\le 1\), and \(u_\textrm{A}=0\) if \(\lambda _\textrm{load}=0\),

  • The brick element solution using B-spline basis functions of \(\mathrm {deg.}=(3,3,3)\) and \(n_\textrm{el}=80\times 10\times 10\).

The results using \(N=1\) suffers from Poisson locking such that the bending stiffness is artificially increased due to the inability to represent linear in-plane strains of the cross-section. By employing the EAS method in Choi et al. [5], it is shown that the beam solution agrees very well with the analytical solution. However, the beam solution for \(N=1\) (EAS) does not consider cross-sectional warping properly, so that it is shown to slightly deviate from the brick element solution. By increasing the order of approximation in the transverse direction to \(N=2\), which enables to represent cross-sectional warping properly, the beam solution comes very close to the brick element solution. In case of \(\nu =0\), there is no Poisson effect, so that the beam solution for \(N=1\) already agrees very well with the analytical solution, but still slightly deviates from the brick element solution. Similar to the results in the case of \(\nu =0.25\), the beam solution of \(N=2\) agrees very well with the brick element solution. Figure 11 compares the deformed cross-section shapes for the two different Poisson’s ratios: \(\nu =0.25\) and \(\nu =-0.25\). It is shown that the beam solution for \(N=1\) (EAS) always maintains straight boundaries, while the beam solution for \(N=2\) properly represents the curved cross-section boundary due to the Poisson effect in the cases of \(\nu =0.25\), and \(\nu =-0.25\). This is essential for accurately capturing contact, as is shown next.

Fig. 11
figure 11

Lateral contact of a straight beam: Comparison of the deformed cross-section shape at the center of the beam (\(s=0.5L\)) in the final deformed configuration for the two cases \(\nu =0.25\) and \(\nu =-0.25\). No contact condition is imposed. (Color figure online)

5.1.2 Contact pressure distribution on the bottom surface

Fig. 12
figure 12

Lateral contact of a straight beam: Distribution of the contact pressure on the bottom surface for three different values of Poisson’s ratio. The penalty parameter is \(\epsilon _\textrm{N}=10^1E/{L_0}\) for all cases. The contact pressure is plotted in the initial configuration for two different load steps: \(\lambda _\textrm{load}=0.1\), and 1 (not showing \(p=0\)). The colors correspond to the contact pressure values. We use brick elements with deg.=(3, 3, 3), \({n_\textrm{el}}=80\times 10\times 10\), and beam elements with \(p=3\), \({n_\textrm{el}}=80.\) (Color figure online)

Fig. 13
figure 13

Lateral contact of a straight beam: Comparison of the distribution of the contact force per unit initial arc-length (i.e., \(r_\textrm{N}\) from Eq. (124)) along the beam axis for the final deformed configuration (i.e., \(\lambda _\textrm{load}=1\)) for three values of Poisson’s ratio. We use brick elements with deg.=(3, 3, 3), \({n_\textrm{el}}=80\times 10\times 10\), and beam elements with \(p=3\) and \(n_\textrm{el}=80\). (Color figure online)

Next, we verify the contact formulation by comparing the pressure distribution between the presented beam contact formulation and the brick element solutions. Figure 12 shows the comparison for the three different values of Poisson’s ratios: \(\nu =0.25\), \(\nu =0\), and \(\nu =-0.25\). For a positive Poisson’s ratio, the bottom surface deforms into a concave shape, so that the contact pressure is concentrated around the two lateral edges, see Fig. 12a–c. On the other hand, for a negative Poisson’s ratio, the bottom surface deforms into a convex shape, so that the contact pressure is concentrated around the center of the bottom surface, see Fig. 12d–f. For zero Poisson’s ratio, the contact pressure is higher in the center region than that around the lateral edge in the results of the brick and beam (\(N=2\)) element formulations, see Fig. 12g–i. Further, we define the total contact force by the integral of the contact pressure in the lateral surface, as

$$\begin{aligned} {f_{\textrm{N}}}&\,{:}{=}\,\int _{{\mathcal {R}_0}} {{p_{\textrm{N}}}\,{\textrm{d}}{\mathcal {R}_0}}= \int _0^{{L^{(1)}}} {{r_{\textrm{N}}}\,{\textrm{d}}s}, \end{aligned}$$
(123)

where the contact force per unit initial arc-length is obtained by

$$\begin{aligned} {r_{\textrm{N}}} \,{:}{=}\,\frac{1}{{{{{\tilde{j}}}^{(1)}}}}\int _{{\Xi ^{2(1)}}} {{p_{\textrm{N}}}{{{\tilde{J}}}^{(1)}}\,{\textrm{d}}{\xi ^2}}. \end{aligned}$$
(124)

Figure 13 compares the distribution of \(r_\textrm{N}\) along the axis in the final deformed configuration from the beam solution with that of the brick element solution. In the beam solution for \(N=1\), the cross-section boundary always remains straight (hence the constant contact pressure in transverse direction in Fig. 12b, e and h), which leads to an overestimation of the contact force. However, it is seen that the agreement improves, as N increases. Figure 14 also shows that the total contact force of Eq. (123) converges to the brick element solution, as N increases.

5.2 Lateral contact of a circular ring

In this example, we consider contact between an elastic circular ring and a rigid flat surface. The circular ring has a square cross-section with dimension \(h=w=5\,\textrm{m}\), and the inner and outer radii of the ring are \(R_\textrm{i}=20\,\textrm{m}\) and \(R_\textrm{o}=25\,\textrm{m}\), respectively, see Fig. 15a. We choose the Neo-Hookean material model with Young’s modulus \(210\,\textrm{MPa}\) and Poisson’s ratio \(\nu =0.3\). Impenetrability is enforced by the penalty method using the penalty parameter \({\epsilon _{\textrm{N}}}={10^2}E/{L_0}\). The displacement is prescribed at the inner surface \(\mathcal {S}^\textrm{D}_0\) (see Fig. 15a), as

Fig. 14
figure 14

Lateral contact of a straight beam: convergence of the relative error in the total contact force between the beam \((f_\textrm{N})\) and the brick \((f_\textrm{N}^\textrm{brick})\) element solutions for three different cases of Poisson’s ratio: \(\nu =0.25, 0, -0.25\). We use brick elements of \(\mathrm {deg.}=(3,3,3)\), \(n_\textrm{el}=80\times 10\times 10\), and beam elements of \(p=3\), and \(n_\textrm{el}=80\). Note that, in the results of \(\nu =0.25\) and \(\nu =-0.25\), we use the EAS method for \(N=1\). (Color figure online)

Fig. 15
figure 15

Lateral contact of a circular ring: a undeformed configuration and prescribed displacement boundary condition at the inner surface \(\mathcal {S}^\textrm{D}_0\). The blue lines indicate the division of the domain into four parts due to modeling the ring exactly with four NURBS curves. b The two cross-sectional coordinates \(\zeta ^1\) and \(\zeta ^2\) are aligned with the radial, and Z-directions, respectively. In this problem, we consider contact only on the green-colored surface. (Color figure online)

$$\begin{aligned} \varvec{u}\,{:}{=}\,\varvec{x}-\varvec{X}={\bar{\varvec{u}}}\,\,\,\textrm{on}\,\,\,\mathcal {S}^\textrm{D}_0, \end{aligned}$$
(125)

where we choose the prescribed displacement vector \(\bar{\varvec{u}}=[0,-2\,{\textrm{m}},0]^\textrm{T}\), which means that the inner surface of the circular ring is rigidly translated in the negative Y-direction. For the beam formulation, the prescribed displacement boundary condition on the lateral surface \(\mathcal {S}^\textrm{D}_0\) can be enforced using a penalty method, and the detailed formulation can be found in Appendix A.3. The corresponding penalty parameter is chosen as \({\epsilon _{\textrm{D}}} = {10^7}E/{L_0}\). For computational efficiency, we locally refine the mesh along the longitudinal direction in the domain quarter at the bottom (see Fig. 15). In the following, for brevity, we specify only the number of elements in the bottom parts for both beam and brick simulations. In the other parts, we use \(n^\textrm{L}_\textrm{el}=10\) and \(n_\textrm{el}=10\) for brick and beam element solutions, respectively. In this example, we use uniform load increments with a total number of load steps \(n_\textrm{load}=5\), and \(n_\textrm{load}=40\) for beam and brick simulations, respectively. In both beam and brick simulations, we use \(n_\textrm{el}^\textrm{sub}=10\) and \(m_\textrm{el}^\textrm{sub}=20\). Figure 16 compares the displacement of the line \(\overline{AB}\), defined in Fig. 15b. This displacement contains a Z-component due to the Poisson effect. In case of \(N=1\) (EAS), we have only one director along \(\zeta ^2\), see Fig. 15b, and the homogeneous boundary condition on the Z-displacement at \(\mathcal {S}^\textrm{D}_0\) constrains the magnitude of the director \(\varvec{d}_2\). Therefore, the lateral displacement component \(u_Z\) vanishes. As the order of approximation N is increased, the lateral displacement of the beam formulation approaches that of the brick element solution, as Fig. 16 shows. Further we verify the contact pressure distribution at the bottom surface, i.e., the green-colored surface in Fig. 15b. Due to the symmetry with respect to the \(Y-Z\) plane, we plot the pressure only within the range \({0^ \circ } \le \theta \le {30^ \circ }\). Figure 17 compares the contact pressure distributions of the beam and brick element models. Figure 18 compares the distribution of the contact force per unit initial arc-length, i.e., \(r_\textrm{N}\) of Eq. (124). In case of \(N=1\), the contact pressure is constant in transverse direction due to the first order approximation of the displacement field, which leads to an overestimation of the contact force. As the order of approximation N increases, the agreement between the contact pressure distribution and the brick element solution improves significantly, as Figs. 17 and 18 show. Further, Fig. 19 shows that the total contact force of Eq. (123) converges to the corresponding brick element solution with increasing order N.

Fig. 16
figure 16

Lateral contact of a circular ring: Comparison of the deformation of the line \(\overline{AB}\), defined in Fig. 15b, for the beam and brick element solutions. Due to the chosen finite penalty parameters, the impenetrability constraints, and the displacement boundary condition on \(\mathcal {S}^\textrm{D}_0\) in the beam formulation are slightly violated. We use brick elements of \(\hbox {deg.}=(4,4,4)\), \(n_\textrm{el}=320\times 4\times 4\), and beam elements of \(p=3\), and \(n_\textrm{el}=320\). (Color figure online)

Fig. 17
figure 17

Lateral contact of a circular ring: Comparison of contact pressure distributions on the bottom surface in beam and brick element models. The colors correspond to the contact pressure values. a We use brick elements of \(\mathrm {deg.}=(4,4,4)\), \(n_\textrm{el}=320\times 4\times 4\), bc and beam elements of \(p=3\), and \(n_\textrm{el}=320\). (Color figure online)

5.3 Sliding contact between two initially straight beams

We consider sliding contact between two initially straight beams. The two beams have the same length \(L=6\,\textrm{m}\) and a circular cross-section of radius \(R=0.1\,\textrm{m}\), and they are initially perpendicular to each other with vertical distance \(d=10^{-3}\,\textrm{m}\). We select the Neo-Hookean material model with Young’s modulus \(E=210\times 10^9\,\textrm{Pa}\) and Poisson’s ratio \(\nu =0.3\). In the contact formulation, we choose the lower beam as the master body, and the upper beam as the slave body. The lower beam is fixed at both ends, and the upper beam is under non-homogeneous displacement boundary conditions at both ends of the beam, see Fig. 20. We investigate the following two cases of deformability.

Fig. 18
figure 18

Lateral contact of a circular ring: Comparison of the distribution of the contact force per unit initial arc-length, i.e., \(r_\textrm{N}\) from Eq. (124), at the bottom surface in beam and brick element solutions. We use brick elements of \(\mathrm {deg.}=(4,4,4)\), \(n_\textrm{el}=320\times 4\times 4\). (Color figure online)

Fig. 19
figure 19

Lateral contact of a circular ring: Convergence of the relative error in total contact force between the beam (\(f_\textrm{N}\)) and brick (\(f_\textrm{N}^\textrm{brick}\)) element solutions, with increasing the order of approximation in the cross-section (N). We use brick elements of \(\mathrm {deg.}=(4,4,4)\), \(n_\textrm{el}=320\times 4\times 4\), and beam elements of \(p=3\), and \(n_\textrm{el}=320\)

  • Case 1: the slave body (upper beam) is rigid, and the master body (lower beam) is deformable,

  • Case 2: both beams are deformable. It should be noted that the prescribed displacement boundary conditions apply to the whole end faces. Thus, the cross-sections at both ends are not deformable.

Fig. 20
figure 20

Sliding contact between two initially straight beams: Initial configuration and boundary conditions. The prescribed displacements in X-, Y-, and Z-directions at the ends of the upper beam are denoted by \({\bar{u}}\), \({\bar{v}}\), and \({\bar{w}}\), respectively, and chosen as \({{\bar{u}}}={{\bar{v}}}={\bar{w}}=-1.5\,\textrm{m}\)

We use the beam formulation with \(N=1\) combined with the EAS method, and choose the cutoff radius \(r_\textrm{c}=3R=0.3\,\textrm{m}\), and \(\varepsilon _\theta =0.4\pi \) in the global contact search.

5.3.1 Case 1: Rigid slave beam

The first case considers a rigid slave body, and we implement the rigidity by constraining all DOFs in the finite element discretization of the beam, and the closest point projection employs the numerical scheme presented in Sects. 3.2 and 3.3. Figure 21 shows the deformed configuration. During the sliding contact, as we consider frictionless contact, no Y-directional contact force should act on the lower beam. However, if the number of Gauss integration points along the axis of the slave body is not sufficient like the case \(n^\textrm{sub}_\textrm{el}=4\), it is seen in Fig. 22 that an unphysical Y-displacement occurs. For both cases \(n^\textrm{sub}_\textrm{el}=10\) and 20, it is shown that the Y-displacement vanishes to machine precision. However, it is observed that, if \(\varepsilon _\theta \) is too small (e.g., \(\varepsilon _\theta =0.25\pi \)), the active-set iteration does not converge but oscillates between two different contact states in several load steps, e.g., the last one, see Fig. 23. With \(\varepsilon _\theta =0.4\pi \), the active set iteration converges in all load steps. We calculate the average normal gap over the whole contact area by

$$\begin{aligned} {g^\textrm{avg}_{\textrm{N}}}&\,{:}{=}\,\frac{1}{\int _{{\mathcal {R}_0}} {{\textrm{d}}{\mathcal {R}_0}}}\int _{{\mathcal {R}_0}} {{g_{\textrm{N}}}\,{\textrm{d}}{\mathcal {R}_0}}. \end{aligned}$$
(126)

Figure 24a shows that the average normal gap decreases, and the total contact force converges, with increasing penalty parameter. Table 1 shows the selected number of sub-elements in axial and circumferential directions for the contact integral, and Table 2 shows the selected load increment sizes for each case of the penalty parameter. It is typically required to increase the number of surface Gauss integration points for the contact integral and reduce the load increment size in order to achieve convergence in the solution process using a larger penalty parameter. Too many Gauss integration points or high penalty parameters may lead to an overconstrained system, a case also called contact locking, especially for low order finite elements. In this paper, we basically use higher order basis functions, so that we do not observe such locking. Further steps to alleviate this locking, e.g., using a mortar-type discretization, remains future work. One can also develop a scheme to deactivate superfluous Gauss integration points in the active set (outer) loop, or adaptively control the penalty parameter.

Fig. 21
figure 21

Sliding contact between two initially straight beams (case 1): Final deformed configuration in the case of rigid slave (upper) beam. For the discretization of the beam axis, we use B-spline basis functions with \(p=3\), and \(n_\textrm{el}=80\) and \(n_\textrm{el}=160\) for the slave and master bodies, respectively. The chosen penalty parameter is \(\epsilon _\textrm{N}=20E/{L_0}\)

Fig. 22
figure 22

Contact between two initially straight beams (case 1): The magnitude of Y-displacement (\(\left|{u_Y}\right|\)) at the center of the beam’s axis (\(s=L/2\)) in the master body (lower beam). The solution using \(n^\textrm{sub}_\textrm{el}=4\) diverges at the 6th load step. In cases of \(n^\textrm{sub}_\textrm{el}=10\) and \(n^\textrm{sub}_\textrm{el}=20\), the Y-displacement vanishes to machine precision. The chosen penalty parameter is \(\epsilon _\textrm{N}=10E/{L_0}\). In all cases, \(m_\textrm{el}^\textrm{sub}=100\). (Color figure online)

Fig. 23
figure 23

Sliding contact between two initially straight beams (case 1): Convergence history of the energy norm and the total number of active surface Gauss integration points in the slave body during the active set iteration at the last load step for two different numbers of Gauss integration points along the axis of slave body in each case of \(\varepsilon _\theta \). The chosen penalty parameter is \(\epsilon _\textrm{N}=10E/{L_0}\). (Color figure online)

Fig. 24
figure 24

Contact between two initially straight beams (case 1): Convergence of a the average normal gap from Eq. (126) b and the total contact force from Eq. (123) versus the penalty parameter \(\epsilon _\textrm{N}\). The dashed line represents a linear rate of convergence

5.3.2 Case 2: Two deformable beams

Next, we consider both beams deformable. Figure 25 shows the final deformed configuration. In Fig. 26, we compare the lateral (Y-directional) displacement at the center of the lower beam’s axis during the deformation for two different numbers of DOFs in the upper beam (slave body): \(n^{(1)}_\textrm{el}=160\) and \(n^{(1)}_\textrm{el}=320\) with the number of sub-elements \(n^\textrm{sub}_\textrm{el}=20\), and \(n^\textrm{sub}_\textrm{el}=10\) for the evaluation of the contact integral, respectively, such that both cases have the same total number of Gauss integration points. In the former case with less DOFs in the slave body, the lateral displacement exhibits spurious oscillations. This is associated with an oscillatory change of cross-sectional area along the axis in the deformed configuration of the slave body due to curvature thickness locking, which means an artificial coupling between the cross-sectional stretching and the bending deformation. In Fig. 27, we compare the distribution of the cross-sectional area along the axis at the final deformed configuration for the two cases of the number of DOFs in the slave body. In Fig. 27, the reference solution of the cross-sectional area (\(A_\textrm{ref}\)) is obtained by using B-spline basis functions with \(p=4\), \(n^{(1)}_\textrm{el}=n^{(2)}_\textrm{el}=320\), \(n^\textrm{sub}_\textrm{el}=20\), and \(m^\textrm{sub}_\textrm{el}=100\). Figure 27 shows that the cross-sectional area decreases in the whole domain due to the Poisson effect caused by the axial stretching. It leads to large curvature in the lateral surface around the loaded area as well as the fixed boundary, which eventually leads to the oscillatory lateral displacement during the sliding contact. As shown in Choi et al. [5], this locking can be alleviated by mesh refinement, see Fig. 27b. Thus, in Fig. 26, it is seen that as we increase the number of DOFs in the slave body while maintaining the same total number of Gauss integration points for the evaluation of the contact integral, the amplitude of oscillation significantly decreases. The selected load increment sizes for each case of the results in Figs. 26 and 27 can be found in Table 3.

Fig. 25
figure 25

Sliding contact between two initially straight beams (case 2): For the discretization of the beam axis, we use B-spline basis functions with \(p=3\), and \(n_\textrm{el}=160\) for both the slave and master bodies. The chosen penalty parameter is \(\epsilon _\textrm{N}={10^2}E/{L_0}\)

Fig. 26
figure 26

Contact between two initially straight beams (case 2): Y-displacement at the center of axis (\(s=L/2\)) in the master beam for two different discretization. It should be noted that those two cases have the same total number of Gauss integration points for the evaluation of the contact integral on the slave body. In all cases, we use \(m^\textrm{sub}_\textrm{el}=100\). (Color figure online)

Fig. 27
figure 27

Contact between two initially straight beams (case 2): Distribution of the cross-sectional area along the axis for a the reference solution and b the beam element solution. In b, the black curve is cut off by the minimum and maximum values of the red curve in the vertical axis for a clear visualization. In all cases, we use \(m_\textrm{el}^\textrm{sub}=100\). The original graph can be found in Fig. 36. (Color figure online)

5.4 Twisting of a wire strand

A wire rope usually consists of twisted strands, where each strand is also composed of several twisted wires. Here we show a simulation of the twisting process of strands made of initially straight wires, which has been commonly employed to verify the applicability of the developed beam-to-beam contact formulations to cases with significantly small intersection angles, for example, see the relevant examples in Meier et al. [23], Konyukhov et al. [15], and Durville [9, 10]. We consider two different cases of strands with either two or seven initially straight wires aligned with the X-axis. In both cases, we consider initially straight beams with \(L=10\,\textrm{m}\), and initially circular cross-sections of radius R. Two initial directors of the cross-section are chosen as \({{\varvec{D}}_1} = {\varvec{e}_2}\) and \({{\varvec{D}}_2} = {\varvec{e}_3}\). A Neo-Hookean material model with Young’s modulus \(E=210\,\textrm{GPa}\), and Poisson’s ratio \(\nu =0.3\) is considered. We use the beam formulation with \(N=1\) combined with the EAS method, and consider the following boundary conditions.

  • First, we constrain the axis displacement \(\Delta \varvec{\varphi }\) at the end \(s=0\), i.e,

    $$\begin{aligned} \Delta \varvec{\varphi }=\varvec{0}\,\,\,\,\textrm{at}\,\,s=0. \end{aligned}$$
    (127)
  • Second, an axial tension is imposed as a pre-deformation by prescribing the X-displacement of the axis, as

    $$\begin{aligned} \Delta \varvec{\varphi } = {\bar{u}_1}{\varvec{e}_1}\,\,\,\,\textrm{at}\,\,s=L, \end{aligned}$$
    (128)

    where we choose \({\bar{u}}_1=1\,\textrm{m}\). This leads to a loss of contact due to the Poisson effect in the early phase of the twisting motion.

  • Third, the end position of the axes at \(s=L\) are prescribed such that they follow a circular path (see Fig. 28), i.e.,

    $$\begin{aligned} \left\{ {\begin{array}{*{20}{c}} {{\varvec{\varphi }\cdot \varvec{e}_2}-{c_2}}\\ {{\varvec{\varphi }\cdot \varvec{e}_3}-{c_3}} \end{array}} \right\} = {\bar{\varvec{\Lambda }}}\left\{ {\begin{array}{*{20}{c}} {{{\varvec{\varphi }_0\cdot \varvec{e}_2}} - {c_2}}\\ {{{\varvec{\varphi }_0\cdot \varvec{e}_3}} - {c_3}} \end{array}} \right\} , \end{aligned}$$
    (129a)

    with

    $$\begin{aligned} {\bar{\varvec{\Lambda }}}\,{:}{=}\,\left[ {\begin{array}{*{20}{c}} {\cos {{\bar{\theta }}}}&{}{ - \sin {{\bar{\theta }}}}\\ {\sin {{\bar{\theta }}}}&{}{\cos {{\bar{\theta }}}} \end{array}} \right] ,\,\,0 \le {{\bar{\theta }}} \le 2\pi , \end{aligned}$$
    (129b)

    where \(c_2\) and \(c_3\) denote the fixed Y- and Z-coordinates of the selected rotation center, and \({\bar{\theta }}=2\pi \lambda _\textrm{load}\) denotes the prescribed rotation angle with the load parameter \(0\le \lambda _\textrm{load}\le 1\). Note that this prescribed circular path is imposed after applying the axial tension of Eq. (128).

  • Fourth, in order to prevent the rigid body rotation around the axis, we constrain the displacement components of directors \(\varvec{d}_1\) and \(\varvec{d}_2\) at the end \(s=0\), as

    $$\begin{aligned} \Delta {\varvec{d}_{1}}\cdot {\varvec{e}_3} = \Delta {\varvec{d}_{2}}\cdot {\varvec{e}_2} = 0\,\,\,\,\textrm{at}\,\,s=0. \end{aligned}$$
    (130)
Fig. 28
figure 28

Twisting of a wire strand (two wires): Initial configuration of the wires in Y-Z plane (cross-sectional) view, and the same circular path of radius R is prescribed to the ends of the axes (\(s=L\)) of both beams. This is shown by the red curve with the arrow indicating the direction of prescribed rotation. Note that we choose the center of the prescribed circular path \(c_2=R\) and \(c_3 = 0\). We choose the left and right beams as slave and master bodies, respectively. (Color figure online)

We choose the cutoff radius \(r_\textrm{c}=3R\), and \(\varepsilon _\theta =0.25\pi \) in the global contact search.

5.4.1 A strand of two wires

We first consider a strand of two wires initially parallel to the X-axis, and a circular path is prescribed by the angle \({\bar{\theta }}=2\pi \lambda _\textrm{load}\,[\textrm{rad}]\) at \(s=L\) using Eq. (129), see Fig. 28. Figure 29 shows the deformed configurations for two different values of the initial cross-section radius R. In Fig. 30, we compare the Z-coordinate in the axis of the final deformed configuration of the wires with that of an analytical circular helix of radius R, given by

Fig. 29
figure 29

Twisting of a wire strand (two wires): The final deformed configurations for two cases of the initial cross-section’s radius: \(R=0.25\,\textrm{m}\), and \(R=0.125\,\textrm{m}\). The blue dots indicate the active surface Gauss integration points. In both cases, we use \(p=3\), \(n_\textrm{el}=40\), and \(\epsilon _\textrm{N}=10^2E/{L_0}\). (Color figure online)

$$\begin{aligned} \varphi ^\textrm{a}_3 = R\sin \left( {2\pi {\varphi ^h_1}/\ell } \right) ,\,\,{\varphi ^h_1} \in \left[ {0,\ell } \right] , \end{aligned}$$
(131)

where \(\ell \) denotes the deformed length of the beam’s axis after the pre-stretch, and \({\varphi ^h_i}\,{:}{=}\,{\varvec{\varphi }^h}\cdot \varvec{e}_i\), \(i\in \left\{ 1,2,3\right\} \). Further we define the relative \(L^2\)-norm of the difference by

$$\begin{aligned} {e_{{\varphi _3}}} \,{:}{=}\,\frac{{{{\left\| {\varphi _3^h - \varphi _3^{\textrm{a}}} \right\| }_{{L^2}}}}}{{{{\left\| {\varphi _3^{\textrm{a}}} \right\| }_{{L^2}}}}}, \end{aligned}$$
(132)

where the \(L^2\)-norm for \(u=u(s)\) in the domain \((0,L)\ni {s}\) is defined as

$$\begin{aligned} {\left\| u \right\| _{{L^2}}} \,{:}{=}\,\sqrt{\int _0^L {{u^2}{\textrm{d}}s} }. \end{aligned}$$
(133)
Fig. 30
figure 30

Twisting of a wire strand (two wires): Comparison of the final deformed configuration of the axis of the master body in the X-Z plane for three different values of the initial cross-section radius: \(R=0.25\,\textrm{m},\,0.125\,\textrm{m}\), and \(0.0625\,\textrm{m}\). Solid lines indicate the analytical solutions of Eq. (131). In all cases, we use \(p=3\), \(n_\textrm{el}=40\), and \(\epsilon _\textrm{N}=10^2E/{L_0}\). (Color figure online)

It is shown in Fig. 30 that the deformed axis of the beam slightly deviates from the analytical helix curve, and the difference decreases as the initial cross-sectional radius decreases. The difference from the analytical solution is mainly attributed to the following reasons, which are not considered in the analytical solution:

  • Cross-sectional contraction due to the pre-stretch,

  • Cross-sectional deformations due to the contact interactions,

  • A slight penetration allowed in the beam contact formulation using the penalty method.

Fig. 31
figure 31

Twisting of a wire strand (two wires): The relative \(L^2\)-norm of Eq. (132) versus the normal contact penalty parameter. We use \(N=1\) combined with the EAS method, and \(p=3\) and \(n_\textrm{el}=40\)

Fig. 32
figure 32

Twisting of wire strands (two wires): The convergence of the difference in the axial Z-coordinates of the final deformed configuration of the master body between the beam solution and the analytical solution of Eq. (131), for the penalty parameter \(\epsilon _\textrm{N}=10^3E/{L_0}\). We use the beam formulation with \(N=1\) combined with the EAS method, and \(p=3\) and \(n_\textrm{el}=40\)

Figure 31 shows that the difference decreases as the amount of penetration decreases due to increasing the penalty parameter. It is also seen in Fig. 32a that the difference linearly decreases, as the slenderness ratio increases, since the Z-displacement is linearly proportional to the cross-sectional radius. However, the relative difference does not completely vanish but converges to a value around \(e_{\varphi _3}=0.03\), which is attributed to the nominal transverse normal strain in the cross-section. Table 4 shows the selected number of sub-elements for the contact integral. Tables 56 and 7 show the selected load increment sizes used in the results of Fig. 31 for initial cross-sectional radii \(R=0.25\,\textrm{m}\), \(0.125\,\textrm{m}\), and \(0.0625\,\textrm{m}\), respectively.

5.4.2 A strand of seven wires

We consider twisting of a strand with seven wires. The beams are initially aligned with the X-axis, and have the same length \(L=10\,\textrm{m}\), and a circular cross-section of radius \(R=0.25\,\textrm{m}\). Figure 33 shows the initial arrangement of the wires and the prescribed rotation \({\bar{\theta }}=2\pi \lambda _{\textrm{load}}\,[\textrm{rad}]\) at the end \(s=L\) of the outer wires. We consider the following two cases of selecting contact pairs:

  • M1S6: the inner beam is selected as master body, and the other six outer beams are selected as slave bodies. Thus, we have a total of six contact pairs.

  • M6S1A: the inner beam is selected as slave body, and the other six outer beams are selected as master bodies. Additionally, the interaction between outer wires is considered. Thus, we have six inner wire-outer wire contact pairs, and also six outer wire-outer wire contact pairs, see Table 8 for the chosen contact pair information.

Figure 34 shows the final deformed configuration in case 1. In Fig. 35, the average of the total contact forces between the contact pairs in each case is plotted. In the result for M6S1A, the contact force between inner and outer wires, and outer wires are plotted separately. Interestingly, the contact force between inner and outer wires in those two cases are significantly different, if we additionally consider the interaction between outer wires. Table 9 shows the selected load increment sizes in each case of M1S6 and M6S1A. In both cases, we use \(n_\textrm{el}^\textrm{sub}=20\), and \(m_\textrm{el}^\textrm{sub}=300\) for the contact integral.

Fig. 33
figure 33

Twisting of a wire strand (seven wires): Initial configurations of strands in the cross-sectional Y-Z plane, and the prescribed circular paths at the ends (\(s=L\)), indicated by the red circle. (Color figure online)

Fig. 34
figure 34

Twisting of wire strands (seven wires): The final deformed configuration. We use \(p=3\), \(n_\textrm{el}=20\), and \(\epsilon _\textrm{N}=10E/{L_0}\), and select the outer beams as the slave bodies, and the inner beam as the master body (M1S6). The blue dots indicate the active surface Gauss points. (Color figure online)

Fig. 35
figure 35

Twisting of a wire strand (seven wires): Change of the average of the total contact force from Eq. (123) between corresponding contact pairs. We use \(p=3\), \(n_\textrm{el}=20\), and \(\epsilon _\textrm{N}=10E/{L_0}\). (Color figure online)

6 Conclusions

In this paper, we present an isogeometric finite element formulation for beams and beam-to-beam frictionless contact, based on the kinematics of Cosserat rod with unconstrained directors. The beam cross-sectional deformation is efficiently and accurately described by unconstrained directors of an arbitrary order. The beam contact formulation is based on a Gauss point-to-surface contact algorithm, where the impenetrability constraint is enforced by a penalty method combined with an active set method. Further we present a geometrical approach to efficiently determine an initial guess in the local Newton–Raphson iteration of the closest point projection. In numerical examples, we show that the beam contact formulation can provide contact pressure distributions which agree well with brick element solutions while requiring much less DOFs. The following areas could be interesting future research directions.

  • Alleviation of locking: In Sect. 5.3.2, it is shown that the curvature-thickness locking may lead to an unphysical oscillation of displacements in sliding contact. An extension of the assumed natural strain method in Betsch and Stein [3] to a higher order basis functions would be interesting. Further, an alleviation of contact locking (overconstrained system) due to the contact constraints will be investigated further in the future, e.g., using a mortar-type discretization method, a deactivation of superfluous Gauss integration points in the active set (outer) loop, or an adaptive control of the penalty parameter.

  • A mixed-variational formulation could alleviate locking and improve robustness in larger load steps, see Wackerfuß and Gruttmann [45]. The static condensation of the strains associated with higher order directors could also improve the efficiency of the beam formulation.

  • It is observed that an increase of the penalty parameter typically requires larger number of surface Gauss integration points for the contact integral and larger number of load steps, which eventually makes the solution process less efficient. One can consider an augmented Lagrangian method or Nitsche’s method in order to exactly satisfy the impenetrability constraint using low or moderate penalty parameters.

  • In the surface-to-surface beam contact formulation, we consider contact between smooth lateral surface domains only. If a non-smooth edge exists in the lateral surface, it is required to additionally consider a contact integral along the edge, for example, see Litewka and Wriggers [19]. Further, the cross-sections at the ends of axis may also contribute to contact interactions. For example, their boundary edges may undergo edge-to-surface or edge-to-edge contact.

  • The present beam contact formulation can be extended to incorporate tangential contact conditions including sticking and sliding friction. In sliding friction, an additional history variable is required for the amount of irreversible tangential slip, and it typically requires much smaller load increment sizes for accuracy, compared with frictionless or sticking contact formulations.