1 Introduction

Contact between beams is a special case in the 3D contact analysis. This topic was started by Wriggers and Zavarise in [11] and continued in [9, 10, 12] where contact without and with Coulomb friction for beams of circular and rectangular cross-sections was covered. The further development concerned inclusion of thermal and electric coupling, see [1]. Some subsequent research was also devoted to smoothing procedures for 3D curves representing axes of beams in contact, e.g. [7]. A rigorous approach to the question of point-wise contact was also suggested by Konyukhov and Schweizerhof in [5]. There the authors focused their interest on the closest-point projection procedure, which for the beam-to-beam contact leads to the orthogonality conditions, see [11]. The same authors used their approach to analyse the problem of rope wound around a cylinder and the question of knot-tightening [6]. The latter issue was also considered and solved by Durville in [4].

One of the key assumptions in the majority of those analyses was, that the closest points of two curves can always be uniquely determined, at least locally. In other words, the point-wise contact between beams was assumed. However, such an approach may fail in some special cases, for instance when irregular assemblies of fibre-like objects are considered [3]. Hence, the general approach must include possibilities when the contacting beam-like objects form acute angles and are parallel or conforming, see Fig. 1. The issues related to the existence and uniqueness of the closest points location were discussed in detail in [5].

Fig. 1
figure 1

Non point-wise contact between beams: a beams at acute angles and b conforming beams

The new beam-to-beam contact finite element presented in this paper is developed to model in a more precise way the situations, when contact between beams cannot be considered as point-wise. The main assumption for this new element is that, locally, there still exists the unique solution to the closest-point projection equations. Therefore, the presented approach is not suitable for the case of conforming/parallel beams. Such a case requires a completely different approach. In the present proposal, besides the main central pair of contact points found using the orthogonality conditions, two additional pairs of points are involved. Thus, the line along which the contact may occur between two almost parallel or almost conforming beams, is discretised by three contact point pairs, see Fig. 1a. The problem of finding the location of two additional contacts is discussed in Sect. 2. Section 3 presents some important details of the contact formulation for the additional points. The weak form of the contact contribution to the virtual work formulation and its consistent linearisation are presented. All the kinematic variables involved are expressed in terms of position vectors and displacements of contact points. The finite element discretisation of this formulation is introduced in Sect. 4. As a result the explicit form of residual vector and consistent tangent stiffness matrix are derived. They are ready to use in any computer program for static analysis of beams by the FEM. Numerical examples presented in Sect. 5 solved using the author’s computer program confirm the effectiveness and advantages of the new beam-to-beam contact element with respect to the previously derived one-point contact element in the cases of beams forming acute angles. Section 6 contains final remarks, conclusions and outlook.

Let is be stressed once again, that the presented approach with two additional points is based on the existence and uniqueness of the closest point location procedure. If this fails to determine uniquely the closest points—the central points in the new approach, then the additional points cannot be found, either. That is why the introduced algorithm may be seen as an alternative for the standard point-wise contact in the cases of beams forming acute angles, but not in the cases of parallel or conforming beams or when one beam wraps around the second one.

2 The additional pairs of contact points

Let us consider contact between two beams denoted by \(m\) and \(s\) with their axes presented in Fig. 2. The beams have circular cross-sections with radii \(r_{m}\) and \(r_{s}\). The presented multiple-point beam-to-beam contact element involves one pair of central contact points \(\text{ C }_{mn} - \text{ C }_{sn}\) and two additional ones. The location of the central points is found using the orthogonality conditions. This issue was exactly described in [6, 11] and as result of the minimisation of the axes distance \(d_{N}\) one gets the local co-ordinates of the closest points on each beam—\(\xi _{mn}\) and \(\xi _{sn}\) (\(-1 \le \xi _{in}\le 1\)). The following formula yields the basic kinematic variable for the normal contact—the gap function

$$\begin{aligned} g_N =\left\| {\mathbf{x}_{mn} -\mathbf{x}_{sn} } \right\| -\left( {r_m +r_s } \right) \end{aligned}$$
(1)

with

$$\begin{aligned} d_N =\left\| {\mathbf{x}_{mn} -\mathbf{x}_{sn} } \right\| \end{aligned}$$
(2)

The additional contact pairs are found in a two-step way. First, the contact candidate points \(\text{ C }_{snb}\), \(\text{ C }_{snf}\) are found on the beam \(s\) using the local co-ordinates shifted back (subscript \(b)\) and forward (subscript \(f)\) with respect to the local co-ordinate of the central contact point \(\xi _{sn}\)

$$\begin{aligned} \xi _{snb}&= \xi _{sn} -\xi _{\Delta s} \nonumber \\ \xi _{snf}&= \xi _{sn} +\xi _{\Delta s} \end{aligned}$$
(3)

as shown in Fig. 3.

Fig. 2
figure 2

Central contact points on beam axes and central normal gap

Fig. 3
figure 3

Additional contact points on beam axes and additional normal gaps

The definition of the shift \(\xi _{\Delta s}\) of the local co-ordinate is somewhat arbitrary. Here a result of some geometric considerations with respect to the layout of beam contact zones is adopted. Let us consider a pair of contacting beams. The plan view of the contact zone is presented in Fig. 4, while the cross-section A–A along the beam \(s\) is shown in Fig. 5. The distance between the centre contact point \(\text{ C }_{sn}\) on the axis of the beam \(s\) and the edge of the overlap region depicted in the plan view is

$$\begin{aligned} a_s =\frac{r_m }{\sin \varphi } \end{aligned}$$
(4)

Now the distance between a shifted contact point, \(\text{ C }_{snb}\) or \(\text{ C }_{snf}\), and the central one \(\text{ C }_{sn}\) is assumed as a fraction \(1/k\) of \(a_{s}\). This yields the following shift value for the local co-ordinate

$$\begin{aligned} \xi _{\Delta s} =\frac{1}{k}\cdot \frac{a_s }{l_s }=\frac{1}{k}\cdot \frac{r_m }{l_s \sin \varphi } \end{aligned}$$
(5)

where \(l_{s}\) is the length of the beam element within which the contact point lies.

Fig. 4
figure 4

Plan view of contacting beams

Fig. 5
figure 5

Cross-section A–A of contacting beams—see Fig. 4

The value of the fraction denominator \(k\) can be tuned to a given application. In the numerical tests it was found that \(k=3\) yields the best results, so finally

$$\begin{aligned} \xi _{\Delta s} =\frac{r_m }{3l_s \sin \varphi } \end{aligned}$$
(6)

With the additional points located on the beam \(s\), the orthogonality condition can be applied to find their counterparts \(\text{ C }_{mnb}\) and \(\text{ C }_{mnf}\) on the beam \(m\). The appropriate relations read

$$\begin{aligned}&\left( {\mathbf{x}_{mnb} -\mathbf{x}_{snb} } \right) \cdot \mathbf{x}_{mnb,m} =0\end{aligned}$$
(7)
$$\begin{aligned}&\left( {\mathbf{x}_{mnf} -\mathbf{x}_{snf} } \right) \cdot \mathbf{x}_{mnf,m} =0 \end{aligned}$$
(8)

where dot \(\cdot \) denotes the scalar product. Generally, the conditions (7) and (8) represent non-linear equations, which can be solved iteratively using the Newton–Raphson method. With a finite element discretisation adopted, the co-ordinate of element mid-point \(\xi _{m}=0\) can be used as the starting value. Following the lines of the solution for the central points with a set of orthogonality conditions (see [11]) with the use of the following expressions for the position vectors and their derivatives at the additional points

$$\begin{aligned}&\Delta \mathbf{x}_{mnb} =\Delta \mathbf{u}_{mnb} +\mathbf{x}_{mnb,m} \Delta \xi _{mnb} \nonumber \\&\Delta \mathbf{x}_{snb} =\Delta \mathbf{u}_{snb} +\mathbf{x}_{snb,s} \Delta \xi _{snb} \\&\Delta \mathbf{x}_{mnb,m} =\Delta \mathbf{u}_{mnb,m} +\mathbf{x}_{mnb,mm} \Delta \xi _{mnb}\nonumber \end{aligned}$$
(9)
$$\begin{aligned}&\Delta \mathbf{x}_{mnf} =\Delta \mathbf{u}_{mnf} +\mathbf{x}_{mnf,m} \Delta \xi _{mnf} \nonumber \\&\Delta \mathbf{x}_{snf} =\Delta \mathbf{u}_{snf} +\mathbf{x}_{snf,s} \Delta \xi _{snf} \\&\Delta \mathbf{x}_{mnf,m} =\Delta \mathbf{u}_{mnf,m} +\mathbf{x}_{mnf,mm} \Delta \xi _{mnf}\nonumber \end{aligned}$$
(10)

the iterative updates for the local co-ordinates of the points \(\text{ C }_{mnb}\) and \(\text{ C }_{mnf}\) are obtained in the form

$$\begin{aligned} \Delta \xi _{mb} =\frac{-\left( {\mathbf{x}_{mnb} -\mathbf{x}_{snb} } \right) \cdot \mathbf{x}_{mnb,m} }{\mathbf{x}_{mnb,m} \cdot \mathbf{x}_{mnb,m} +\left( {\mathbf{x}_{mnb} -\mathbf{x}_{snb} } \right) \cdot \mathbf{x}_{mnb,mm} } \end{aligned}$$
(11)
$$\begin{aligned} \Delta \xi _{mf} =\frac{-\left( {\mathbf{x}_{mnf} -\mathbf{x}_{snf} } \right) \cdot \mathbf{x}_{mnf,m} }{\mathbf{x}_{mnf,m} \cdot \mathbf{x}_{mnf,m} +\left( {\mathbf{x}_{mnf} -\mathbf{x}_{snf} } \right) \cdot \mathbf{x}_{mnf,mm} } \end{aligned}$$
(12)

Having located the additional contact points at both beams \(m\) and \(s\) two additional normal gap functions can be defined in a way analogous to the normal gap at the central point (1). This yields

$$\begin{aligned} \begin{aligned} g_{Nb}&=d_{Nb} -\left( {r_m +r_s } \right) \\ g_{Nf}&=d_{Nf} -\left( {r_m +r_s } \right) \end{aligned} \end{aligned}$$
(13)

where the distances between the contact points are

$$\begin{aligned} \begin{aligned} d_{Nb}&=\left\| {\mathbf{x}_{mnb} -\mathbf{x}_{snb} } \right\| \\ d_{Nf}&=\left\| {\mathbf{x}_{mnf} -\mathbf{x}_{snf} } \right\| \end{aligned} \end{aligned}$$
(14)

With three gap functions given by (2) and (13) the normal contact formulation for three separate contact point pairs can be formulated. The active set strategy can be adopted and the required contact search algorithm, described in a detailed way in [8] can be effectively applied here, too. This allows to express the weak form of the contact contribution in an analogous way as in [10].

Finally, it should be pointed out that the presented procedure changes the character of the beam-to-beam contact. The standard point-wise contact between beams features a specific symmetry—a parity of both contacting beams, making the distinction between the beam \(m\) and the beam \(s\) fully reversible. The results of analysis do not depend on this distinction. Contrary to that situation, in the present approach, due to the nature of the shifted additional points on the beam \(s\), this parity is no longer present and computation results will depend on the choice of the beam \(s\). In this sense, the new beam-to-beam element will be similar to the node-to-segment or node-to-surface contact elements used in the modelling of contact between regular solid bodies, where the distinction between slave and master bodies plays a vital role.

Due to the adopted method to find the shifted contact points, as presented in Fig. 4, it is advisable to treat the beam with a smaller cross-section as the beam \(s\). With this provision, the resulting contact points will be more effectively distributed along the real contact zone which is longer along the beam with a smaller cross-section and narrower along the beam with a larger cross-section.

3 The weak formulation of normal contact with additional points and the kinematic variables

For the contact problem modelled by a set of three contact point pairs the appropriate weak formulation can be used. In this paper the penalty method is applied with the same value of the penalty parameter for all three contacts. Hence, following the derivation from [9, 11], the contact term in the weak formulation for a pair of contacting beams can be expressed in the form

$$\begin{aligned} \delta \Pi _c =\varepsilon _N g_N \delta g_N +\varepsilon _N g_{Nb} \delta g_{Nb} +\varepsilon _N g_{Nf} \delta g_{Nf} \end{aligned}$$
(15)

with three separate contributions for the central and two additional contact points.

The subsequent linearisation of the variation (15), required in the general Newton–Raphson iterative scheme used to solve the non-linear contact problem, consists of the respective three contributions, too. One gets

$$\begin{aligned} \Delta \delta \Pi _c&= \varepsilon _N \left[ {\left( {\Delta g_N \delta g_N +g_N \Delta \delta g_N } \right) } \right. \nonumber \\&\left. +\left( {\Delta g_{Nb} \delta g_{Nb} +g_{Nb} \Delta \delta g_{Nb} } \right) \right. \nonumber \\&\left. +\left( {\Delta g_{Nf} \delta g_{Nf} +g_{Nf} \Delta \delta g_{Nf} } \right) \right] \end{aligned}$$
(16)

It should be pointed out, that a contact check must be applied separately for each from three pairs of contact points: \(\text{ C }_{mnb}\) and \(\text{ C }_{snb}, \text{ C }_{mn}\) and \(\text{ C }_{sn}, \text{ C }_{mnf}\) and \(\text{ C }_{snf}\). If any of these pairs is inactive, i.e. the gap function for the contact pair exhibits separation, then the appropriate terms in (15) and (16) should be excluded from the formulation.

The expressions (15) and (16), which after discretisation yield the residual vector and the tangent stiffness matrix for the contact element, include the kinematic variables related to all three pairs of contact points. The variables for the central contact point have been expressed in terms of displacements in [9, 11] and the appropriate formulae will not be repeated in this paper. Here the focus is locked on the derivations corresponding to the variables defined at the additional points.

Due to a different method used to localise them, including the shift of local co-ordinate along the beam \(s\) and the orthogonality conditions on the beam \(m\) only, there will be some serious differences between the formulation for the pairs of the shifted points and the central pair points.

Variations and linearisations of the gap functions (13) and (14) can be expressed as

$$\begin{aligned}&\delta g_{Nb} =\delta \left\| {\mathbf{x}_{mnb} -\mathbf{x}_{snb} } \right\| \nonumber \\&=\mathbf{n}_b \cdot \left( {\delta \mathbf{u}_{mnb} -\delta \mathbf{u}_{snb} -\mathbf{x}_{snb,s} \delta \xi _{snb} } \right) \\&\Delta g_{Nb} =\Delta \left\| {\mathbf{x}_{mnb} -\mathbf{x}_{snb} } \right\| \nonumber \\&=\mathbf{n}_b \cdot \left( {\Delta \mathbf{u}_{mnb} -\Delta \mathbf{u}_{snb} -\mathbf{x}_{snb,s} \Delta \xi _{snb} } \right) \nonumber \end{aligned}$$
(17)
$$\begin{aligned}&\delta g_{Nf} =\delta \left\| {\mathbf{x}_{mnf} -\mathbf{x}_{snf} } \right\| \nonumber \\&=\mathbf{n}_f \cdot \left( {\delta \mathbf{u}_{mnf} -\delta \mathbf{u}_{snf} -\mathbf{x}_{snf,s} \delta \xi _{snf} } \right) \\&\Delta g_{Nf} =\Delta \left\| {\mathbf{x}_{mnf} -\mathbf{x}_{snf} } \right\| \nonumber \\&=\mathbf{n}_f \cdot \left( {\Delta \mathbf{u}_{mnf} -\Delta \mathbf{u}_{snf} -\mathbf{x}_{snf,s} \Delta \xi _{snf} } \right) \nonumber \end{aligned}$$
(18)

where the vectors normal to the beam \(m\) at the contact points \(\text{ C }_{mnb}\) and \(\text{ C }_{mnf}\) were introduced

$$\begin{aligned} \mathbf{n}_b&= \frac{\mathbf{x}_{mnb} -\mathbf{x}_{snb} }{\left\| {\mathbf{x}_{mnb} -\mathbf{x}_{snb} } \right\| }\end{aligned}$$
(19)
$$\begin{aligned} \mathbf{n}_f&= \frac{\mathbf{x}_{mnf} -\mathbf{x}_{snf} }{\left\| {\mathbf{x}_{mnf} -\mathbf{x}_{snf} } \right\| } \end{aligned}$$
(20)

It is worth to note, that the final expressions (17) and (18) contain the terms—the last ones in the parentheses, which are non-zero due to lack of orthogonality of the normal vectors \(\mathbf{n}_{b}\) and \(\mathbf{n}_{f}\) to the tangent to the beam \(s\) axis. This is obviously not the case for the central pair of contact points, where the orthogonality holds for both beams.

The linearisations of the variations (17)\(_{1}\) and (18)\(_{1}\) will consequently involve additional terms, when compared to the corresponding expressions for the central contact pair. After the basic computations, analogous to those presented in [9, 11] one gets

$$\begin{aligned} \Delta \delta g_{Nb}&= \left( {\Delta \delta \mathbf{u}_{mnb} -\Delta \delta \mathbf{u}_{snb} } \right) \cdot \mathbf{n}_b\nonumber \\&+\left( {\delta \mathbf{u}_{mnb,m} \Delta \xi _{mnb} -\delta \mathbf{u}_{snb,s} \Delta \xi _{snb} } \right) \cdot \mathbf{n}_b \nonumber \\&+\left( {\Delta \mathbf{u}_{mnb,m} \delta \xi _{mnb} -\Delta \mathbf{u}_{snb,s} \delta \xi _{snb} } \right) \cdot \mathbf{n}_b \nonumber \\&+\!\left( {\mathbf{x}_{mnb,mm} \Delta \xi _{mnb} \delta \xi _{mnb} \!-\!\mathbf{x}_{snb,ss} \Delta \xi _{snb} \delta \xi _{snb} } \right) \cdot \mathbf{n}_b \nonumber \\&+\left( {-\mathbf{x}_{snb,s} \Delta \delta \xi _{snb} } \right) \cdot \mathbf{n}_b +\frac{1}{\left\| {\mathbf{x}_{mnb} -\mathbf{x}_{snb} } \right\| }\nonumber \\&\left( {\delta \mathbf{u}_{mnb} +\mathbf{x}_{mnb,m} \delta \xi _{mnb} -\delta \mathbf{u}_{snb} -\mathbf{x}_{snb,s} \delta \xi _{snb} } \right) \nonumber \\&\times \left( {\mathbf{1}-\mathbf{n}_b \otimes \mathbf{n}_b } \right) \nonumber \\&\quad \left( {\Delta \mathbf{u}_{mnb} \!+\!\mathbf{x}_{mnb,m} \Delta \xi _{mnb} \!-\!\Delta \mathbf{u}_{snb} \!-\!\mathbf{x}_{snb,s} \Delta \xi _{snb} } \right) \nonumber \\ \end{aligned}$$
(21)
$$\begin{aligned} \Delta \delta g_{Nf}&= \left( {\Delta \delta \mathbf{u}_{mnf} -\Delta \delta \mathbf{u}_{snf} } \right) \cdot \mathbf{n}_f\nonumber \\&+\left( {\delta \mathbf{u}_{mnf,m} \Delta \xi _{mnf} -\delta \mathbf{u}_{snf,s} \Delta \xi _{snf} } \right) \cdot \mathbf{n}_f \nonumber \\&+\left( {\Delta \mathbf{u}_{mnf,m} \delta \xi _{mnf} -\Delta \mathbf{u}_{snf,s} \delta \xi _{snf} } \right) \cdot \mathbf{n}_f \nonumber \\&+\!\left( {\mathbf{x}_{mnf,mm} \Delta \xi _{mnf} \delta \xi _{mnf} \!-\!\mathbf{x}_{snf,ss} \Delta \xi _{snf} \delta \xi _{snf} } \right) \cdot \mathbf{n}_f \nonumber \\&+\left( {-\mathbf{x}_{snf,s} \Delta \delta \xi _{snf} } \right) \cdot \mathbf{n}_f +\frac{1}{\left\| {\mathbf{x}_{mnf} -\mathbf{x}_{snf} } \right\| }\nonumber \\&\quad \left( {\delta \mathbf{u}_{mnf} +\mathbf{x}_{mnf,m} \delta \xi _{mnf} -\delta \mathbf{u}_{snf} -\mathbf{x}_{snf,s} \delta \xi _{snf} } \right) \nonumber \\&\times \left( {\mathbf{1}-\mathbf{n}_f \otimes \mathbf{n}_f } \right) \nonumber \\&\quad \left( {\Delta \mathbf{u}_{mnf} \!+\!\mathbf{x}_{mnf,m} \Delta \xi _{mnf} \!-\!\Delta \mathbf{u}_{snf} \!-\!\mathbf{x}_{snf,s} \Delta \xi _{snf} } \right) \nonumber \\ \end{aligned}$$
(22)

The kinematic variables (17), (18), (21) and (22) involve variations and linearisations of local co-ordinates on both contacting beams. Additionally, unlike the analogue expressions for the central contact pair [8], the formulae (21) and (22) contain the components (the fifth parentheses) resulting from the lack of orthogonality at the beam \(s\), which include \(\Delta \delta \xi _{snf}\) and \(\Delta \delta \xi _{snb}\).

The required kinematic variables for the beam \(m\) can be obtained carrying out the appropriate mathematical operations on the orthogonality conditions (7) and (8). The variations and linearisations take the form

$$\begin{aligned} \Delta \xi _{mnb}&= \frac{\mathbf{x}_{mnb,m} \cdot \left( {\Delta \mathbf{u}_{snb} -\Delta \mathbf{u}_{mnb} } \right) -\left( {\mathbf{x}_{mnb} -\mathbf{x}_{snb} } \right) \cdot \Delta \mathbf{u}_{mnb,m} +\mathbf{x}_{mnb,m} \cdot \mathbf{x}_{snb,s} \Delta \xi _{snb} }{\mathbf{x}_{mnb,m} \cdot \mathbf{x}_{snb,s} +\left( {\mathbf{x}_{mnb} -\mathbf{x}_{snb} } \right) \cdot \mathbf{x}_{mnb,mm} }\end{aligned}$$
(23)
$$\begin{aligned} \Delta \xi _{mnf}&= \frac{\mathbf{x}_{mnf,m} \cdot \left( {\Delta \mathbf{u}_{snf} -\Delta \mathbf{u}_{mnf} } \right) -\left( {\mathbf{x}_{mnf} -\mathbf{x}_{snf} } \right) \cdot \Delta \mathbf{u}_{mnf,m} +\mathbf{x}_{mnf,m} \cdot \mathbf{x}_{snf,s} \Delta \xi _{snf} }{\mathbf{x}_{mnf,m} \cdot \mathbf{x}_{snf,s} +\left( {\mathbf{x}_{mnf} -\mathbf{x}_{snf} } \right) \cdot \mathbf{x}_{mnf,mm} }\end{aligned}$$
(24)
$$\begin{aligned} \delta \xi _{mnb}&= \frac{\mathbf{x}_{mnb,m} \cdot \left( {\delta \mathbf{u}_{snb} -\delta \mathbf{u}_{mnb} } \right) -\left( {\mathbf{x}_{mnb} -\mathbf{x}_{snb} } \right) \cdot \delta \mathbf{u}_{mnb,m} +\mathbf{x}_{mnb,m} \cdot \mathbf{x}_{snb,s} \delta \xi _{snb} }{\mathbf{x}_{mnb,m} \cdot \mathbf{x}_{snb,s} +\left( {\mathbf{x}_{mnb} -\mathbf{x}_{snb} } \right) \cdot \mathbf{x}_{mnb,mm} }\end{aligned}$$
(25)
$$\begin{aligned} \delta \xi _{mnf}&= \frac{\mathbf{x}_{mnf,m} \cdot \left( {\delta \mathbf{u}_{snf} -\delta \mathbf{u}_{mnf} } \right) -\left( {\mathbf{x}_{mnf} -\mathbf{x}_{snf} } \right) \cdot \delta \mathbf{u}_{mnf,m} +\mathbf{x}_{mnf,m} \cdot \mathbf{x}_{snf,s} \delta \xi _{snf} }{\mathbf{x}_{mnf,m} \cdot \mathbf{x}_{snf,s} +\left( {\mathbf{x}_{mnf} -\mathbf{x}_{snf} } \right) \cdot \mathbf{x}_{mnf,mm} } \end{aligned}$$
(26)

In order to evaluate the variables given by (23)–(26), related to the local co-ordinate \(\xi _{m}\), one has to find variations and linearisations and variations of linearisations of local co-ordinates \(\xi _{s}\) at the contact points \(\text{ C }_{snf}\) and \(\text{ C }_{snb}\) on the beam \(s\). These kinematic variables can be obtained from the relations (3) and (5). From (3) we get

$$\begin{aligned}&\begin{aligned}&\delta \xi _{snb} =\delta \xi _{sn} -\delta \xi _{\Delta s} \\&\delta \xi _{snf} =\delta \xi _{sn} +\delta \xi _{\Delta s} \\ \end{aligned}\end{aligned}$$
(27)
$$\begin{aligned}&\begin{aligned}&\Delta \xi _{snb} =\Delta \xi _{sn} -\Delta \xi _{\Delta s} \\&\Delta \xi _{snf} =\Delta \xi _{sn} +\Delta \xi _{\Delta s} \\ \end{aligned}\end{aligned}$$
(28)
$$\begin{aligned}&\begin{aligned}&\Delta \delta \xi _{snb} =\Delta \delta \xi _{sn} -\Delta \delta \xi _{\Delta s} \\&\Delta \delta \xi _{snf} =\Delta \delta \xi _{sn} +\Delta \delta \xi _{\Delta s} \end{aligned} \end{aligned}$$
(29)

The expressions (27)–(29) include the kinematic variables \(\delta \xi _{sn}, \Delta \xi _{sn}\) and \(\Delta \delta \xi _{sn}\) related to the central contact point \(\text{ C }_{sn}\). They were derived in [8] and the appropriate formulae are not given here. The additional computations are required to get the variations and linearisations of the local co-ordinate shift, i.e.: \(\delta \xi _{\Delta s}, \Delta \xi _{\Delta s}\) and \(\Delta \delta \xi _{\Delta s}\). These variables are obtained from the respective operations on (5). To facilitate these derivations, let us first express the variable angle \(\varphi \) between the axes of the beams \(m\) and \(s\) at the central contact points \(\text{ C }_{mn}\) and \(\text{ C }_{sn}\) in terms of the scalar product of respective tangent vectors. The reciprocal of the function sine is given by

$$\begin{aligned} \frac{1}{\sin \varphi }=\frac{1}{\sqrt{1-c^{2}}} \end{aligned}$$
(30)

where \(c=\text{ cos }\varphi \). The scalar product of the tangent vectors takes the form

$$\begin{aligned} \mathbf{x}_{sn,s} \cdot \mathbf{x}_{mn,m} =\left\| {\mathbf{x}_{sn,s} } \right\| \left\| {\mathbf{x}_{mn,m} } \right\| c \end{aligned}$$
(31)

what yields

$$\begin{aligned} c=\frac{\mathbf{x}_{sn,s} \cdot \mathbf{x}_{mn,m} }{\left\| {\mathbf{x}_{sn,s} } \right\| \left\| {\mathbf{x}_{mn,m} } \right\| } \end{aligned}$$
(32)

With (30) taken into account the expression (5) is reformulated as

$$\begin{aligned} \xi _{\Delta s} =\frac{r_m }{kl_s }\left( {1-c^{2}} \right) ^{-1/2} \end{aligned}$$
(33)

Using the chain rule we obtain from (33)

$$\begin{aligned}&\delta \xi _{\Delta s} =\frac{r_m c\delta c}{kl_s \left( {1-c^{2}} \right) ^{3/2}}\end{aligned}$$
(34)
$$\begin{aligned}&\Delta \xi _{\Delta s} =\frac{r_m c\Delta c}{kl_s \left( {1-c^{2}} \right) ^{3/2}} \end{aligned}$$
(35)

The variation and the linearisation of the cosine \(c\) is readily obtained from (32) in the following way:

$$\begin{aligned}&\delta c \nonumber \\&=\!\frac{\delta \left( {\mathbf{x}_{sn,s} \cdot \mathbf{x}_{mn,m} } \right) \!\left\| {\mathbf{x}_{sn,s} }\! \right\| \!\left\| {\mathbf{x}_{mn,m} }\! \right\| \!-\!\mathbf{x}_{sn,s} \cdot \mathbf{x}_{mn,m} \delta \left( \!{\left\| {\mathbf{x}_{sn,s} } \!\right\| \!\left\| {\mathbf{x}_{mn,m} } \!\right\| } \right) }{\left( {\left\| {\mathbf{x}_{sn,s} } \!\right\| \!\left\| {\mathbf{x}_{mn,m} } \right\| } \right) ^{2}}\nonumber \\ \end{aligned}$$
(36)

Including the auxiliary results

$$\begin{aligned} \begin{aligned}&\delta \left( {\left\| {\mathbf{x}_{sn,s} } \right\| } \right) =\frac{\mathbf{x}_{sn,s} \cdot \delta \mathbf{x}_{sn,s} }{\left\| {\mathbf{x}_{sn,s} } \right\| }\\&\delta \left( {\left\| {\mathbf{x}_{mn,m} } \right\| } \right) =\frac{\mathbf{x}_{mn,m} \cdot \delta \mathbf{x}_{mn,m} }{\left\| {\mathbf{x}_{mn,m} } \right\| } \end{aligned} \end{aligned}$$
(37)

one can finally get

$$\begin{aligned} \delta c=\delta c_1 -\delta c_2 -\delta c_3 \end{aligned}$$
(38)

where

$$\begin{aligned} \delta c_1&= \frac{\delta \mathbf{x}_{sn,s} \cdot \mathbf{x}_{mn,m} +\mathbf{x}_{sn,s} \cdot \delta \mathbf{x}_{mn,m} }{\left\| {\mathbf{x}_{sn,s} } \right\| \left\| {\mathbf{x}_{mn,m} } \right\| }\end{aligned}$$
(39)
$$\begin{aligned} \delta c_2&= \frac{\left( {\mathbf{x}_{sn,s} \cdot \mathbf{x}_{mn,m} } \right) \left( {\mathbf{x}_{mn,m} \cdot \delta \mathbf{x}_{mn,m} } \right) }{\left\| {\mathbf{x}_{sn,s} } \right\| \left\| {\mathbf{x}_{mn,m} } \right\| ^{3}}\end{aligned}$$
(40)
$$\begin{aligned} \delta c_3&= \frac{\left( {\mathbf{x}_{sn,s} \cdot \mathbf{x}_{mn,m} } \right) \left( {\mathbf{x}_{sn,s} \cdot \delta \mathbf{x}_{sn,s} } \right) }{\left\| {\mathbf{x}_{sn,s} } \right\| ^{3}\left\| {\mathbf{x}_{mn,m} } \right\| } \end{aligned}$$
(41)

Similarly for the linearisations we get

$$\begin{aligned} \Delta c=\Delta c_1 -\Delta c_2 -\Delta c_3 \end{aligned}$$
(42)

where

$$\begin{aligned} \Delta c_1&= \frac{\Delta \mathbf{x}_{sn,s} \cdot \mathbf{x}_{mn,m} +\mathbf{x}_{sn,s} \cdot \Delta \mathbf{x}_{mn,m} }{\left\| {\mathbf{x}_{sn,s} } \right\| \left\| {\mathbf{x}_{mn,m} } \right\| }\end{aligned}$$
(43)
$$\begin{aligned} \Delta c_2&= \frac{\left( {\mathbf{x}_{sn,s} \cdot \mathbf{x}_{mn,m} } \right) \left( {\mathbf{x}_{mn,m} \cdot \Delta \mathbf{x}_{mn,m} } \right) }{\left\| {\mathbf{x}_{sn,s} } \right\| \left\| {\mathbf{x}_{mn,m} } \right\| ^{3}}\end{aligned}$$
(44)
$$\begin{aligned} \Delta c_3&= \frac{\left( {\mathbf{x}_{sn,s} \cdot \mathbf{x}_{mn,m} } \right) \left( {\mathbf{x}_{sn,s} \cdot \Delta \mathbf{x}_{sn,s} } \right) }{\left\| {\mathbf{x}_{sn,s} } \right\| ^{3}\left\| {\mathbf{x}_{mn,m} } \right\| } \end{aligned}$$
(45)

Variations and linearisations of the position vector derivatives with respect to local co-ordinates are taken from [8]

$$\begin{aligned} \begin{aligned}&\delta \mathbf{x}_{sn,s} =\mathbf{x}_{sn,ss} \delta \xi _{sn} +\delta \mathbf{u}_{sn,s} \\&\delta \mathbf{x}_{mn,m} =\mathbf{x}_{mn,mm} \delta \xi _{mn} +\delta \mathbf{u}_{mn,m} \\&\Delta \mathbf{x}_{sn,s} =\mathbf{x}_{sn,ss} \Delta \xi _{sn} +\Delta \mathbf{u}_{sn,s} \\&\Delta \mathbf{x}_{mn,m} =\mathbf{x}_{mn,mm} \Delta \xi _{mn} +\Delta \mathbf{u}_{mn,m} \end{aligned} \end{aligned}$$
(46)

Now the linearisation of (34) has to be found. We get

$$\begin{aligned} \Delta \delta \xi _{\Delta s}&= \frac{r_m }{k l_s }\frac{\Delta \left( {c \delta c} \right) \left( {1-c^{2}} \right) ^{3/2}-c \delta c \Delta \left[ {\left( {1-c^{2}} \right) ^{3/2}} \right] }{ \left( {1-c^{2}} \right) ^{3}}\nonumber \\&= \frac{r_m }{k l_s }\frac{\left( {\Delta c\delta c\!+\!c\Delta \delta c} \right) \left( {1\!-\!c^{2}} \right) ^{3/2}\!-\!c \delta c \left( {\!-\!3c} \right) \Delta c \left( {1\!-\!c^{2}} \right) ^{3/2}}{ \left( {1\!-\!c^{2}} \right) ^{3}}\nonumber \\&= \frac{r_m }{k l_s }\left[ {\frac{1}{\left( {1\!-\!c^{2}} \right) ^{3/2}}\left( {\Delta c\delta c\!+\!c\Delta \delta c} \right) \!+\!\frac{3}{\left( {1\!-\!c^{2}} \right) ^{5/2}}c^{2}\Delta c\delta c} \right] \nonumber \\ \end{aligned}$$
(47)

The last expression to be calculated is \(\Delta \delta c\) which can be found from the linearisation of (38) as

$$\begin{aligned} \Delta \delta c=\Delta \delta c_1 -\Delta \delta c_2 -\Delta \delta c_3 \end{aligned}$$
(48)

and its components are found separately by the linearisation of (39)–(41). Quite tedious but basic calculations lead to the following results

$$\begin{aligned}&\Delta \delta c_1 \nonumber \\&\quad =\frac{\Delta \delta \mathbf{x}_{sn,s} \cdot \mathbf{x}_{mn,m} \!+\!\delta \mathbf{x}_{sn,s} \cdot \Delta \mathbf{x}_{mn,m} \!+\!\Delta \mathbf{x}_{sn,s} \cdot \delta \mathbf{x}_{mn,m} \!+\!\mathbf{x}_{sn,s} \cdot \Delta \delta \mathbf{x}_{mn,m} }{\left\| {\mathbf{x}_{sn,s} } \right\| \left\| {\mathbf{x}_{mn,m} } \right\| }\nonumber \\&\quad \quad -\!\frac{\delta \mathbf{x}_{sn,s} \cdot \mathbf{x}_{mn,m} \!+\!\mathbf{x}_{sn,s} \cdot \delta \mathbf{x}_{mn,m} }{\left\| {\mathbf{x}_{sn,s} } \right\| ^{2} \left\| {\mathbf{x}_{mn,m} } \right\| ^{2}}\nonumber \\&\quad \quad \times \! \left( {\frac{\left\| {\mathbf{x}_{sn,s} } \right\| }{\left\| {\mathbf{x}_{mn,m} } \right\| } \mathbf{x}_{mn,m} \cdot \Delta \mathbf{x}_{mn,m} \!+\!\frac{\left\| {\mathbf{x}_{mn,m} } \right\| }{\left\| {\mathbf{x}_{sn,s} } \right\| }\mathbf{x}_{sn,s} \cdot \Delta \mathbf{x}_{sn,s} } \right) \end{aligned}$$
(49)
$$\begin{aligned}&\Delta \delta c_2 \nonumber \\&\quad =\!\frac{1}{\left\| {\mathbf{x}_{sn,s} } \!\right\| \left\| \!{\mathbf{x}_{mn,m} } \!\right\| ^{3}}\!\left[ \! {\left( {\Delta \mathbf{x}_{sn,s} \cdot \mathbf{x}_{mn,m} +\mathbf{x}_{sn,s} \cdot \Delta \mathbf{x}_{mn,m} } \right) \left( {\mathbf{x}_{mn,m} \cdot \delta \mathbf{x}_{mn,m} } \right) } \right. \nonumber \\&\quad \quad +\left. {\left( {\mathbf{x}_{sn,s} \cdot \mathbf{x}_{mn,m} } \right) \left( {\Delta \mathbf{x}_{mn,m} \cdot \delta \mathbf{x}_{mn,m} +\mathbf{x}_{mn,m} \cdot \Delta \delta \mathbf{x}_{mn,m} } \right) } \right] \nonumber \\&\quad \quad -\frac{\left( {\mathbf{x}_{sn,s} \cdot \mathbf{x}_{mn,m} } \right) \left( {\mathbf{x}_{mn,m} \cdot \delta \mathbf{x}_{mn,m} } \right) }{\left\| {\mathbf{x}_{sn,s} } \right\| ^{2} \left\| {\mathbf{x}_{mn,m} } \right\| ^{6}}\nonumber \\&\quad \quad \times \left[ {\frac{\left\| {\mathbf{x}_{mn,m} } \right\| ^{3}}{\left\| {\mathbf{x}_{sn,s} } \right\| }\mathbf{x}_{sn,s} \cdot \Delta \mathbf{x}_{sn,s} +3\left\| {\mathbf{x}_{sn,s} } \right\| \left\| {\mathbf{x}_{mn,m} } \right\| \left( {\mathbf{x}_{mn,m} \cdot \Delta \mathbf{x}_{mn,m} } \right) } \right] \nonumber \\ \end{aligned}$$
(50)
$$\begin{aligned}&\Delta \delta c_3 \nonumber \\&\quad =\!\frac{1}{\left\| {\mathbf{x}_{sn,s} } \right\| ^{3} \left\| {\mathbf{x}_{mn,m} } \right\| }\left[ {\left( {\Delta \mathbf{x}_{sn,s} \cdot \mathbf{x}_{mn,m} \!+\!\mathbf{x}_{sn,s} \cdot \Delta \mathbf{x}_{mn,m} } \!\right) \left( \! {\mathbf{x}_{sn,s} \cdot \delta \mathbf{x}_{sn,s} } \right) } \right. \nonumber \\&\quad \quad +\!\left. {\left( {\mathbf{x}_{sn,s} \cdot \mathbf{x}_{mn,m} } \right) \left( {\Delta \mathbf{x}_{sn,s} \cdot \delta \mathbf{x}_{sn,s} +\mathbf{x}_{sn,s} \cdot \Delta \delta \mathbf{x}_{sn,s} } \right) } \right] \nonumber \\&\quad \quad -\frac{\left( {\mathbf{x}_{sn,s} \cdot \mathbf{x}_{mn,m} } \right) \left( {\mathbf{x}_{sn,s} \cdot \delta \mathbf{x}_{sn,s} } \right) }{\left\| {\mathbf{x}_{sn,s} } \right\| ^{6}\left\| {\mathbf{x}_{mn,m} } \right\| ^{2}}\nonumber \\&\quad \quad \times \left[ {\frac{\left\| {\mathbf{x}_{sn,s} } \right\| ^{3}}{\left\| {\mathbf{x}_{mn,m} } \right\| }\mathbf{x}_{mn,m} \cdot \Delta \mathbf{x}_{mn,m} +3\left\| {\mathbf{x}_{sn,s} } \right\| \left\| {\mathbf{x}_{mn,m} } \right\| \left( {\mathbf{x}_{sn,s} \cdot \Delta \mathbf{x}_{sn,s} } \right) } \right] \nonumber \\ \end{aligned}$$
(51)

The relation (49) involves linearisations of variations of position vector derivatives with respect to \(\xi _{s}\), which are given in [10] by

$$\begin{aligned} \begin{aligned}&\Delta \delta \mathbf{x}_{sn,s} =\Delta \delta \mathbf{u}_{sn,s} +\delta \mathbf{u}_{sn,ss} \Delta \xi _{sn}+\Delta \mathbf{u}_{sn,ss} \delta \xi _{sn} \\&\quad \quad \quad \quad \quad +\mathbf{x}_{sn,sss} \delta \xi _{sn} \Delta \xi _{sn} +\mathbf{x}_{sn,ss} \Delta \delta \xi _{sn}\\&\Delta \delta \mathbf{x}_{mn,m} =\Delta \delta \mathbf{u}_{mn,m} +\delta \mathbf{u}_{mn,mm} \Delta \xi _{mn} +\Delta \mathbf{u}_{mn,mm} \delta \xi _{mn} \\&\quad \quad \quad \quad \quad \quad +\mathbf{x}_{mn,mmm} \delta \xi _{mn} \Delta \xi _{mn} +\mathbf{x}_{mn,mm} \Delta \delta \xi _{mn} \end{aligned} \end{aligned}$$
(52)

In this way all the terms in the weak form (15) and its linearisation (16) have been expressed in terms of position vectors and displacements at the contact points \(\text{ C }_{mnb}\), \(\text{ C }_{snb}\), \(\text{ C }_{mn}\), \(\text{ C }_{sn}\), \(\text{ C }_{mnb}\), \(\text{ C }_{snb}\) and can now be subjected to the finite element discretisation.

4 Finite element discretisation - the residual vector and the tangent stiffness matrix

The finite element discretisation of the contact contributions (15) and (16) yields the matrix quantities characterising the contact finite element. In the case of contact existing between two bodies, this element couples the degrees of freedom related to each of these bodies, which in the case of separation would remain uncoupled. In general, the idea of the finite element approach is to express the displacement vector of an arbitrary point on the beam, in particular of the contact points \(\text{ C }_{mnb}, \text{ C }_{snb}, \text{ C }_{mn}, \text{ C }_{sn}, \text{ C }_{mnf}, \text{ C }_{snf}\), in terms of the nodal displacements assembled in the vectors \(\mathbf{u}_{M}\) and \(\mathbf{u}_{S}\), related to the finite elements discretising the beam \(m\) and the beam \(s\), respectively. The specific form of the nodal displacement vectors depends on the method of representation of the beam axis curve. The author’s previous work summarised in [8] contains a detailed discussion of this issue, which is also closely related to the all-important problem of curve smoothing. This procedure is necessary to ensure an efficient treatment of large movement of contact points between adjacent finite elements representing beams. In order not to repeat this discussion, let us just assume, that the variations and linearisations of displacements of contact points are given by:

$$\begin{aligned} \begin{aligned}&\delta \mathbf{u}_{mn} =\mathbf{G}_{mn} \delta \mathbf{u}_M \\&\Delta \mathbf{u}_{mn} =\mathbf{G}_{mn} \Delta \mathbf{u}_M \\&\delta \mathbf{u}_{sn} =\mathbf{G}_{sn} \delta \mathbf{u}_S \\&\Delta \mathbf{u}_{sn} =\mathbf{G}_{sn} \Delta \mathbf{u}_S \end{aligned} \end{aligned}$$
(53)
$$\begin{aligned} \begin{aligned}&\delta \mathbf{u}_{mnb} =\mathbf{G}_{mnb} \delta \mathbf{u}_{Mb} \\&\Delta \mathbf{u}_{mnb} =\mathbf{G}_{mnb} \Delta \mathbf{u}_{Mb} \\&\delta \mathbf{u}_{snb} =\mathbf{G}_{snb} \delta \mathbf{u}_{Sb} \\&\Delta \mathbf{u}_{snb} =\mathbf{G}_{snb} \Delta \mathbf{u}_{Sb} \end{aligned} \end{aligned}$$
(54)
$$\begin{aligned} \begin{aligned}&\delta \mathbf{u}_{mnf} =\mathbf{G}_{mnf} \delta \mathbf{u}_{Mf} \\&\Delta \mathbf{u}_{mnf} =\mathbf{G}_{mnf} \Delta \mathbf{u}_{Mf} \\&\delta \mathbf{u}_{snf} =\mathbf{G}_{snf} \delta \mathbf{u}_{Sf} \\&\Delta \mathbf{u}_{snf} =\mathbf{G}_{snf} \Delta \mathbf{u}_{Sf} \end{aligned} \end{aligned}$$
(55)

where (53) is related to the central contact points, (54)—to the back-shifted additional points and (55)—to the forward-shifted contact points. Similarly, for the first and second derivatives of displacements with respect to local co-ordinates we can write down

$$\begin{aligned} \begin{aligned}&\delta \mathbf{u}_{mn,m} =\mathbf{H}_{mn} \delta \mathbf{u}_M \\&\Delta \mathbf{u}_{mn,m} =\mathbf{H}_{mn} \Delta \mathbf{u}_M \\&\delta \mathbf{u}_{sn,s} =\mathbf{H}_{sn} \delta \mathbf{u}_S \\&\Delta \mathbf{u}_{sn,s} =\mathbf{H}_{sn} \Delta \mathbf{u}_S \end{aligned} \end{aligned}$$
(56)
$$\begin{aligned} \begin{aligned}&\delta \mathbf{u}_{mnb,m} =\mathbf{H}_{mnb} \delta \mathbf{u}_{Mb} \\&\Delta \mathbf{u}_{mnb,m} =\mathbf{H}_{mnb} \Delta \mathbf{u}_{Mb} \\&\delta \mathbf{u}_{snb,s} =\mathbf{H}_{snb} \delta \mathbf{u}_{Sb} \\&\Delta \mathbf{u}_{snb,s} =\mathbf{H}_{snb} \Delta \mathbf{u}_{Sb} \end{aligned} \end{aligned}$$
(57)
$$\begin{aligned} \begin{aligned}&\delta \mathbf{u}_{mnf,m} =\mathbf{H}_{mnf} \delta \mathbf{u}_{Mf} \\&\Delta \mathbf{u}_{mnf,m} =\mathbf{H}_{mnf} \Delta \mathbf{u}_{Mf} \\&\delta \mathbf{u}_{snf,s} =\mathbf{H}_{snf} \delta \mathbf{u}_{Sf} \\&\Delta \mathbf{u}_{snf,s} =\mathbf{H}_{snf} \Delta \mathbf{u}_{Sf} \end{aligned} \end{aligned}$$
(58)
$$\begin{aligned} \begin{aligned}&\delta \mathbf{u}_{mn,mm} =\mathbf{M}_{mn} \delta \mathbf{u}_M \\&\Delta \mathbf{u}_{mn,mm} =\mathbf{M}_{mn} \Delta \mathbf{u}_M \\&\delta \mathbf{u}_{sn,ss} =\mathbf{M}_{sn} \delta \mathbf{u}_S \\&\Delta \mathbf{u}_{sn,ss} =\mathbf{M}_{sn} \Delta \mathbf{u}_S \end{aligned} \end{aligned}$$
(59)
$$\begin{aligned} \begin{aligned}&\delta \mathbf{u}_{mnb,mm} =\mathbf{M}_{mnb} \delta \mathbf{u}_{Mb} \\&\Delta \mathbf{u}_{mnb,mm} =\mathbf{M}_{mnb} \Delta \mathbf{u}_{Mb} \\&\delta \mathbf{u}_{snb,ss} =\mathbf{M}_{snb} \delta \mathbf{u}_{Sb} \\&\Delta \mathbf{u}_{snb,ss} =\mathbf{M}_{snb} \Delta \mathbf{u}_{Sb} \end{aligned} \end{aligned}$$
(60)
$$\begin{aligned} \begin{aligned}&\delta \mathbf{u}_{mnf,mm} =\mathbf{M}_{mnf} \delta \mathbf{u}_{Mf} \\&\Delta \mathbf{u}_{mnf,mm} =\mathbf{M}_{mnf} \Delta \mathbf{u}_{Mf}\\&\delta \mathbf{u}_{snf,ss} =\mathbf{M}_{snf} \delta \mathbf{u}_{Sf} \\&\Delta \mathbf{u}_{snf,ss}=\mathbf{M}_{snf} \Delta \mathbf{u}_{Sf} \end{aligned} \end{aligned}$$
(61)

The explicit form of all the matrices G, H and M in the above definitions depends on the details of curve representation, which were given in [8].

In the expressions (53)–(61) provision has been made for the general case when the central contact points \(\text{ C }_{mn}\), \(\text{ C }_{sn}\) do not lie within the same element where the additional contact points \(\text{ C }_{mnb}\), \(\text{ C }_{snb}\), \(\text{ C }_{mnf}, \text{ C }_{snf}\) are. Thus, the appropriate displacement vectors for the forward and back elements, \(\mathbf{u}_{Mf}\), \(\mathbf{u}_{Sf}\), \(\mathbf{u}_{Mb}\), \(\mathbf{u}_{Sb}\), respectively, were introduced. An exemplary case for the beam \(m\), with different elements \(M\), \(M_{b}\) and \(M_{f}\) is shown in Fig. 6a. On the contrary, if any of the additional points is located within the same element as the central point, as shown in Fig. 6b, then the appropriate displacement vectors are identical.

Fig. 6
figure 6

Location of the additional contact points on the beam \(m\): a in the different elements than the central point, b in the same element as the central point

In the following only the discretisation of the quantities related to additional points will be given in detail. The discretised variables regarding the central points can be taken directly from [8].

Discretisations of variables including the local co- ordinates of the additional contact points on the beam \(s\), given by (27)–(29), can be expressed by

$$\begin{aligned} \begin{aligned} \delta \xi _{snb}&= \left( {\mathbf{F}_s -\mathbf{F}_{\Delta s} } \right) \left[ {{\begin{array}{l} {\delta \mathbf{u}_M } \\ {\delta \mathbf{u}_S } \\ \end{array} }} \right] \\ \delta \xi _{snf}&= \left( {\mathbf{F}_s +\mathbf{F}_{\Delta s} } \right) \left[ {{\begin{array}{l} {\delta \mathbf{u}_M } \\ {\delta \mathbf{u}_S } \\ \end{array} }} \right] \end{aligned} \end{aligned}$$
(62)
$$\begin{aligned} \begin{aligned} \Delta \xi _{snb}&= \left( {\mathbf{F}_s -\mathbf{F}_{\Delta s} } \right) \left[ {{\begin{array}{l} {\Delta \mathbf{u}_M } \\ {\Delta \mathbf{u}_S } \\ \end{array} }} \right] \\ \Delta \xi _{snf}&= \left( {\mathbf{F}_s +\mathbf{F}_{\Delta s} } \right) \left[ {{\begin{array}{l} {\Delta \mathbf{u}_M } \\ {\Delta \mathbf{u}_S } \\ \end{array} }} \right] \end{aligned} \end{aligned}$$
(63)
$$\begin{aligned} \begin{aligned} \Delta \delta \xi _{snb}&= \left[ \begin{array}{ll} {\delta \mathbf{u}_M^{T}}&{} {\delta \mathbf{u}_S^{T}} \\ \end{array} \right] \left( \mathbf{R}_s -\mathbf{R}_{\Delta s}\right) \left[ \begin{array}{l} {\Delta \mathbf{u}_M } \\ {\Delta \mathbf{u}_S } \\ \end{array}\right] \\ \Delta \delta \xi _{snf}&= \left[ {{\begin{array}{ll} {\delta \mathbf{u}_M ^{T}}&{} {\delta \mathbf{u}_S ^{T}} \\ \end{array} }} \right] \left( {\mathbf{R}_s +\mathbf{R}_{\Delta s} } \right) \left[ {{\begin{array}{l} {\Delta \mathbf{u}_M } \\ {\Delta \mathbf{u}_S } \\ \end{array} }} \right] \end{aligned} \end{aligned}$$
(64)

where the matrices \(\mathbf{F}_{s}\) and \(\mathbf{R}_{s}\) are related to the central contact point \(\text{ C }_{sn}\) and were given in [8], while the matrices \(\mathbf{F}_{\Delta s}\) and \(\mathbf{R}_{\Delta s}\) must be evaluated by the discretisation of (34), (35) and (47).

Let us introduce the following matrices and parameters to simplify the notation

$$\begin{aligned} \begin{aligned}&\mathbf{D}_m =\left[ {{\begin{array}{ll} {\mathbf{H}_{mn} }&{} \mathbf{0} \\ \end{array} }} \right] +\mathbf{x}_{mn,m} \mathbf{F}_m \\&\mathbf{D}_s =\left[ {{\begin{array}{ll} \mathbf{0}&{} {\mathbf{H}_{sn} } \\ \end{array} }} \right] +\mathbf{x}_{sn,s} \mathbf{F}_s \end{aligned} \end{aligned}$$
(65)
$$\begin{aligned} \begin{aligned} p_{ms}&=\mathbf{x}_{mn,m} \cdot \mathbf{x}_{sn,s} \\ d_{ms}&=\left\| {\mathbf{x}_{mn,m} } \right\| \left\| {\mathbf{x}_{sn,s} } \right\| \\ f_{ms}&=\frac{\left\| {\mathbf{x}_{mn,m} } \right\| }{\left\| {\mathbf{x}_{sn,s} } \right\| } \end{aligned} \end{aligned}$$
(66)

and

$$\begin{aligned} \mathbf{D}_0&= \mathbf{D}_s ^{T}\left[ {\frac{\mathbf{x}_{mn,m} }{d_{ms} }-\frac{p_{ms} }{d_{ms} \left\| {\mathbf{x}_{sn,s} } \right\| ^{2}}\mathbf{x}_{sn,s} } \right] \nonumber \\&+\mathbf{D}_m ^{T}\left[ {\frac{\mathbf{x}_{sn,s} }{d_{ms} }-\frac{p_{ms} }{d_{ms} \left\| {\mathbf{x}_{mn,m} } \right\| ^{2}}\mathbf{x}_{mn,m} } \right] \end{aligned}$$
(67)

Now one can define the matrix

$$\begin{aligned} \mathbf{F}_{\Delta s} =\frac{r_m }{3l_s }\frac{c}{\left( {1-c^{2}} \right) ^{3/2}}\mathbf{D}_0 \end{aligned}$$
(68)

what allows to evaluate the discretisations (62) and (63).

Let us also introduce further matrices

$$\begin{aligned} \mathbf{D}_{dm1}&= \left[ {{\begin{array}{c@{\quad }c} {\mathbf{H}_{d1mn} }&{} \mathbf{0} \\ \mathbf{0}&{} \mathbf{0} \\ \end{array} }} \right] +\left[ {{\begin{array}{c} {\mathbf{M}_{mn1} ^{T}} \\ \mathbf{0} \\ \end{array} }} \right] \mathbf{F}_m +\mathbf{F}_m ^{T}\left[ {{\begin{array}{ll} {\mathbf{M}_{mn1} }&{} \mathbf{0} \\ \end{array} }} \right] \nonumber \\&+x_{mn,mmm1} \mathbf{F}_m ^{T}\mathbf{F}_m +x_{mn,mm1} \mathbf{R}_m \nonumber \\ \mathbf{D}_{dm2}&= \left[ {{\begin{array}{c@{\quad }c} {\mathbf{H}_{d2mn} }&{} \mathbf{0} \\ \mathbf{0}&{} \mathbf{0} \\ \end{array} }} \right] +\left[ {{\begin{array}{c} {\mathbf{M}_{mn2} ^{T}} \\ \mathbf{0} \\ \end{array} }} \right] \mathbf{F}_m +\mathbf{F}_m ^{T} \left[ {{\begin{array}{ll} {\mathbf{M}_{mn2} }&{} \mathbf{0} \\ \end{array} }} \right] \nonumber \\&+x_{mn,mmm2} \mathbf{F}_m ^{T} \mathbf{F}_m +x_{mn,mm2} \mathbf{R}_m \\ \mathbf{D}_{dm3}&= \left[ {{\begin{array}{c@{\quad }c} {\mathbf{H}_{d3mn} }&{} \mathbf{0} \\ \mathbf{0}&{} \mathbf{0} \\ \end{array} }} \right] +\left[ {{\begin{array}{c} {\mathbf{M}_{mn3} ^{T}} \\ \mathbf{0} \\ \end{array} }} \right] \mathbf{F}_m +\mathbf{F}_m ^{T} \left[ {{\begin{array}{ll} {\mathbf{M}_{mn3} }&{} \mathbf{0} \\ \end{array} }} \right] \nonumber \\&+x_{mn,mmm3} \mathbf{F}_m ^{T} \mathbf{F}_m +x_{mn,mm3} \mathbf{R}_m \nonumber \end{aligned}$$
(69)
$$\begin{aligned} \mathbf{D}_{ds1}&= \left[ {{\begin{array}{c@{\quad }c} \mathbf{0}&{} \mathbf{0} \\ \mathbf{0}&{} {\mathbf{H}_{d1sn} } \\ \end{array} }} \right] +\left[ {{\begin{array}{c} \mathbf{0} \\ {\mathbf{M}_{sn1} ^{T}} \\ \end{array} }} \right] \mathbf{F}_s +\mathbf{F}_s ^{T} \left[ {{\begin{array}{ll} \mathbf{0}&{} {\mathbf{M}_{sn1} } \\ \end{array} }} \right] \nonumber \\&+x_{sn,sss1} \mathbf{F}_s ^{T}\mathbf{F}_s +x_{sn,ss1} \mathbf{R}_s \nonumber \\ \mathbf{D}_{ds2}&= \left[ {{\begin{array}{c@{\quad }c} \mathbf{0}&{} \mathbf{0} \\ \mathbf{0}&{} {\mathbf{H}_{d2sn} } \\ \end{array} }} \right] +\left[ {{\begin{array}{c} \mathbf{0} \\ {\mathbf{M}_{sn2} ^{T}} \\ \end{array} }} \right] \mathbf{F}_s +\mathbf{F}_s ^{T} \left[ {{\begin{array}{ll} \mathbf{0}&{} {\mathbf{M}_{sn2} } \\ \end{array} }} \right] \nonumber \\&+x_{sn,sss2} \mathbf{F}_s ^{T} \mathbf{F}_s +x_{sn,ss2} \mathbf{R}_s \\ \mathbf{D}_{ds3}&= \left[ {{\begin{array}{c@{\quad }c} \mathbf{0}&{} \mathbf{0} \\ \mathbf{0}&{} {\mathbf{H}_{d3sn} } \\ \end{array} }} \right] +\left[ {{\begin{array}{c} \mathbf{0} \\ {\mathbf{M}_{sn3} ^{T}} \\ \end{array} }} \right] \mathbf{F}_s +\mathbf{F}_s ^{T} \left[ {{\begin{array}{ll} \mathbf{0}&{} {\mathbf{M}_{sn3} } \\ \end{array} }} \right] \nonumber \\&+x_{sn,sss3} \mathbf{F}_s ^{T} \mathbf{F}_s +x_{sn,ss3} \mathbf{R}_s\nonumber \end{aligned}$$
(70)

where the following split of vectors and matrices into their components was assumed

$$\begin{aligned} \begin{aligned}&\mathbf{x}_{mn,m} = \left[ {{\begin{array}{lll} {x_{mn,m1} }&{} {x_{mn,m2} }&{} {x_{mn,m3} } \\ \end{array} }} \right] ^{T} \\&\mathbf{x}_{sn,s} =\left[ {{\begin{array}{lll} {x_{sn,s1} }&{} {x_{sn,s2} }&{} {x_{sn,s3} } \\ \end{array} }} \right] ^{T} \\&\mathbf{x}_{mn,mm} =\left[ {{\begin{array}{lll} {x_{mn,mm1} }&{} {x_{mn,mm2} }&{} {x_{mn,mm3} } \\ \end{array} }} \right] ^{T} \\&\mathbf{x}_{sn,ss} =\left[ {{\begin{array}{lll} {x_{sn,ss1} }&{} {x_{sn,ss2} }&{} {x_{sn,ss3} } \\ \end{array} }} \right] ^{T} \\&\mathbf{x}_{mn,mmm} =\left[ {{\begin{array}{lll} {x_{mn,mmm1} }&{} {x_{mn,mmm2} }&{} {x_{mn,mmm3} } \\ \end{array} }} \right] ^{T} \\&\mathbf{x}_{sn,sss} =\left[ {{\begin{array}{lll} {x_{sn,sss1} }&{} {x_{sn,sss2} }&{} {x_{sn,sss3} } \\ \end{array} }} \right] ^{T} \end{aligned} \end{aligned}$$
(71)
$$\begin{aligned} \mathbf{M}_{mn}&= \left[ {{\begin{array}{l} {\mathbf{M}_{mn1} } \\ {\mathbf{M}_{mn2} } \\ {\mathbf{M}_{mn3} } \\ \end{array} }} \right] \nonumber \\ \mathbf{M}_{sn}&= \left[ {{\begin{array}{l} {\mathbf{M}_{sn1} } \\ {\mathbf{M}_{sn2} } \\ {\mathbf{M}_{sn3} } \\ \end{array} }} \right] \end{aligned}$$
(72)

The linearisations of variations of \(\mathbf{u}_{mn,m }\) and \(\mathbf{u}_{sn,s }\) are taken as in [8]

$$\begin{aligned} \begin{aligned}&\Delta \delta \mathbf{u}_{mn,m} =\left[ {{\begin{array}{l} {\delta \mathbf{u}_M ^{T}\mathbf{H}_{d1mn} \Delta \mathbf{u}_M } \\ {\delta \mathbf{u}_M ^{T}\mathbf{H}_{d2mn} \Delta \mathbf{u}_M } \\ {\delta \mathbf{u}_M ^{T}\mathbf{H}_{d3mn} \Delta \mathbf{u}_M } \\ \end{array} }} \right] \\&\Delta \delta \mathbf{u}_{sn,s} =\left[ {{\begin{array}{l} {\delta \mathbf{u}_S ^{T}\mathbf{H}_{d1sn} \Delta \mathbf{u}_S } \\ {\delta \mathbf{u}_S ^{T}\mathbf{H}_{d2sn} \Delta \mathbf{u}_S } \\ {\delta \mathbf{u}_S ^{T}\mathbf{H}_{d3sn} \Delta \mathbf{u}_S } \\ \end{array} }} \right] \end{aligned} \end{aligned}$$
(73)

The matrices \(\mathbf{R}_{m}\) and \(\mathbf{R}_{s}\) in (64), (69) and (70) are related to the discretisation of \(\Delta \delta \xi _{mn}\) and \(\Delta \delta \xi _{sn}\) for the central contact points \(\text{ C }_{mn}\) and \(\text{ C }_{sn}\) which were given in [8]. These expressions allow to determine the following matrices

$$\begin{aligned} \mathbf{D}_1&= \frac{1}{d_{ms} }\left( {\sum _{i=1}^3 {x_{mn,mi} \mathbf{D}_{dmi} } +\mathbf{D}_m ^{T}\mathbf{D}_s +\mathbf{D}_s ^{T}\mathbf{D}_m } \right) \nonumber \\&-\frac{1}{d_{ms} ^{2}}\left( {\mathbf{D}_s ^{T}\mathbf{x}_{mn,m} +\mathbf{D}_m ^{T}\mathbf{x}_{sn,s} } \right) \nonumber \\&\times \left( {\frac{1}{f_{ms} }\mathbf{x}_{mn,m} ^{T}\mathbf{D}_m +f_{ms} \mathbf{x}_{sn,s} \mathbf{D}_s } \right) \end{aligned}$$
(74)
$$\begin{aligned} \mathbf{D}_2&= \frac{1}{d_{ms} \left\| {\mathbf{x}_{mn,m} } \right\| ^{2}}\left[ {\mathbf{D}_m ^{T}\mathbf{x}_{mn,m} \left( {\mathbf{x}_{mn,m} ^{T}\mathbf{D}_s +\mathbf{x}_{sn,s} ^{T}\mathbf{D}_m } \right) } \right. \nonumber \\&\left. {+p_{ms} \left( {\mathbf{D}_m ^{T}\mathbf{D}_m +\sum _{i=1}^3 {x_{mn,mi} \mathbf{D}_{dmi} } } \right) } \right] \nonumber \\&-\frac{p_{ms} }{d_{ms} ^{2}\left\| {\mathbf{x}_{mn,m} } \right\| ^{4}}\mathbf{D}_m ^{T}\mathbf{x}_{mn,m} \nonumber \\&\times \left( {f_{ms} \left\| {\mathbf{x}_{mn,m} } \right\| ^{2}\mathbf{x}_{sn,s} ^{T}\mathbf{D}_s +3d_{ms} \mathbf{x}_{mn,m} ^{T}\mathbf{D}_m } \right) \end{aligned}$$
(75)
$$\begin{aligned} \mathbf{D}_3&= \frac{1}{d_{ms} \left\| {\mathbf{x}_{sn,s} } \right\| ^{2}}\left[ {\mathbf{D}_s ^{T}\mathbf{x}_{sn,s} \left( {\mathbf{x}_{mn,m} ^{T}\mathbf{D}_s +\mathbf{x}_{sn,s} ^{T}\mathbf{D}_m } \right) } \right. \nonumber \\&\left. +{p_{ms} \left( {\mathbf{D}_s ^{T}\mathbf{D}_s +\sum _{i=1}^3 {x_{sn,si} \mathbf{D}_{dsi} } } \right) } \right] \nonumber \\&-\frac{p_{ms} }{d_{ms} ^{2}\left\| {\mathbf{x}_{sn,s} } \right\| ^{4}}\mathbf{D}_s ^{T}\mathbf{x}_{sn,s} \nonumber \\&\times \left( {\frac{\left\| {\mathbf{x}_{sn,s} } \right\| ^{2}}{f_{ms} }\mathbf{x}_{mn,m} ^{T}\mathbf{D}_m +3d_{ms} \mathbf{x}_{sn,s} ^{T}\mathbf{D}_s } \right) \end{aligned}$$
(76)

which finally define the matrix

$$\begin{aligned} \mathbf{R}_{\Delta s}&= \frac{r_m }{3l_s }\left\{ \left[ {\left( {1-c^{2}} \right) ^{-3/2}+3c^{2}\left( {1-c^{2}} \right) ^{-5/2}\mathbf{D}_0 ^{T}\mathbf{D}_0 } \right] \right. \nonumber \\&\left. +c\left( {1-c^{2}} \right) ^{-3/2}\left( {\mathbf{D}_1 -\mathbf{D}_2 -\mathbf{D}_3 } \right) \right\} \end{aligned}$$
(77)

necessary to evaluate the discretisations (64).

It is worth to note, that those discretisations, even though related to the additional contact points \(\text{ C }_{snb}\) and \(\text{ C }_{snf}\) moved back and forward with respect to the central contact point \(\text{ C }_{sn}\), are expressed in terms of nodal displacements of beam elements where central contact points \(\text{ C }_{mn}\) and \(\text{ C }_{sn}\) lie. It is so because of the adopted definition of the shifted points, presented in Sect. 2, where all the variables involved are estimated at the central points.

Discretisations of variables including the local co- ordinates of the additional contact points on the beam \(m\) can be expressed by

$$\begin{aligned} \begin{aligned}&\delta \xi _{mnb} =\mathbf{F}_{mb1} \left[ {{\begin{array}{l} {\delta \mathbf{u}_M } \\ {\delta \mathbf{u}_S } \\ \end{array} }} \right] +\mathbf{F}_{mb} \left[ {{\begin{array}{l} {\delta \mathbf{u}_{Mb} } \\ {\delta \mathbf{u}_{Sb} } \\ \end{array} }} \right] \\&\delta \xi _{mnf} =\mathbf{F}_{mf1} \left[ {{\begin{array}{l} {\delta \mathbf{u}_M } \\ {\delta \mathbf{u}_S } \\ \end{array} }} \right] +\mathbf{F}_{mf} \left[ {{\begin{array}{l} {\delta \mathbf{u}_{Mf} } \\ {\delta \mathbf{u}_{Sf} } \\ \end{array} }} \right] \end{aligned} \end{aligned}$$
(78)
$$\begin{aligned} \begin{aligned} \Delta \xi _{mnb}&= \mathbf{F}_{mb1} \left[ {{\begin{array}{l} {\Delta \mathbf{u}_M } \\ {\Delta \mathbf{u}_S } \\ \end{array} }} \right] +\mathbf{F}_{mb} \left[ {{\begin{array}{l} {\Delta \mathbf{u}_{Mb} } \\ {\Delta \mathbf{u}_{Sb} } \\ \end{array} }} \right] \\ \Delta \xi _{mnf}&= \mathbf{F}_{mb1} \left[ {{\begin{array}{l} {\Delta \mathbf{u}_M } \\ {\Delta \mathbf{u}_S } \\ \end{array} }} \right] +\mathbf{F}_{mb} \left[ {{\begin{array}{l} {\Delta \mathbf{u}_{Mf} } \\ {\Delta \mathbf{u}_{Sf} } \\ \end{array} }} \right] \end{aligned} \end{aligned}$$
(79)

where the involved matrices yield from the discretisation of components included in (23)–(26). They take the following form

$$\begin{aligned} \mathbf{F}_{mb}&= d_b \left\{ \mathbf{x}_{mnb,m} ^{T} \left[ {{\begin{array}{ll} {-\mathbf{G}_{mnb} }&{} {\mathbf{G}_{snb} } \\ \end{array} }} \right] \right. \nonumber \\&\left. -\left( {\mathbf{x}_{mnb} -\mathbf{x}_{snb} } \right) ^{T} \left[ {{\begin{array}{ll} {-\mathbf{H}_{mnb} }&{} \mathbf{0} \\ \end{array} }} \right] \right\} \end{aligned}$$
(80)
$$\begin{aligned} \mathbf{F}_{mf}&= d_f \left\{ \mathbf{x}_{mnf,m} ^{T} \left[ {{\begin{array}{ll} {-\mathbf{G}_{mnf} }&{} {\mathbf{G}_{snf} } \\ \end{array} }} \right] \right. \nonumber \\&\left. -\left( {\mathbf{x}_{mnf} -\mathbf{x}_{snf} } \right) ^{T} \left[ {{\begin{array}{ll} {-\mathbf{H}_{mnf} }&{} \mathbf{0} \\ \end{array} }} \right] \right\} \end{aligned}$$
(81)
$$\begin{aligned} \mathbf{F}_{mb1}&= d_b \left( {\mathbf{x}_{mnb,m} \cdot \mathbf{x}_{snb,s} } \right) \left( {\mathbf{F}_{sn} -\mathbf{F}_{\Delta s} } \right) \end{aligned}$$
(82)
$$\begin{aligned} \mathbf{F}_{mf1}&= d_f \left( {\mathbf{x}_{mnf,m} \cdot \mathbf{x}_{snf,s} } \right) \left( {\mathbf{F}_{sn} +\mathbf{F}_{\Delta s} } \right) \end{aligned}$$
(83)

where

$$\begin{aligned} \begin{aligned} d_b&= \frac{1}{\mathbf{x}_{mnb,m} \cdot \mathbf{x}_{snb,s} +\left( {\mathbf{x}_{mnb} -\mathbf{x}_{snb} } \right) \cdot \mathbf{x}_{mnb,mm} } \\ d_f&= \frac{1}{\mathbf{x}_{mnf,m} \cdot \mathbf{x}_{snf,s} +\left( {\mathbf{x}_{mnf} -\mathbf{x}_{snf} } \right) \cdot \mathbf{x}_{mnf,mm} } \end{aligned} \end{aligned}$$
(84)

Now the discretisations of variables related to the gap functions (17) and (18) can be determined. For the variation and linearisations we get

$$\begin{aligned} \begin{aligned}&\delta g_{Nb} =\mathbf{E}_b \left[ {{\begin{array}{l} {\delta \mathbf{u}_{Mb} } \\ {\delta \mathbf{u}_{Sb} } \\ \end{array} }} \right] +\mathbf{E}_{b1} \left[ {{\begin{array}{l} {\delta \mathbf{u}_M } \\ {\delta \mathbf{u}_S } \\ \end{array} }} \right] \\&\Delta g_{Nb} =\mathbf{E}_b \left[ {{\begin{array}{l} {\Delta \mathbf{u}_{Mb} } \\ {\Delta \mathbf{u}_{Sb} } \\ \end{array} }} \right] +\mathbf{E}_{b1} \left[ {{\begin{array}{l} {\Delta \mathbf{u}_M } \\ {\Delta \mathbf{u}_S } \\ \end{array} }} \right] \end{aligned} \end{aligned}$$
(85)
$$\begin{aligned} \begin{aligned}&\delta g_{Nf} =\mathbf{E}_f \left[ {{\begin{array}{l} {\delta \mathbf{u}_{Mf} } \\ {\delta \mathbf{u}_{Sf} } \\ \end{array} }} \right] +\mathbf{E}_{f1} \left[ {{\begin{array}{l} {\delta \mathbf{u}_M } \\ {\delta \mathbf{u}_S } \\ \end{array} }} \right] \\&\Delta g_{Nf} =\mathbf{E}_f \left[ {{\begin{array}{l} {\Delta \mathbf{u}_{Mf} } \\ {\Delta \mathbf{u}_{Sf} } \\ \end{array} }} \right] +\mathbf{E}_{f1} \left[ {{\begin{array}{l} {\Delta \mathbf{u}_M } \\ {\Delta \mathbf{u}_S } \\ \end{array} }} \right] \end{aligned} \end{aligned}$$
(86)

where

$$\begin{aligned} \begin{aligned}&\mathbf{E}_b =\mathbf{n}_b ^{T}\left[ {{\begin{array}{ll} {\mathbf{G}_{mnb} }&{} {-\mathbf{G}_{snb} } \\ \end{array} }} \right] \\&\mathbf{E}_{b1} =-\mathbf{n}_b ^{T}\mathbf{x}_{snb,s} \left( {\mathbf{F}_s -\mathbf{F}_{\Delta s} } \right) \\&\mathbf{E}_f =\mathbf{n}_f ^{T}\left[ {{\begin{array}{ll} {\mathbf{G}_{mnf} }&{} {-\mathbf{G}_{snf} } \\ \end{array} }} \right] \\&\mathbf{E}_{f1} =-\mathbf{n}_f ^{T}\mathbf{x}_{snf,s} \left( {\mathbf{F}_s +\mathbf{F}_{\Delta s} } \right) \end{aligned} \end{aligned}$$
(87)

The linearisations of the variations of the gap functions can be discretised in the following way

$$\begin{aligned} \Delta \delta g_{Nb}&= \left[ {{\begin{array}{ll} {\delta \mathbf{u}_M ^{T}}&{} {\delta \mathbf{u}_S ^{T}} \\ \end{array} }} \right] \mathbf{A}_{b2} \left[ {{\begin{array}{l} {\Delta \mathbf{u}_M } \\ {\Delta \mathbf{u}_S } \\ \end{array} }} \right] \nonumber \\&+\left[ {{\begin{array}{ll} {\delta \mathbf{u}_{Mb} ^{T}}&{} {\delta \mathbf{u}_{Sb} ^{T}} \\ \end{array} }} \right] \mathbf{A}_{b1} ^{T} \left[ {{\begin{array}{l} {\Delta \mathbf{u}_M } \\ {\Delta \mathbf{u}_S } \\ \end{array} }} \right] \nonumber \\&+\left[ {{\begin{array}{ll} {\delta \mathbf{u}_M ^{T}}&{} {\delta \mathbf{u}_S ^{T}} \\ \end{array} }} \right] \mathbf{A}_{b1} \left[ {{\begin{array}{l} {\Delta \mathbf{u}_{Mb} } \\ {\Delta \mathbf{u}_{Sb} } \\ \end{array} }} \right] \nonumber \\&+\left[ {{\begin{array}{ll} {\delta \mathbf{u}_{Mb} ^{T}}&{} {\delta \mathbf{u}_{Sb} ^{T}} \\ \end{array} }} \right] \mathbf{A}_b \left[ {{\begin{array}{l} {\Delta \mathbf{u}_{Mb} } \\ {\Delta \mathbf{u}_{Sb} } \\ \end{array} }} \right] \end{aligned}$$
(88)
$$\begin{aligned} \Delta \delta g_{Nf}&= \left[ {{\begin{array}{ll} {\delta \mathbf{u}_M ^{T}}&{} {\delta \mathbf{u}_S ^{T}} \\ \end{array} }} \right] \mathbf{A}_{f2} \left[ {{\begin{array}{l} {\Delta \mathbf{u}_M } \\ {\Delta \mathbf{u}_S } \\ \end{array} }} \right] \nonumber \\&+\left[ {{\begin{array}{ll} {\delta \mathbf{u}_{Mf} ^{T}}&{} {\delta \mathbf{u}_{Sf} ^{T}} \\ \end{array} }} \right] \mathbf{A}_{f1} ^{T} \left[ {{\begin{array}{l} {\Delta \mathbf{u}_M } \\ {\Delta \mathbf{u}_S } \\ \end{array} }} \right] \nonumber \\&+\left[ {{\begin{array}{ll} {\delta \mathbf{u}_M ^{T}}&{} {\delta \mathbf{u}_S ^{T}} \\ \end{array} }} \right] \mathbf{A}_{f1} \left[ {{\begin{array}{l} {\Delta \mathbf{u}_{Mf} } \\ {\Delta \mathbf{u}_{Sf} } \\ \end{array} }} \right] \nonumber \\&+\left[ {{\begin{array}{ll} {\delta \mathbf{u}_{Mf} ^{T}}&{} {\delta \mathbf{u}_{Sf} ^{T}} \\ \end{array} }} \right] \mathbf{A}_f \left[ {{\begin{array}{l} {\Delta \mathbf{u}_{Mf} } \\ {\Delta \mathbf{u}_{Sf} } \\ \end{array} }} \right] \end{aligned}$$
(89)

In the evaluation of the matrices involved in (85)–(89) discretisations of \(\Delta \delta \mathbf{u}_{mnb}\), \(\Delta \delta \mathbf{u}_{mnf}\), \(\Delta \delta \mathbf{u}_{snb}\) and \(\Delta \delta \mathbf{u}_{snf}\) are necessary. As discussed in [8] they are required due to the expression of displacements at an arbitrary point of a smoothed curve which is non-linear in terms of nodal displacements. These variables for the additional points can be derived in an analogous way as in [8] for the central points to yield

$$\begin{aligned} \begin{aligned}&\Delta \delta \mathbf{u}_{mnb} =\left[ {{\begin{array}{l} {\delta \mathbf{u}_{Mb} ^{T}\mathbf{G}_{d1mnb} \Delta \mathbf{u}_{Mb} } \\ {\delta \mathbf{u}_{Mb} ^{T}\mathbf{G}_{d2mnb} \Delta \mathbf{u}_{Mb} } \\ {\delta \mathbf{u}_{Mb} ^{T}\mathbf{G}_{d3mnb} \Delta \mathbf{u}_{Mb} } \\ \end{array} }} \right] \\&\Delta \delta \mathbf{u}_{snb} =\left[ {{\begin{array}{l} {\delta \mathbf{u}_{Sb} ^{T}\mathbf{G}_{d1snb} \Delta \mathbf{u}_{Sb} } \\ {\delta \mathbf{u}_{Sb} ^{T}\mathbf{G}_{d2snb} \Delta \mathbf{u}_{Sb} } \\ {\delta \mathbf{u}_{Sb} ^{T}\mathbf{G}_{d3snb} \Delta \mathbf{u}_{Sb} } \\ \end{array} }} \right] \end{aligned} \end{aligned}$$
(90)
$$\begin{aligned} \begin{aligned}&\Delta \delta \mathbf{u}_{mnf} =\left[ {{\begin{array}{l} {\delta \mathbf{u}_{Mf} ^{T}\mathbf{G}_{d1mnf} \Delta \mathbf{u}_{Mf} } \\ {\delta \mathbf{u}_{Mf} ^{T}\mathbf{G}_{d2mnf} \Delta \mathbf{u}_{Mf} } \\ {\delta \mathbf{u}_{Mf} ^{T}\mathbf{G}_{d3mnf} \Delta \mathbf{u}_{Mf} } \\ \end{array} }} \right] \\&\Delta \delta \mathbf{u}_{snf} =\left[ {{\begin{array}{l} {\delta \mathbf{u}_{Sf} ^{T}\mathbf{G}_{d1snf} \Delta \mathbf{u}_{Sf} } \\ {\delta \mathbf{u}_{Sf} ^{T}\mathbf{G}_{d2snf} \Delta \mathbf{u}_{Sf} } \\ {\delta \mathbf{u}_{Sf} ^{T}\mathbf{G}_{d3snf} \Delta \mathbf{u}_{Sf} } \\ \end{array} }} \right] \end{aligned} \end{aligned}$$
(91)

It is also useful to express the normal vectors (19) and (20) by their components:

$$\begin{aligned} \begin{aligned}&\mathbf{n}_b =\left( {{\begin{array}{lll} {n_{b1} }&{} {n_{b2} }&{} {n_{b3} } \\ \end{array} }} \right) ^{T} \\&\mathbf{n}_f =\left( {{\begin{array}{lll} {n_{f1} }&{} {n_{f2} }&{} {n_{f3} } \\ \end{array} }} \right) ^{T} \end{aligned} \end{aligned}$$
(92)

and to introduce further four matrices in order to simplify the notation

$$\begin{aligned} \begin{aligned}&\mathbf{L}_b =\left[ {{\begin{array}{ll} {\mathbf{G}_{mnb} }&{} {-\mathbf{G}_{snb} } \\ \end{array} }} \right] +\mathbf{x}_{mnb,m} \mathbf{F}_{mb} \\&\mathbf{L}_{b1} =\mathbf{x}_{mnb,m} \mathbf{F}_{mb1} -\mathbf{x}_{snb,s} \left( {\mathbf{F}_s -\mathbf{F}_{\Delta s} } \right) \\&\mathbf{L}_f =\left[ {{\begin{array}{ll} {\mathbf{G}_{mnf} }&{} {-\mathbf{G}_{snf} } \\ \end{array} }} \right] +\mathbf{x}_{mnf,m} \mathbf{F}_{mf} \\&\mathbf{L}_{f1}=\mathbf{x}_{mnf,m} \mathbf{F}_{mf1} -\mathbf{x}_{snf,s} \left( {\mathbf{F}_s +\mathbf{F}_{\Delta s} } \right) \end{aligned} \end{aligned}$$
(93)

Now the matrices in (88) and (89) can be given in the following form

$$\begin{aligned} \mathbf{A}_b&= \left[ {{\begin{array}{c@{\quad }c} {\sum _{i=1}^3 {\mathbf{G}_{dimnb} n_{bi} } }&{} \mathbf{0} \\ \mathbf{0}&{} {-\sum _{i=1}^3 {\mathbf{G}_{disnb} n_{bi} } } \\ \end{array} }} \right] \nonumber \\&+\mathbf{F}_{mb} ^{T}\left[ {{\begin{array}{c@{\quad }c} {\mathbf{n}_b ^{T}\mathbf{H}_{mnb} }&{} \mathbf{0} \\ \mathbf{0}&{} \mathbf{0} \\ \end{array} }} \right] +\left[ {{\begin{array}{c@{\quad }c} {\mathbf{H}_{mnb} ^{T}\mathbf{n}_b }&{} \mathbf{0} \\ \mathbf{0}&{} \mathbf{0} \\ \end{array} }} \right] \mathbf{F}_{mb}\nonumber \\&+\mathbf{F}_{mb} ^{T}\left[ {{\begin{array}{c@{\quad }c} {\mathbf{n}_b ^{T}\mathbf{x}_{mnb,mm} }&{} \mathbf{0} \\ \mathbf{0}&{} \mathbf{0} \\ \end{array} }} \right] \mathbf{F}_{mb} \nonumber \\&+\frac{1}{\left\| {\mathbf{x}_{mnb} -\mathbf{x}_{snb} } \right\| }\mathbf{L}_b ^{T} \left( {\mathbf{1}-\mathbf{n}_b \otimes \mathbf{n}_b } \right) \mathbf{L}_b \end{aligned}$$
(94)
$$\begin{aligned} \mathbf{A}_{b1}&= \mathbf{F}_{mb1} ^{T}\left[ {{\begin{array}{c@{\quad }c} {\mathbf{n}_b ^{T}\mathbf{H}_{mnb} }&{} \mathbf{0} \\ \mathbf{0}&{} \mathbf{0} \\ \end{array} }} \right] -\left( {\mathbf{F}_s -\mathbf{F}_{\Delta s} } \right) ^{T}\left[ {{\begin{array}{c@{\quad }c} \mathbf{0}&{} \mathbf{0} \\ \mathbf{0}&{} {\mathbf{n}_b ^{T}\mathbf{H}_{snb} } \\ \end{array} }} \right] \nonumber \\&+\mathbf{F}_{mb1} ^{T}\left[ {{\begin{array}{c@{\quad }c} {\mathbf{n}_b ^{T}\mathbf{x}_{mnb,mm} }&{} \mathbf{0} \\ \mathbf{0}&{} \mathbf{0} \\ \end{array} }} \right] \mathbf{F}_{mb} \nonumber \\&+\frac{1}{\left\| {\mathbf{x}_{mnb} -\mathbf{x}_{snb} } \right\| }\mathbf{L}_{b1} ^{T}\left( {\mathbf{1}-\mathbf{n}_b \otimes \mathbf{n}_b } \right) \mathbf{L}_b \end{aligned}$$
(95)
$$\begin{aligned} \mathbf{A}_{b2}&= \mathbf{F}_{mb1} ^{T}\left[ {{\begin{array}{c@{\quad }c} {\mathbf{n}_b ^{T}\mathbf{x}_{mnb,mm} }&{} \mathbf{0} \\ \mathbf{0}&{} \mathbf{0} \\ \end{array} }} \right] \mathbf{F}_{mb1} \nonumber \\&+\left( {\mathbf{F}_s -\mathbf{F}_{\Delta s} } \right) ^{T}\left[ {{\begin{array}{c@{\quad }c} \mathbf{0}&{} \mathbf{0} \\ \mathbf{0}&{} {-\mathbf{n}_b ^{T}\mathbf{x}_{snb,ss} } \\ \end{array} }} \right] \left( {\mathbf{F}_s -\mathbf{F}_{\Delta s} } \right) \nonumber \\&-\mathbf{n}_b ^{T}\mathbf{x}_{snb,s} \left( {\mathbf{R}_s -\mathbf{R}_{\Delta s} } \right) \nonumber \\&+\frac{1}{\left\| {\mathbf{x}_{mnb} -\mathbf{x}_{snb} } \right\| } \mathbf{L}_{b1} ^{T}\left( {\mathbf{1}-\mathbf{n}_b \otimes \mathbf{n}_b } \right) \mathbf{L}_{b1} \end{aligned}$$
(96)
$$\begin{aligned} \mathbf{A}_f&= \left[ {{\begin{array}{c@{\quad }c} {\sum _{i=1}^3 {\mathbf{G}_{dimnf} n_{fi} } }&{} \mathbf{0} \\ \mathbf{0}&{} {-\sum _{i=1}^3 {\mathbf{G}_{disnf} n_{fi} } } \\ \end{array} }} \right] \nonumber \\&+\mathbf{F}_{mf} ^{T}\left[ {{\begin{array}{c@{\quad }c} {\mathbf{n}_f ^{T}\mathbf{H}_{mnf} }&{} \mathbf{0} \\ \mathbf{0}&{} \mathbf{0} \\ \end{array} }} \right] +\left[ {{\begin{array}{c@{\quad }c} {\mathbf{H}_{mnf} ^{T}\mathbf{n}_f }&{} \mathbf{0} \\ \mathbf{0}&{} \mathbf{0} \\ \end{array} }} \right] \mathbf{F}_{mf}\nonumber \\&+\mathbf{F}_{mf} ^{T}\left[ {{\begin{array}{c@{\quad }c} {\mathbf{n}_f ^{T}\mathbf{x}_{mnf,mm} }&{} \mathbf{0} \\ \mathbf{0}&{} \mathbf{0} \\ \end{array} }} \right] \mathbf{F}_{mf}\nonumber \\&+\frac{1}{\left\| {\mathbf{x}_{mnf} -\mathbf{x}_{snf} } \right\| }\mathbf{L}_f ^{T} \left( {\mathbf{1}-\mathbf{n}_f \otimes \mathbf{n}_f } \right) \mathbf{L}_f \end{aligned}$$
(97)
$$\begin{aligned} \mathbf{A}_{f1}&= \mathbf{F}_{mf1} ^{T}\left[ {{\begin{array}{c@{\quad }c} {\mathbf{n}_f ^{T}\mathbf{H}_{mnf} }&{} \mathbf{0} \\ \mathbf{0}&{} \mathbf{0} \\ \end{array} }} \right] -\left( {\mathbf{F}_s +\mathbf{F}_{\Delta s} } \right) ^{T}\left[ {{\begin{array}{c@{\quad }c} \mathbf{0}&{} \mathbf{0} \\ \mathbf{0}&{} {\mathbf{n}_f ^{T}\mathbf{H}_{snf} } \\ \end{array} }} \right] \nonumber \\&+\mathbf{F}_{mf1} ^{T}\left[ {{\begin{array}{c@{\quad }c} {\mathbf{n}_f ^{T}\mathbf{x}_{mnf,mm} }&{} \mathbf{0} \\ \mathbf{0}&{} \mathbf{0} \\ \end{array} }} \right] \mathbf{F}_{mf}\nonumber \\&+\frac{1}{\left\| {\mathbf{x}_{mnf} -\mathbf{x}_{snf} } \right\| }\mathbf{L}_{f1} ^{T} \left( {\mathbf{1}-\mathbf{n}_f \otimes \mathbf{n}_f } \right) \mathbf{L}_f \end{aligned}$$
(98)
$$\begin{aligned} \mathbf{A}_{f2}&= \mathbf{F}_{mf1} ^{T}\left[ {{\begin{array}{c@{\quad }c} {\mathbf{n}_f ^{T}\mathbf{x}_{mnf,mm} }&{} \mathbf{0} \\ \mathbf{0}&{} \mathbf{0} \\ \end{array} }} \right] \mathbf{F}_{mf1} \nonumber \\&+\left( {\mathbf{F}_s +\mathbf{F}_{\Delta s} } \right) ^{T}\left[ {{\begin{array}{c@{\quad }c} \mathbf{0}&{} \mathbf{0} \\ \mathbf{0}&{} {-\mathbf{n}_f ^{T}\mathbf{x}_{snf,ss} } \\ \end{array} }} \right] \left( {\mathbf{F}_s +\mathbf{F}_{\Delta s} } \right) \nonumber \\&-\mathbf{n}_f ^{T}\mathbf{x}_{snf,s} \left( {\mathbf{R}_s +\mathbf{R}_{\Delta s} } \right) \nonumber \\&+\frac{1}{\left\| {\mathbf{x}_{mnf} -\mathbf{x}_{snf} } \right\| }\mathbf{L}_{f1} ^{T}\left( {\mathbf{1}-\mathbf{n}_f \otimes \mathbf{n}_f } \right) \mathbf{L}_{f1} \end{aligned}$$
(99)

Having discretised all the kinematic variables one can finally express the residual vector and tangent stiffness matrix for the newly developed multiple point beam-to-beam contact finite element. The weak form (15) after the discretisation yields the residual vector:

$$\begin{aligned} \delta \Pi _c&= \left[ {{\begin{array}{ll} {\delta \mathbf{u}_M ^{T}}&{} {\delta \mathbf{u}_S ^{T}} \\ \end{array} }} \right] \left( {\mathbf{R}_c +\mathbf{R}_{b1} +\mathbf{R}_{f1} } \right) \nonumber \\&+\left[ {{\begin{array}{ll} {\delta \mathbf{u}_{Mf} ^{T}}&{} {\delta \mathbf{u}_{Sf} ^{T}} \\ \end{array} }} \right] \mathbf{R}_f +\left[ {{\begin{array}{ll} {\delta \mathbf{u}_{Mb} ^{T}}&{} {\delta \mathbf{u}_{Sb} ^{T}} \\ \end{array} }} \right] \mathbf{R}_b \end{aligned}$$
(100)

It contains the component \(\mathbf{R}_{c}\) for the central pair of contact points, which was given in [8], and the following components related to the additional pairs

$$\begin{aligned} \begin{aligned}&\mathbf{R}_{b1} =\varepsilon _N g_{Nb} \mathbf{E}_{b1} ^{T} \\&\mathbf{R}_{f1} =\varepsilon _N g_{Nf} \mathbf{E}_{f1} ^{T} \\&\mathbf{R}_b =\varepsilon _N g_{Nb} \mathbf{E}_b ^{T}\\&\mathbf{R}_f =\varepsilon _N g_{Nf} \mathbf{E}_f ^{T} \end{aligned} \end{aligned}$$
(101)

evaluated from the second and the third component of (15) concerning the additional pairs of contact points.

The linearisation of the weak form (16) after the discretisation yields the tangent stiffness matrix:

$$\begin{aligned} \Delta \delta \Pi _c&= \left[ {{\begin{array}{ll} {\delta \mathbf{u}_M ^{T}}&{} {\delta \mathbf{u}_S ^{T}} \\ \end{array} }} \right] \left( {\mathbf{K}_c +\mathbf{K}_{b2} +\mathbf{K}_{f2} } \right) \left[ {{\begin{array}{l} {\Delta \mathbf{u}_M } \\ {\Delta \mathbf{u}_S } \\ \end{array} }} \right] \nonumber \\&+\left[ {{\begin{array}{ll} {\delta \mathbf{u}_{Mb} ^{T}}&{} {\delta \mathbf{u}_{Sb} ^{T}} \\ \end{array} }} \right] \mathbf{K}_{b1} ^{T} \left[ {{\begin{array}{l} {\Delta \mathbf{u}_M } \\ {\Delta \mathbf{u}_S } \\ \end{array} }} \right] \nonumber \\&+\left[ {{\begin{array}{ll} {\delta \mathbf{u}_M ^{T}}&{} {\delta \mathbf{u}_S ^{T}} \\ \end{array} }} \right] \mathbf{K}_{b1} \left[ {{\begin{array}{l} {\Delta \mathbf{u}_{Mb} } \\ {\Delta \mathbf{u}_{Sb} } \\ \end{array} }} \right] \nonumber \\&+\left[ {{\begin{array}{ll} {\delta \mathbf{u}_{Mf} ^{T}}&{} {\delta \mathbf{u}_{Sf} ^{T}} \\ \end{array} }} \right] \mathbf{K}_{f1} ^{T} \left[ {{\begin{array}{l} {\Delta \mathbf{u}_M } \\ {\Delta \mathbf{u}_S } \\ \end{array} }} \right] \nonumber \\&+\left[ {{\begin{array}{ll} {\delta \mathbf{u}_M ^{T}}&{} {\delta \mathbf{u}_S ^{T}} \\ \end{array} }} \right] \mathbf{K}_{f1} \left[ {{\begin{array}{l} {\Delta \mathbf{u}_{Mf} } \\ {\Delta \mathbf{u}_{Sf} } \\ \end{array} }} \right] \nonumber \\&+\left[ {{\begin{array}{ll} {\delta \mathbf{u}_{Mb} ^{T}}&{} {\delta \mathbf{u}_{Sb} ^{T}} \\ \end{array} }} \right] \mathbf{K}_b \left[ {{\begin{array}{l} {\Delta \mathbf{u}_{Mb} } \\ {\Delta \mathbf{u}_{Sb} } \\ \end{array} }} \right] \nonumber \\&+\left[ {{\begin{array}{ll} {\delta \mathbf{u}_{Mf} ^{T}}&{} {\delta \mathbf{u}_{Sf} ^{T}} \\ \end{array} }} \right] \mathbf{K}_f \left[ {{\begin{array}{l} {\Delta \mathbf{u}_{Mf} } \\ {\Delta \mathbf{u}_{Sf} } \\ \end{array} }} \right] \end{aligned}$$
(102)

The component matrix \(\mathbf{K}_{c}\) for the central pair of contact points was given in [8]. The remaining ones related to the additional pairs are evaluated from the components in the second and the third parentheses in (16) and take the form

$$\begin{aligned} \begin{aligned}&\mathbf{K}_{b2} =\varepsilon _N \mathbf{E}_{b1} \mathbf{E}_{b1} ^{T} +\varepsilon _N g_{Nb} \mathbf{A}_{b2} \\&\mathbf{K}_{f2} =\varepsilon _N \mathbf{E}_{f1} \mathbf{E}_{f1} ^{T} +\varepsilon _N g_{Nf} \mathbf{A}_{f2} \\&\mathbf{K}_{b1} =\varepsilon _N \mathbf{E}_b \mathbf{E}_{b1} ^{T} +\varepsilon _N g_{Nb} \mathbf{A}_{b1} \\&\mathbf{K}_{f1} =\varepsilon _N \mathbf{E}_f \mathbf{E}_{f1} ^{T} +\varepsilon _N g_{Nf} \mathbf{A}_{f1} \\&\mathbf{K}_b =\varepsilon _N \mathbf{E}_b \mathbf{E}_b ^{T} +\varepsilon _N g_{Nb} \mathbf{A}_b \\&\mathbf{K}_f =\varepsilon _N \mathbf{E}_f \mathbf{E}_f ^{T} +\varepsilon _N g_{Nf} \mathbf{A}_f \end{aligned} \end{aligned}$$
(103)

The characteristic vectors and matrices (101) and (103) are ready to embed in any computer program of beam-to-beam contact analysis. An inherent contact search routine, like the one described in [8], determines if a contact contribution has to be switched on. In a case of an active contact pair the appropriate components of (101) and (103) have to be added to the global residual vector or stiffness matrix used within the Newton–Raphson iterative solution scheme.

5 Numerical examples

In this section two examples of frictionless contact between beams are considered to check the performance of the newly developed three-point contact element. The axes of beams are approximated using Hermite polynomials combined with inscribed curve segments, as discussed in [7, 8]. The contact search algorithm from [8] is applied. In the analysed cases beams axes form an acute angle in the plan view to illustrate better the merits of the new approach. Data and results in the examples are given without any specified units but in fact any consistent unit set could be adopted.

The computer times for both considered approaches differ. However, the introduction of two additional points, which means the 200 % increase in the number of active constraints, increases the time of computations only by about 15–30 %, depending on the beam layout. The effect is so favourable because the computations of the additional points involve many matrices and vectors, which are identical as the ones used in the computations for the central contact points. Also the majority of new matrices are computed using the same subroutines, which allows for some optimisation of the computer code.

5.1 Example 1

In this example two clamped-clamped beams 1 and 2 with the lengths \(l_{1}=6.000,\,l_{2}=6.325\) and the angle between their axes \(\varphi =16.26^{\circ }\) in the plan view, as presented in Fig. 7, are considered. Both beams have circular cross-sections with the radius \(r=0.1\) and are made of a linearly elastic material characterised with the Young’s modulus \(E=250 \times 10^{5}\) and the Poisson’s ratio \(\nu =0.3\). The initial gap separating the beams is \(g_{N0}=0.001\). The beams are forced into contact by the nodal displacements \(\Delta _{1}=\Delta _{2}=1.0\) applied in 60 increments at the ends of beam 2. Each beam is discretised by 10 co-rotational finite elements developed by Crisfield [2].

Fig. 7
figure 7

Data for Example 1: beam axes layout and imposed displacements

This example is solved using the currently developed three-point contact element and the standard point-wise contact element. The comparison of the available results is done for various values of the penalty parameter.

The graphs in Fig. 8 present the values of normal contact forces in the case of new element applied. The dotted curves represent the total value of the force

$$\begin{aligned} F_N =\varepsilon _N g_N +\varepsilon _N g_{Nb} +\varepsilon _N g_{Nf} \end{aligned}$$
(104)

while the solid and dashed lines show its components related to the central and additional contact pair, respectively. Due to the symmetry of the beam layout both additional pairs, forward and back, feature the same force.

Fig. 8
figure 8

Example 1: evolution of normal contact force for various penalty parameters

Comparing these graphs one can clearly notice the influence of increasing penalty parameter what makes the contact more stiff. The penetration decreases and the moment when the additional contact pairs become active is more and more delayed.

There is also one more interesting effect related to the increase of the penalty parameter—for its extreme values the central contact point is switched off at the end of the deformation process and the entire contact force is localised in the additional points.

The newly derived element was also compared with the standard point-wise contact case. Figure 9 presents the values of the final total contact force computed using both elements with the solid line corresponding to the three-point contact and the dotted line—to the point-wise contact. It can be clearly seen that the distribution of the force between three contact pairs makes the approximation less dependent on the value of the penalty parameter. The analysis with smaller values of this crucial coefficient yields a better approximation of the contact force. Moreover, the new element allows for larger values of this parameter to be taken into account—the solution can be found for \(\varepsilon _{N}\) reaching \(10^{9}\), while the point-wise contact element becomes ill-conditioned already for \(3 \times 10^{6}\).

Fig. 9
figure 9

Example 1: total contact force in the function of penalty parameter for point-wise and three-point contact elements

These results indicate that the three-point contact element is an attractive replacement for the point-wise contact element in the cases when beam axes form small acute angles.

The 3D view of the final deformed configuration of beam axes with equal scale for displacements and beam dimensions, obtained for the case of the penalty parameter equal to \(10^{9}\) is presented in Fig. 10. Solid lines depict the deformed axes, while the dotted lines—the initial undeformed configuration.

Fig. 10
figure 10

Example 1: deformed configuration of beam axes, penalty parameter \(10^{9}\)

5.2 Example 2

In this example two cantilever beams 1 and 2 with the lengths \(l_{1}=l_{2}=6.083\) and with the angle between their axes \(\varphi =18.92^{\circ }\) in the plan view, as presented in Fig. 11, are considered. Both beams have circular cross-sections with the radius \(r=0.1\) and are made of a linearly elastic material characterised with the Young’s modulus \(E=250\times 10^{5}\) and the Poisson’s ratio \(\nu =0.3\). The initial gap separating the beams is \(g_{N0}=0.001\). The beams are forced into contact by the nodal displacements \(\Delta _{1}=\Delta _{2}=0.2\) applied in 60 increments simultaneously at the beams tips. Each beam is discretised by 10 co-rotational finite elements developed by Crisfield [2]. The problem was solved using various values of the penalty parameter to check the performance of the new element and compare it to the point-wise contact element.

Fig. 11
figure 11

Data for Example 2: beam axes layout and imposed displacements

The graph showing the evolution of the penetration at contact points, computed for the penalty parameter \(10^{4}\), is presented in Fig. 12. The solid line represents the values for the central contact pair, while the dashed line—the additional contact pairs. The contact zone layout is not symmetric in this example but the differences between the contact behaviour in the additional points shifted back and forward are undistinguishable. It can be observed, that initially just the central contact pair is active but quite soon two additional contact points get active, too.

Fig. 12
figure 12

Example 2: evolution of penetration for penalty parameter \(10^{4}\)

The comparison of results obtained using both contact elements is given in Fig. 13, where the total contact force (104) versus the penalty parameter is shown. The solid line corresponds to the three-point contact and the dotted line—to the point-wise contact. Similarly as in Example 1, the case with the contact force distributed at three points yields better results in terms of convergence of the contact force to the exact value. Its better approximation can be obtained for smaller penalty parameter values what is advantageous due to a better conditioning of the penalty parameter approach.

The 3D view of the final deformed configuration of beam axes with equal scale for displacements and beam dimensions, obtained for the case of the penalty parameter equal to \(10^{5}\), is presented in Fig. 14. Solid lines depict the deformed axes, while the dotted lines—the initial undeformed configuration.

Fig. 13
figure 13

Example 2: total contact force in the function of penalty parameter for point-wise and three-point contact elements

Fig. 14
figure 14

Example 2: deformed configuration of beam axes, penalty parameter \(10^{5}\)

5.3 Example 3

In this example four identical beams with the lengths \(l=15.31\) forming a symmetric assembly where their axes cross in the plan view at the angles \(\varphi =21.80^{\circ }\), as presented inFig. 15, are considered. The mid-points of all the beams have the imposed support conditions yielding from the symmetry. The beams have circular cross-sections with the radius\(r=0.1\) and are made of a linearly elastic material characterised with the Young’s modulus \(E=205 \times 10^{5}\) and the Poisson’s ratio \(\nu =0.3\). The initial gaps separating the beams are \(g_{N0}=0.033\). The beams are forced into contact by a set of 8 nodal displacements \(\Delta =1.7\) applied in 30 increments simultaneously at all the beams tips. Each beam is discretised by 10 co-rotational finite elements developed by Crisfield [2]. The problem was solved using the penalty parameter \(\varepsilon _{N}=10^{4}\).

Fig. 15
figure 15

Data for Example 3: beam axes layout and imposed displacements

There are four contact points in this case but because of the symmetry it is enough to give the results for two of them, denoted by A and B in Fig. 15. The total contact force at the point A from the point-wise contact analysis is 146.0, while that from the three-point contact analysis is 147.8. The respective values of the total contact force at the point B are 148.9 and 150.8, respectively. Hence, just like in the previous examples, the new beam-to-beam contact model allows to compute the contact force with a better accuracy. It is also worth to mention, that in the three-point contact model the better result yields from a much smaller violation of the geometry, i.e. the maximal penetration is 0.005415, which represents just 2.7 % of the cross-section depth of the beam. On the other hand, the point-wise contact model yields the penetration of 0.01489, which is equal to 7.4 % of the cross-section depth.

The 3D view of the final deformed configuration of beam axes with equal scale for displacements and beam dimensions is presented in Fig. 16. Solid lines depict the deformed axes, while the dotted lines—the initial undeformed configuration.

Fig. 16
figure 16

Example 3: deformed configuration of beam axes, penalty parameter \(10^{4}\)

6 Concluding remarks

This paper reports the derivation and numerical tests to assess the performance of a new beam-to-beam contact finite element for the frictionless case. The novelty with respect to the previously developed element is the enhancement of the contact zone modelling in the situation of acute angles between the beam axes. The doubtful point-wise model is replaced by a more realistic distribution of the contact force at three contacting points discretising a real line contact zone. The result is a better representation of the contact phenomenon. The calculated examples point out that this more realistic approach has serious advantages when the most popular penalty parameter method of contact constraint enforcement is used. The new element reduces the localised contact forces, thus yields a better numerical model which is less prone to ill-posedness, provides a wider margin of acceptable penalty parameters and with their smaller values gives more accurate assessment of the total contact force.

It may also be worth noting that the presence of three pairs of contact points enhances the simple beam-to-beam point-wise contact model, as it introduces a possibility to include the resultant bending moment at the contact zone. This is clearly not the case for the point-wise contact. Hence, the presented approach may be viewed as a model which describes better the 3D nature of the beam-to-beam contact.

The next step in the development will be the inclusion of Coulomb friction at the contact points. This will require definition and discretisation of some extra kinematic variables, analogously to what was done in Sects. 3 and 4 in the present frictionless formulation.