1 Introduction

The numerical simulation of contact problems is a challenging task due to the highly non-linear and non-smooth nature of contact processes. With the finite element method (FEM), the non-smooth contact surface discretization obtained with \(C^0\) Lagrange basis functions leads to ill-defined normals at the inter-element boundaries, which reduce the robustness of the simulations and call for ad hoc remedies in contact projection algorithms. To circumvent this problem, various surface smoothing algorithms have been proposed [1, 2], with the main idea of replacing the surface representation by a smoother approximation, e.g. based on Hermite polynomials, Bézier curves or non-uniform rational B-Splines (NURBS), while leaving the bulk unchanged. These procedures lead in general to a more robust contact behavior, however, the design of a smoothed master surface is far from trivial, especially in the three-dimensional space, and additional complications arise in implementation and data management.

In contrast to FEM, Isogeometric Analysis (IGA) is inherently based on basis functions featuring higher order and higher smoothness, such as B-Splines or NURBS. Thus IGA naturally suppresses discretization-induced contact projection issues, which makes it particularly appealing for computational contact mechanics. As a result, isogeometric contact attracted significant attention, see [2] for a review. The same paper introduces the terminology that we adopt in the present paper for the different considered types of contact formulations.

Contact discretization schemes in either FEM or IGA can be roughly classified into pointwise and integral approaches. In the pointwise category, the integral representing the contact contribution to the weak form is computed through point collocation at a given set of points, typically slave nodes (in FEM) or the physical maps of the knots on the slave surface (in IGA). The classical example of this category is the “node-to-surface” or (in two dimensions) “node-to-segment” (NTS) algorithm, which in the isogeometric context is more appropriately denoted as “point-to-surface” or “point-to-segment” (PTS) [3]. A modified version with weighted contributions was developed in [4] and denoted as PTS+, and this is the pointwise approach that we consider in the present paper for comparison. The main advantages of pointwise methods are their simplicity and computational efficiency, whereas their most evident drawback is their inability to pass the contact patch test [5], which implies that the discretization error may not decrease with decreasing mesh size. On the other hand, in integral approaches the contact contribution to the weak form is computed through different types of integration. These approaches pass the patch test, either up to the integration error or to machine precision, however their better accuracy goes at the expenses of computational efficiency and, in some cases, of implementational simplicity. In this paper, we adopt for comparison what we consider to be the simplest available version of integral approaches, namely the “Gauss-point-to-segment” (GPTS) formulation, first proposed in the isogeometric context by [6,7,8] in conjunction with the penalty method for constraint enforcement. We do not compare here with the mortar method, which is the best performing, but also most complex and computationally expensive integral approach [6, 7, 9].

Typically, both pointwise and integral contact discretizations introduce a bias between slave and master surfaces. Due to the use of a single loop over the slave mesh features at which the contact constraints are enforced, these formulations are also referred to as “one-pass”. With the purpose of eliminating the bias, “two-pass” formulations have been proposed, where the contact contribution to the weak form is incorporated twice while switching the roles of slave and master surfaces. Obviously, the number of constraints increases, which in general leads to overconstraining (or worsens possible pre-existing overconstraining of the one-pass counterpart). For the NTS discretization, the two-pass version in combination with the Lagrange multiplier method passes the contact patch test [5], whereas the same version with the penalty method still fails it. An alternative to one-pass and two-pass formulations was explored in [10] and later recovered (with some differences) in [11] from a very general framework based on surface potentials. In this approach, two loops are performed treating each surface alternatively as slave and master. In each loop (“half-pass”), the contact tractions are computed only on the surface currently treated as slave. Therefore, no transfer of tractions to the master side is needed. Local equilibrium at the surfaces is not enforced a priori but recovered with high accuracy. The approach, denoted in [11, 12] as “two-half-pass”, was applied in combination with the NTS [10] and GPTS discretizations [11, 12]. As shown in [12], the GPTS formulation in conjunction with the two-half-pass algorithm and the penalty method passes the contact patch test to machine precision. Applications of two-half-pass approaches within an isogeometric framework can be found e.g. in [13,14,15,16]. Here overconstraining is still an issue, unless special precautions such as node patterning are taken [17]. Obviously, the issue is less severe with the penalty method. In this paper, the two-half-pass approach is combined with both the PTS+ and GPTS formulations.

The contact formulations that we briefly summarized above are all based on the computation of the contact contribution to the weak form, i.e. they are rooted in Galerkin-based FEM or IGA. Unlike IGA, isogeometric collocation starts directly from the strong form of the governing equations, which is enforced at a set of evaluation points equal in number to control points and denoted as collocation points [18,19,20]. Thus there is no need for numerical quadrature of integral equations and the cost of assembly is minimized, leading to a high computational efficiency especially for higher-order discretizations [21]. Contact formulations for isogeometric collocation were developed for linear elasticity without friction [22], hyperelasticity with friction [23] and Cosserat rods with friction [24, 25] in combination with the penalty method. The contact treatment in [22, 23] is based on the strong enforcement of the contact constraints at the collocation points located on the contact surfaces, hence it is a pointwise approach; nevertheless, it passes the contact patch test to machine precision. The reason is that in the framework of isogeometric collocation the governing equations naturally involve contact pressures, as opposed to the concentrated nodal forces of Galerkin-based formulations. Moreover, the contact formulation in [22, 23] is based on the two-half-pass approach, which naturally fits the framework of isogeometric collocation.

The contact formulation in [22, 23] was developed for a framework where both bulk and contact are treated with isogeometric collocation. As a result, while enjoying computational efficiency and inherent contact patch test satisfaction, it also suffered from the known drawbacks of isogeometric collocation, i.e. stress oscillations at the Neumann (and at the contact) boundary for highly non-uniform meshes, which were solved using the enhanced collocation approach [22]. Moreover, isogeometric collocation as a bulk discretization method requires sufficient regularity of the material behavior if a primal formulation is to be used, e.g. its application to \(J_2\) plasticity requires mixed formulations [26], and may need special attention to achieve good robustness in certain cases [26, 27].

In this work we propose a novel approach, in which the standard IGA formulation for the bulk is combined with a contact formulation based on isogeometric collocation. We denote it as isogeometric Collocated Contact Surface (CCS) approach. It is based on a simple pointwise enforcement of the contact constraints, performed in this study with the penalty method. Unlike pointwise contact algorithms in the Galerkin framework, the CCS formulation passes the contact patch test to machine precision by naturally exploiting the favorable properties of isogeometric collocation. Compared with approaches where the discretization of both bulk and contact surfaces is based on collocation, the CCS approach does not need enhancements to remove oscillations for highly non-uniform meshes. Moreover, it enjoys the flexibility and robustness of the Galerkin framework in the bulk discretization. With respect to integral contact approaches, the CCS algorithm is less computationally expensive, due to the reduced amount of contact evaluation points. In this paper, we focus on the two-dimensional frictionless setting.

The paper is structured as follows. In Sect. 2, we formulate the elastostatic boundary value problem with frictionless contact in strong and weak form in the continuum setting. Section 3 reviews isogeometric Galerkin and collocation methods for bulk and contact discretization, including some available contact formulations. Section 4 introduces the newly proposed isogeometric CCS approach. The performance of CCS and available formulations is compared by means of numerical examples in Sect. 5. Conclusions are drawn in Sect. 6.

2 Elastostatic problem with frictionless contact

Contact processes are typically associated with large deformations of the considered continua. As follows, we outline the fundamental continuum equations of elastostatics with contact in the finite strain setting.

2.1 Strain and stress measures, constitutive laws

Let us start by considering a single continuum body \({\mathcal {B}}\) undergoing finite deformations. The undeformed configuration is parameterized with the reference coordinates \({\varvec{X}}\) and the deformed configuration with the current coordinates \({\varvec{x}}\), with the deformation defined by the mapping \({\varvec{x}}=\pmb \varphi \left( {\varvec{X}},t\right) \). Accordingly the displacements are defined as \({\varvec{u}}={\varvec{x}}-{\varvec{X}}\). The domains occupied by \({\mathcal {B}}\) in the reference and the current configuration are denoted as \(\Omega , \omega \subset {\mathbb {R}}^{d}\), respectively, with d as the number of space dimensions (\(d=2\) in this paper).

The deformation gradient is defined as \({\varvec{F}}={\varvec{I}} + \nabla {\varvec{u}}\), where \(\nabla \) is the gradient operator with respect to \({\varvec{X}}\) and \({\varvec{I}}\) is the second-order identity tensor. The Jacobian \(J = \text {det} {\varvec{F}}\) is a measure for the transformation of volume elements between the two considered configurations. We adopt as strain measure the Green-Lagrange strain tensor \({\varvec{E}} = \frac{1}{2}({\varvec{C}}-{\varvec{I}})\), with \({\varvec{C}} = {\varvec{F}}^T {\varvec{F}}\) known as the right Cauchy-Green deformation tensor.

For numerical examples exhibiting large deformations, we consider a hyperelastic neo-Hookean material model [28] for which the elastic strain energy density \(\psi ({\varvec{C}})\) reads

$$\begin{aligned} \psi =\frac{\mu }{2}(I_{1}-3)-\mu \text {ln}J+\frac{\lambda }{2}(\text {ln}J)^{2}, \end{aligned}$$
(1)

where \(\lambda \) and \(\mu \) are the Lamé parameters and \(I_{1}=\text {tr}{\mathbf {C}}={\mathbf {C}}:{\mathbf {I}}\) is the first invariant of \({\mathbf {C}}\).

The second Piola-Kirchhoff stress tensor \({\varvec{S}}\) can be obtained as

$$\begin{aligned} {\mathbf {S}}=\frac{\partial \psi ({\varvec{C}})}{\partial {\varvec{E}}} =2 \frac{\partial \psi ({\varvec{C}})}{\partial {\varvec{C}}} = \mu ({\mathbf {I}}-{\mathbf {C}}^{-1})+\lambda \text {ln}J{\mathbf {C}}^{-1}. \end{aligned}$$
(2)

The first Piola-Kirchhoff stress tensor \({\varvec{P}}\) follows through the relation \({\varvec{P}} = {\varvec{F}} {\varvec{S}}\). The Piola traction vector \({\varvec{T}}\) can be calculated as \({\varvec{T}}= {\varvec{P}} {\varvec{N}}\) with the outward unit normal \({\varvec{N}}\) to a surface element in the reference configuration. The relation to the traction vector \({\varvec{t}}\) in the current configuration, which is an important quantity in contact formulations, is given by

$$\begin{aligned} {\varvec{t}}({\varvec{x}},{\varvec{n}})da = {\varvec{T}}({\varvec{X}},{\varvec{N}})dA \end{aligned}$$
(3)

with the infinitesimal surface elements da and dA in the current and in the reference configuration, respectively, and with \({\varvec{n}}\) as the outward unit normal to a surface element in the current configuration.

In the special case of small deformations, a distinction between the reference and the current configuration is not necessary and the linearized strain tensor \(\varvec{\varepsilon }^{lin}=\frac{1}{2}(\nabla {\varvec{u}} + (\nabla {\varvec{u}})^T)\) can be used as strain measure. For linearly elastic isotropic materials, the Cauchy stress tensor \(\varvec{\sigma }^{lin}\) and the linearized strain tensor \(\varvec{\varepsilon }^{lin}\) are related by Hooke’s law as \(\varvec{\sigma }^{lin}=(\lambda {\mathbf {I}}\otimes {\mathbf {I}}+2\mu {\varvec{\Pi }}):\varvec{\varepsilon }^{lin}\), where \({\varvec{\Pi }}\) is the fourth-order symmetric identity tensor.

2.2 Contact formulation in the continuum setting

Let us now consider two elastic bodies \({\mathcal {B}}^{(k)}\) (\(k = {1,2}\)) that come into contact under the assumption of large deformations. For both bodies \({\varvec{x}}^{(k)} = {\varvec{X}}^{(k)} + {\varvec{u}}^{(k)}\) holds.

The contact surface of body \({\mathcal {B}}^{(k)}\) in the current configuration, \(\gamma _C^{(k)}\), is parameterized via the convective coordinates \(\xi ^{\alpha (k)}\), \(\alpha \in {1,..,d-1}\), that define the covariant (tangent) vectors \(\varvec{\tau }^{k}_\alpha = {\varvec{x}}^{(k)}_{,\alpha }\). Based on the tangent vectors we can further define \({\varvec{n}}^{(k)}\) as the outward normal unit vector.

The closest-point (normal) projection of a given point \({\varvec{x}}^{(1)}\) of surface \(\gamma _C^{(1)}\) onto the matching surface \(\gamma _C^{(2)}=\gamma _C^{(1)}=\gamma _C\) identifies the projection point \(\bar{{\varvec{x}}}^{(2)}\). Thus the normal gap \(g^{(2)}_N\) can be computed as

$$\begin{aligned} g^{(2)}_N = ({\varvec{x}}^{(1)} - {\bar{\varvec{x}}}^{(2)})\cdot \bar{{\varvec{n}}}^{(2)} \end{aligned}$$
(4)

where \(\bar{{\varvec{n}}}^{(2)}\) denotes the normal to \(\gamma _C^{(2)}\) at the projection point. Indicating as \({\varvec{t}}^{(2)}\) the contact traction vector acting on surface \(\gamma _C^{(2)}\), and with \({\varvec{t}}^{(2)}_N\) its component in the direction of \(\bar{{\varvec{n}}}^{(2)}\), it is for frictionless contact

$$\begin{aligned} {\varvec{t}}^{(2)}={\varvec{t}}^{(2)}_N = t^{(2)}_N \bar{{\varvec{n}}}^{(2)} \end{aligned}$$
(5)

with \(t^{(2)}_N\) as the normal component of the traction vector. If the two bodies are in contact at the considered point, it is \(g^{(2)}_N = 0\) and \(t^{(2)}_N \le 0\). If the contact is open, it is \(g^{(2)}_N \ge 0\) and \(t^{(2)}_N = 0\). Thus the contact constraints can be formulated as the following Karush-Kuhn-Tucker (or Hertz-Signorini-Moreau) conditions

$$\begin{aligned} g^{(2)}_N \ge 0, \quad t^{(2)}_N \le 0, \quad g^{(2)}_N t^{(2)}_N = 0. \end{aligned}$$
(6)

The computation of the contact traction depends on the solution method chosen for the enforcement of the contact constraints. Here we adopt the penalty method. The penalty regularized contact constraints read

$$\begin{aligned} t^{(2)}_N = \epsilon _N \langle g^{(2)}_N \rangle _{-} \quad \langle g^{(2)}_N \rangle _{-} {=} {\left\{ \begin{array}{ll} g^{(2)}_N &{} \text {if } g^{(2)}_N \le 0, \\ 0 &{} \text {otherwise,} \end{array}\right. } \end{aligned}$$
(7)

where \(\epsilon _N > 0\) is the so-called penalty parameter and \(\langle \bullet \rangle _{-}\) denotes the Macaulay brackets. Thus the penalty approach regularizes the contact constraints in (6) by allowing for a small penetration of the contacting bodies.

Fig. 1
figure 1

Schematic representation of contact kinematics between two bodies

In one-pass approaches, body \({\mathcal {B}}^{(1)}\) is treated as slave and body \({\mathcal {B}}^{(2)}\) as master, the contact traction on the master body is computed from (5) and (7), whereas the contact traction on the slave body follows from the action-reaction principle as

$$\begin{aligned} {\varvec{t}}^{(1)} = -{\varvec{t}}^{(2)}. \end{aligned}$$
(8)

Instead, in two-half-pass formulations, two loops are performed treating each surface alternatively as slave and master. In each loop, the contact tractions are computed only on the surface currently treated as slave. Thus, in addition to the ones introduced previously, the following symmetric relationships are used

$$\begin{aligned} g_N^{(1)}= & {} ({\varvec{x}}^{(2)} - \bar{{\varvec{x}}}^{(1)})\cdot \bar{{\varvec{n}}}^{(1)} \end{aligned}$$
(9)
$$\begin{aligned} {\varvec{t}}^{(1)}= & {} {\varvec{t}}_N^{(1)} = t_N^{(1)} \bar{{\varvec{n}}}^{(1)} \end{aligned}$$
(10)
$$\begin{aligned} t_N^{(1)}= & {} \epsilon _N \langle g_N^{(1)} \rangle _{-} \qquad \langle g_N^{(1)} \rangle _{-} {=} {\left\{ \begin{array}{ll} g_N^{(1)} &{} \text {if } g_N^{(1)}\le 0, \\ 0 &{} \text {otherwise,} \end{array}\right. } \end{aligned}$$
(11)

where the contact constraints are given directly after penalty regularization. Notice that now (8) is no longer needed. Thus, equilibrium at the contact surfaces is no longer explicitly enforced but recovered a posteriori with high accuracy [11, 12].

2.3 Boundary value problem in strong form

The elastostatic boundary value problem with contact for the two bodies \({\mathcal {B}}^{(k)}\) occupying the domains \(\Omega ^{(k)}\) in the reference configuration is formulated in the following in strong form. Each boundary \(\Gamma ^{(k)}\) can be subdivided into a portion \(\Gamma _D^{(k)}\) with Dirichlet boundary conditions, a portion \(\Gamma _N^{(k)}\) with Neumann boundary conditions, and the remaining portion \(\Gamma _C^{(k)}\) on which contact constraints hold, with \(\Gamma ^{(k)} = \Gamma _D^{(k)}\bigcup \Gamma _N^{(k)}\bigcup \Gamma _C^{(k)}\) and \(\Gamma _D^{(k)}\bigcap \Gamma _N^{(k)} = \Gamma _N^{(k)} \bigcap \Gamma _C^{(k)} = \Gamma _C^{(k)} \bigcap \Gamma _D^{(k)} = \emptyset \).

The balance of linear momentum reads

$$\begin{aligned} \nabla \cdot {\varvec{P}}^{(k)} + {\varvec{B}}^{(k)} = {\varvec{0}} \qquad \text {in }\Omega ^{(k)} \end{aligned}$$
(12)

with the first Piola-Kirchhoff stress tensors \({\varvec{P}}^{(k)}\) and the body forces \({\varvec{B}}^{(k)}\). On the Dirichlet boundaries \(\Gamma ^{(k)}_D\) displacements \(\bar{{\varvec{u}}}^{(k)}\) are prescribed

$$\begin{aligned} {\varvec{u}}^{(k)} = \bar{{\varvec{u}}}^{(k)} \qquad \text {on }\Gamma _D^{(k)} \end{aligned}$$
(13)

whereas tractions \(\bar{{\varvec{T}}}^{{(k)}}\) are applied to the Neumann boundaries \(\Gamma ^{(k)}_{N}\)

$$\begin{aligned} {\varvec{P}}^{(k)} {\varvec{N}}^{(k)} = \bar{{\varvec{T}}}^{(k)} \qquad \text {on }\Gamma _N^{(k)} \end{aligned}$$
(14)

with \({\varvec{N}}^{(k)}\) as the outward normal unit vector to \(\Gamma ^{(k)}_{N}\) in the reference configuration. On the contact surfaces it is

$$\begin{aligned} {\varvec{P}}^{(k)} {\varvec{N}}^{(k)} = {\varvec{T}}^{(k)} \qquad \text {on }\Gamma _C^{(k)}. \end{aligned}$$
(15)

Here \({\varvec{T}}^{(k)}\) denotes the contact Piola traction vectors, which are computed from the contact Cauchy traction vectors \({\varvec{t}}^{(k)}\) of Sect. 2.2 by accounting through (3) for the mapping from the current to the reference configuration.

2.4 Variational formulation

Based on the principle of virtual work, the finite deformation elasticity problem in variational form, expressed in the reference configuration, consists of finding \({\varvec{u}}^{(k)} \in \varvec{{\mathcal {U}}}^{(k)}\) such that for all \(\delta {\varvec{u}}^{(k)} \in \varvec{{\mathcal {V}}}^{(k)}\)

$$\begin{aligned} \begin{aligned} \sum _{k=1}^2&\left[ \underbrace{\int _{\Omega ^{(k)}}{\varvec{P}}^{(k)}:\nabla \delta {\varvec{u}}^{(k)}\,d\Omega }_{\delta W_{int}^{(k)}}\right. \\&\underbrace{-\int _{\Omega ^{(k)}}{\varvec{B}}^{(k)}\cdot \delta {\varvec{u}}^{(k)}\,d\Omega - \int _{\Gamma _{N}^{(k)}}\bar{{\varvec{T}}}^{(k)}\cdot \delta {\varvec{u}}^{(k)}\,d\Gamma }_{\delta W_{ext}^{(k)}} \\&\left. \underbrace{-\int _{\Gamma _{C}^{(k)}}{\varvec{T}}^{(k)}\cdot \delta {\varvec{u}}^{(k)}\,d\Gamma }_{\delta W_{C}^{(k)}}\right] = 0 \end{aligned} \end{aligned}$$
(16)

with the following definition for the approximation spaces

$$\begin{aligned} \begin{aligned}&\varvec{{\mathcal {U}}}^{(k)} = \{{\varvec{u}}^{(k)}|{\varvec{u}}^{(k)}\text { suff. regular},\, {\varvec{u}}^{(k)}|_{\Gamma ^{(k)}_D} = \bar{{\varvec{u}}}^{(k)}\}, \\&\varvec{{\mathcal {V}}}^{(k)} = \{\delta {\varvec{u}}|\delta {\varvec{u}}^{(k)}\text { suff. regular},\, \delta {\varvec{u}}^{(k)}|_{\Gamma ^{(k)}_D} = {\varvec{0}}\}. \end{aligned} \end{aligned}$$
(17)

where we do not further specify the regularity requirements here. Let us now focus on the contact contribution to the weak form,

$$\begin{aligned} \delta W_{C}=\sum _{k=1}^{2}\delta W_{C}^{(k)}=-\sum _{k=1}^{2}\int _{\Gamma _{C}^{(k)}}{\mathbf {T}}^{(k)}\cdot \delta {\mathbf {u}}^{(k)}d\Gamma \end{aligned}$$
(18)

In alternative than in the reference configuration, where in general \(\Gamma _{C}^{(1)}\ne \Gamma _{C}^{(2)}\), \(\delta W_{C}\) can also be expressed in the current configuration as follows

$$\begin{aligned} \delta W_C = -\int _{\gamma _C} {\varvec{t}}^{(2)} \cdot \delta \bar{{\varvec{x}}}^{(2)} d\gamma - \int _{\gamma _C} {\varvec{t}}^{(1)} \cdot \delta {\varvec{x}}^{(1)} d\gamma \end{aligned}$$
(19)

which exploits the coincidence of the contact surfaces in the current configuration noted earlier, \(\gamma _C^{(1)}=\gamma _C^{(2)}=\gamma _C\), and their pairing through closest-point projection.

Considering a conventional master-slave treatment of the contact surface, this expression can be further simplified using Eqs. (8), (5), (4) and the variation of the gap function \(\delta g^{(2)}_N = (\delta {\varvec{x}}^1 - \delta \bar{{\varvec{x}}}^2)\cdot \bar{{\varvec{n}}}^{(2)}\), resulting in

$$\begin{aligned} \delta W_C = \int _{\gamma _{C}} t_N \delta g_N d\gamma = \epsilon _N \int _{\gamma _{C}} g_N \delta g_N d\gamma . \end{aligned}$$
(20)

where we have used (7), defined \(t_N=t^{(2)}_N\) and \(g_N=g^{(2)}_N\), and removed the Macauley brackets under the assumption to have identified the (active) contact surface using a suitable active set strategy. Instead, with a two-half-pass treatment, the contact virtual work reads

$$\begin{aligned} \delta W_C = - \epsilon _N \int _{\gamma _{C}} g_N^{(1)} {\varvec{n}}^{(1)} \cdot \delta {\varvec{x}}^{(1)} d\gamma - \epsilon _N \int _{\gamma _{C}} g_N^{(2)} {\varvec{n}}^{(2)} \cdot \delta {\varvec{x}}^{(2)} d\gamma . \end{aligned}$$
(21)

which coincides with (19) combined with penalty regularization.

3 Isogeometric Galerkin and collocation methods

In this section, we first review the basics of B-spline and NURBS basis functions. Then we briefly illustrate isogeometric Galerkin and collocation methods including both bulk and contact discretization.

3.1 B-Spline and NURBS basis functions, collocation points

A B-spline basis of degree p is constructed based on a so-called knot vector, i.e. a non-decreasing sequence of real numbers \(\varvec{\Xi }=\{\xi _1,\xi _2,\dots ,\xi _{n+p+1}\}\), where each \(\xi _i\) is a knot and n denotes the number of basis functions of degree p. Throughout this paper, the knot vector is assumed to be open, which implies \(\xi _1 = \ldots = \xi _{p+1}\) and \(\xi _{n+1} = \ldots =\xi _{n+p+1}\). If a knot has multiplicity k, the continuity of the B-spline basis is \(C^{p-k}\) at that knot. The continuity is \(C^\infty \) in the interior of a knot span.

A common choice for the location of collocation points in isogeometric collocation are the Greville abscissae of the knot vectors. For a B-Spline basis of degree p the Greville abscissae are defined as

$$\begin{aligned} {\hat{\tau }}_i = \frac{1}{p} \sum _{j=i+1}^{i+p} \xi _j, \;\;\; i=1,\ldots ,n \end{aligned}$$
(22)

For multivariate discretizations, the Greville abscissae are obtained via the tensor product of (22) in the various parametric directions.

The univariate p-th degree B-Spline basis functions \(\{N_{i,p}\}_{i=1,\dots ,n}\) are defined by means of the Cox-de Boor recursion formula using the relations

$$\begin{aligned} N_{i,0}(\xi )&={\left\{ \begin{array}{ll} 1\quad \text {if}\quad \xi _i\le \xi < \xi _{i+1}, \\ 0\quad \text {otherwise,} \end{array}\right. } \end{aligned}$$
(23a)
$$\begin{aligned} N_{i,p}(\xi )&= \frac{\xi -\xi _i}{\xi _{i+p}-\xi _i}N_{i,p-1}(\xi )\nonumber \\&\quad + \frac{\xi _{i+p+1}-\xi }{\xi _{i+p+1}-\xi _{i+1}}N_{i+1,p-1}(\xi ). \end{aligned}$$
(23b)

and adopting the convention \(\frac{0}{0} = 0\).

Bivariate NURBS basis functions \(R_{i,j}\) of degrees p and q in the two parametric directions \(\xi \) and \(\eta \) with the corresponding weights \(w_{i,j}\) are defined by a product of the univariate B-spline basis functions \(N_{i,p}(\xi )\), \(M_{j,q}(\eta )\) as

$$\begin{aligned} R_{i,j}(\xi ,\eta ) = \frac{N_{i,p}(\xi )M_{j,q}(\eta )w_{i,j}}{\sum _{{\hat{i}}=1}^n \sum _{{\hat{j}}=1}^m N_{{\hat{i}},p}(\xi )M_{{\hat{j}},q}(\eta )w_{{\hat{i}},{\hat{j}}}}. \end{aligned}$$
(24)

A NURBS surface of degree pq can be expressed as a linear combination of control points \({\varvec{P}}_{i,j}\) with the corresponding basis functions \(R_{i,j}\) as

$$\begin{aligned} {\varvec{S}}(\xi ,\eta ) = \sum _{i=1}^n \sum _{j=1}^{m} R_{i,j}(\xi ,\eta ) {\varvec{P}}_{i,j}. \end{aligned}$$
(25)

3.2 Galerkin formulation

IGA, like FEM, is based on the discretization of the weak form (16). The unknown displacement fields \({\varvec{u}}^{(k)}\) are approximated as follows

$$\begin{aligned} {\varvec{u}}^{(k)}\approx {\varvec{u}}^{(k) h}=\sum _{a=1}^{N^{(k)}}R_{a}\hat{{\varvec{u}}}^{(k)}_{a}, \end{aligned}$$
(26)

where \(R_{a}\) are NURBS basis functions in IGA (as opposed to the Lagrange basis functions used in FEM) and \(\hat{{\varvec{u}}}^{(k)}_{a}\) are the \(N^{(k)} = n^{(k)}m^{(k)}\) unknown displacement control variables of body \({\mathcal {B}}^{(k)}\). The symbol \((\bullet )^h\) indicates discretized quantities. Note that, for convenience, we have summarized the two indices ij of (25) in a single running index a, with \(a = (j-1)n + i\). According to the Bubnov-Galerkin approach, the test functions (or virtual displacements) \(\delta {\varvec{u}}^{(k)}\) are discretized with the same ansatz:

$$\begin{aligned} \delta {\varvec{u}}^{(k)} \approx \delta {\varvec{u}}^{(k) h}=\sum _{a=1}^{N^{(k)}}R_{a}\delta \hat{{\varvec{u}}}^{(k)}_{a}. \end{aligned}$$
(27)

Upon substitution of (26) and (27) in (16), we obtain the IGA Galerkin formulation

$$\begin{aligned}&\sum _{k=1}^2 \left[ \int _{\Omega ^{(k)h}}{\varvec{P}}^{(k) h}:\nabla \delta {\varvec{u}}^{(k) h}\,d\Omega -\int _{\Omega ^{(k)h}}{\varvec{B}}^{(k)}\cdot \delta {\varvec{u}}^{(k) h}\,d\Omega \nonumber \right. \\&\left. \quad - \int _{\Gamma _{N}^{(k)h}}\bar{{\varvec{T}}}^{(k)}\cdot \delta {\varvec{u}}^{(k) h}\,d\Gamma \right] + \delta W_{C}^{h} = 0 \end{aligned}$$
(28)

with \(\delta W_{C}^{h} \) as the contact contribution to the discretized weak form. The Dirichlet boundary conditions on \(\Gamma ^{(k)}_D\) are enforced strongly in the final system of algebraic equations.

Let us now focus on \(\delta W_{C}^{h} \). The main difference between GPTS and PTS strategies is the choice of the quadrature rule. In GPTS, the integral(s) in Eq. (20) (for the standard master-slave treatment) or (21) (within a two-half-pass treatment) is/are computed with a standard Gaussian quadrature rule. This makes the approach easy to implement, but leads to a higher amount of evaluation points compared to collocation (pointwise) strategies. The contact patch test is satisfied up to the integration error for the standard master-slave, and to machine precision for the two-half-pass treatment.

PTS can be seen as GPTS with a reduced quadrature strategy. Instead of standard Gauss points, the quadrature points are here the Greville, Demko or Botella abscissae, which are equal in number to the control points. Hence, the amount of contact evaluations is reduced significantly, especially for higher-order discretizations. In the following we consider the Greville abscissae, since they coincide with the locations of the collocation points in the collocation-based contact approaches (see Sect. 4).

In the original paper on PTS [3], the quadrature weights were taken equal to the unity. An improved version based on weighted contributions and denoted as PTS+ was introduced in [4] and is adopted here (although we still refer to it as PTS for simplicity). Quadrature weights are computed by solving the following moment-fitting system of equations

$$\begin{aligned}&\underbrace{ \begin{bmatrix} \int _{{\hat{\Omega }}}N_1(\xi )d\xi \\ \int _{{\hat{\Omega }}}N_2(\xi )d\xi \\ \vdots \\ \int _{{\hat{\Omega }}}N_{n}(\xi )d\xi \end{bmatrix} }_{{{\varvec{F}}^{{\varvec{s}}}_{{\varvec{C}}}}} \nonumber \\&\quad = \underbrace{ \begin{bmatrix} N_1({{{\hat{\tau }}}}_1) &{} N_1({{{\hat{\tau }}}}_2) &{} N_1({{{\hat{\tau }}}}_3) &{} \dots &{} N_1({{{\hat{\tau }}}}_{n}) \\ N_2({{{\hat{\tau }}}}_1) &{} N_2({{{\hat{\tau }}}}_2) &{} N_2({{{\hat{\tau }}}}_3) &{} \dots &{} N_2({{{\hat{\tau }}}}_{n}) \\ \vdots &{} \vdots &{} \vdots &{} \ddots &{} \vdots \\ N_{n}({{{\hat{\tau }}}}_1) &{} N_{n}({{{\hat{\tau }}}}_2) &{} N_{n}({{{\hat{\tau }}}}_3) &{} \dots &{} N_{n}({{{\hat{\tau }}}}_{n}) \end{bmatrix} }_{{{\varvec{G}}}^{{\varvec{s}}}_{\varvec{mat}}} \underbrace{ \begin{bmatrix} {\hat{\omega }}_1 \\ {\hat{\omega }}_2 \\ \vdots \\ {\hat{\omega }}_{n} \end{bmatrix} }_{\hat{\varvec{\omega }}} \end{aligned}$$
(29)

with the univariate B-Spline basis functions \(N_i\) (of the slave contact surface) and the corresponding collocation points \({{{\hat{\tau }}}}_i\). The left-hand side contains the moments \({{\varvec{F}}^{{\varvec{s}}}_{{\varvec{C}}}}\), which are computed exactly using full Gauss quadrature, and the right-hand side the unknown weights \(\hat{\varvec{\omega }}\) and the basis function evaluations (at the corresponding collocation points) stored in \({{\varvec{G}}^{{\varvec{s}}}_{\varvec{mat}}}\). The quadrature weights are computed once at the beginning of the simulation by solving the linear system of equations for the unknown weights \(\hat{\varvec{\omega }}\).

In the original PTS / PTS+ approaches, the non-penetration condition in normal direction was enforced by the Lagrange multiplier method. Here, we combine the PTS+ approach with the penalty method to allow for a better comparison with the other contact formulations.

3.3 Isogeometric collocation

Unlike Galerkin formulations, isogeometric collocation approaches are based on solving the strong form of the boundary value problem, which is enforced at the chosen collocation points. As shown in [19, 20], isogeometric collocation can alternatively be introduced based on the variational formulation (16) upon integration by parts and discretization (assuming sufficient regularity, which can be achieved with isogeometric basis functions)

$$\begin{aligned} \begin{aligned} \sum _{k=1}^2&\left[ \int _{\Omega ^{(k)}}\left[ \nabla \cdot {\varvec{P}}^{(k)}+{\varvec{B}}^{(k)}\right] \cdot \delta {\varvec{u}}^{(k)}\,d\Omega \right. \\&\quad -\int _{{{\Gamma _{N}^{(k)}}}}\left[ {\varvec{P}}^{(k)}{\varvec{N}}^{(k)}-\bar{{\varvec{T}}}^{(k)}\right] \cdot \delta {\varvec{u}}^{(k)}\,d\Gamma \\&\quad \left. -\int _{\Gamma _{C}^{(k)}} \left[ {\varvec{P}}^{(k)}{\varvec{N}}^{(k)}-{\varvec{T}}^{(k)}\right] \cdot \delta {\varvec{u}}^{(k)}\,d\Gamma \right] =0. \end{aligned} \end{aligned}$$
(30)

which leads to the so-called weighted residual formulation (note that here and in the following we omit the superscript h for notational simplicity). The next step is to choose for the test functions \(\delta {\varvec{u}}^{(k)}\) no longer (27) but the Dirac delta distribution \(\delta ^D\), which can be formally constructed as the limit of a sequence of smooth functions with compact support that converge to a distribution [19, 20], and which satisfies the so-called sifting property, i.e.,

$$\begin{aligned}&\int _\Omega f_\Omega ({\varvec{X}})\delta ^D({\varvec{X}}-{\varvec{X}}_{i})\,d\Omega = f_\Omega ({\varvec{X}}_{i}),\nonumber \\&\int _\Gamma f_\Gamma ({\varvec{X}})\delta ^D({\varvec{X}}-{\varvec{X}}_{i})\,d\Gamma = f_\Gamma ({\varvec{X}}_{i}) \end{aligned}$$
(31)

for every function \(f_\Omega \) continuous about the point \({\varvec{X}}_{i} \in \Omega \) and for every function \(f_\Gamma \) continuous about the point \({\varvec{X}}_{i} \in \Gamma \) [18,19,20]. In the following, the Dirac delta is indicated as Dirac delta “function” following conventional terminology. The collocation points in parametric coordinates are denoted as \(\hat{\varvec{\tau }}_{ij}\), \(i=\left\{ 1,\ldots ,n\right\} \), \(j=\left\{ 1,\ldots ,m\right\} \) with \(i=1,n\) or \(j=1,m\) corresponding to the boundary \(\Gamma \). Once again we substitute the two indices ij with the single running index a and, for the collocation points \(\hat{\varvec{\tau }}_{a}\) in parametric coordinates, we denote the corresponding physical maps in the reference configuration as \(\varvec{\tau }_{a}\).

In isogeometric collocation, all test functions are chosen as Dirac delta functions centered at the interior and at the boundary collocation points. Applying the sifting properties of Eq. (31) to the weighted residual form (30) results in

$$\begin{aligned}&\left[ \nabla \cdot {\varvec{P}}^{(k)} +{\varvec{B}}^{(k)}\right] \left( \varvec{\tau }_{a}^{(k)}\right) ={\varvec{0}}\nonumber \\&\qquad \varvec{\tau }_{a}^{(k)}\subset \Omega ^{(k)}, \end{aligned}$$
(32a)
$$\begin{aligned}&\left[ {\varvec{P}}^{(k)} {\varvec{N}}^{(k)} -\bar{{\varvec{T}}}^{(k)} \right] \left( \varvec{\tau }_{a}^{(k)}\right) ={\varvec{0}}\nonumber \\&\qquad \varvec{\tau }_{a}^{(k)}\subset \mathrm {edge}^{(k)} \subset \Gamma _{N}^{(k)}, \end{aligned}$$
(32b)
$$\begin{aligned}&\left[ {\varvec{P}}^{(k)} \left( {\varvec{N}}^{'(k)} + {\varvec{N}}^{''(k)} \right) - \left( \bar{{\varvec{T}}}^{'(k)} +{\bar{\varvec{T}}}^{''(k)} \right) \right] \left( \varvec{\tau }_{a}^{(k)}\right) ={\varvec{0}}\nonumber \\&\qquad \varvec{\tau }_{a}^{(k)}\equiv \mathrm {corner}^{(k)} \subset \Gamma _{N}^{(k)} , \end{aligned}$$
(32c)
$$\begin{aligned}&\left[ {\varvec{P}}^{(k)}{\varvec{N}}^{(k)}-{\varvec{T}}^{(k)}\right] \left( \varvec{\tau }_{a}^{(k)}\right) ={\varvec{0}}\nonumber \\&\qquad \varvec{\tau }_{a}^{(k)}\subset \mathrm {edge}^{\mathrm{(k)}}\subset \Gamma _{C}^{(k)}, \end{aligned}$$
(32d)
$$\begin{aligned}&\left[ {\varvec{P}}^{(k)} \left( {\varvec{N}}^{'(k)}+ {\varvec{N}}^{''(k)} \right) - \left( {\varvec{T}}^{'(k)}+{\varvec{T}}^{''(k)}\right) \right] \left( \varvec{\tau }_{a}^{(k)}\right) ={\varvec{0}}\nonumber \\&\qquad \varvec{\tau }_{a}^{(k)}\equiv \mathrm {corner}^{\mathrm{(k)}}\subset \Gamma _{C}^{(k)}. \end{aligned}$$
(32e)

where the symbols \((\bullet )'\) and \((\bullet )''\) refer to the two adjacent edges meeting at a corner point. The different treatment for collocation points on edges and at corners is taken from [19, 20, 22, 23].

Fig. 2
figure 2

Schematic representation of the isogeometric CCS approach. Discretization of each body with \(10 \times 5\) elements of polynomial degree \(p=3\)

Thus, at the interior collocation points we obtain the strong form of the governing equations in the interior of the domain, whereas we recover the strong form of the Neumann boundary conditions and of the contact conditions at the collocation points located at the Neumann and at the contact boundary, respectively [23]. The Dirichlet boundary conditions are enforced strongly.

As shown in [22], the strong imposition of Neumann boundary conditions may lead to oscillations and thus to a loss of accuracy, in particular when non-uniform meshes are used. One possible remedy was introduced in [22] with the so-called enhanced collocation (EC) approach. The idea is to consider a combination of area and edge terms for the Neumann boundary conditions as follows

$$\begin{aligned}&\left[ \nabla \cdot {\varvec{P}}^{(k)}+{\varvec{B}}^{(k)}\right] \left( \varvec{\tau }_{a}^{(k)}\right) \nonumber \\&\qquad \varvec{\tau }_{a}^{(k)}\subset \mathrm {edge}^{(k)}\subset \Gamma _{N}^{(k)}, \nonumber \\&\quad -\frac{C^{*}}{h^{(k)}}\left[ {\varvec{P}}^{(k)}{\varvec{N}}^{(k)}-\bar{{\varvec{T}}}^{(k)}\right] \left( \varvec{\tau }_{a}^{(k)}\right) ={\varvec{0}} \end{aligned}$$
(33a)
$$\begin{aligned}&\left[ \nabla \cdot {\varvec{P}}^{(k)}+{\varvec{B}}^{(k)}\right] \left( \varvec{\tau }_{a}^{(k)}\right) \nonumber \\&\qquad \varvec{\tau }_{a}^{(k)}\equiv \mathrm {corner}^{(k)}\subset \Gamma _{N}^{(k)},\nonumber \\&\quad -\frac{C^{*}}{h^{'(k)}}\left[ {\varvec{P}}^{(k)} {\varvec{N}}^{'(k)} - \bar{{\varvec{T}}}^{'(k)} \right] \left( \varvec{\tau }_{a}^{(k)}\right) \nonumber \\&\quad -\frac{C^{*}}{h^{''(k)}}\left[ {\varvec{P}}^{(k)} {\varvec{N}}^{''(k)} - \bar{{\varvec{T}}}^{''(k)} \right] \left( \varvec{\tau }_{a}^{(k)}\right) = {\varvec{0}} \end{aligned}$$
(33b)

where h is the mesh size in the direction perpendicular to the edge. This approach requires a suitable choice for the constant \(C^{*}\) in Eq. (33). In [22], \(C^{*}\) was calibrated through numerical experiments and an optimal value of \(C^{*}=4\) was found, which will also be used here. The EC approach is analogously applicable to the contact boundary, as already tested in [23].

4 Isogeometric collocated contact surface approach

The idea of the CCS approach is to combine a contact formulation based on isogeometric collocation with a Galerkin treatment of the bulk, as sketched in Fig. 2. From the sketch it can be inferred that the proposed approach leads to a number of contact evaluation points significantly reduced compared to an integral contact formulation based e.g. on a standard Gaussian quadrature rule (like the GPTS approach), and equal to the number of evaluation points of pointwise contact formulations (like the PTS approach).

The hybrid discretization of the CCS approach is obtained by adopting as test functions:

  • NURBS functions for the degrees of freedom corresponding to control points at the interior of the domain or at the Neumann boundaries;

  • Dirac delta functions centered at the appropriate collocation points for the degrees of freedom corresponding to control points at the contact boundaries.

The resulting expression of the test functions reads

$$\begin{aligned} \delta {\mathbf {u}}^{(k)}\left( {\mathbf {X}}\right) \approx \sum _{a=1}^{g^{(k)}}R_{a}\left( {\mathbf {X}}\right) \delta \hat{{\mathbf {u}}}_{a}^{(k)}+\sum _{a=g^{(k)}+1}^{N^{(k)}}\delta ^D\left( {\mathbf {X}}-\varvec{\tau }_{a}\right) \delta \hat{{\mathbf {u}}}_{a}^{(k)} \end{aligned}$$
(34)

For notational simplicity and without loss of generality, we renumbered the control point variables in such a way that the first \(g^{(k)}\) are related to the interior and the Neumann boundary, whereas the last \(N^{(k)}-g^{(k)}\) are related to the contact boundary. Substitution in the weighted residual formulation (30) yields

$$\begin{aligned}&\sum _{k=1}^{2}\left\{ \sum _{a=1}^{g^{(k)}}\left[ \delta \hat{{\mathbf {u}}}_{a}^{(k)}\cdot \int _{\Omega ^{(k)}}\left( \nabla \cdot {\varvec{P}}^{(k)}+{\mathbf {B}}^{(k)}\right) R_{a}d\varOmega \right. \right. \nonumber \\&\quad -\delta \hat{{\mathbf {u}}}_{a}^{(k)}\cdot \int _{\Gamma _{N}^{(k)}}\left( {\varvec{P}}^{(k)}{\varvec{N}}^{(k)}-\bar{{\mathbf {T}}}^{(k)}\right) R_{a}d\Gamma \nonumber \\&\quad \left. -\delta \hat{{\mathbf {u}}}_{a}^{(k)}\cdot \int _{\Gamma _{C}^{(k)}}\left( {\varvec{P}}^{(k)}{\varvec{N}}^{(k)}-{\mathbf {T}}^{(k)}\right) R_{a}d\Gamma \right] \nonumber \\&\quad +\sum _{a=g^{(k)}+1}^{N^{(k)}}\left[ \delta \hat{{\mathbf {u}}}_{a}^{(k)}\cdot \int _{\Omega ^{(k)}}\left( \nabla \cdot {\varvec{P}}^{(k)}+{\mathbf {B}}^{(k)}\right) \delta ^D\left( {\mathbf {X}}-\varvec{\tau }_{a}\right) d\varOmega \right. \nonumber \\&\quad -\delta \hat{{\mathbf {u}}}_{a}^{(k)}\cdot \int _{\Gamma _{N}^{(k)}}\left( {\varvec{P}}^{(k)}{\varvec{N}}^{(k)}-\bar{{\mathbf {T}}}^{(k)}\right) \delta ^D\left( {\mathbf {X}}-\varvec{\tau }_{a}\right) d\Gamma \nonumber \\&\quad \left. \left. -\delta \hat{{\mathbf {u}}}_{a}^{(k)}\cdot \int _{\Gamma _{C}^{(k)}}\left( {\varvec{P}}^{(k)}{\varvec{N}}^{(k)}-{\mathbf {T}}^{(k)}\right) \delta ^D\left( {\mathbf {X}}-\varvec{\tau }_{a}\right) d\Gamma \right] \right\} = 0 \nonumber \\ \end{aligned}$$
(35)

Since \(R_{a}\) for \(a=1,\ldots ,g^{(k)}+1\) vanish on \(\Gamma _{C}^{(k)}\) and since \(\varvec{\tau }_{a}\) for \(a=g^{(k)}+1,\ldots ,N^{(k)}\) are located on \(\Gamma _{C}^{(k)}\), the above discretized weighted residual form reduces to

$$\begin{aligned}&\sum _{k=1}^{2}\left\{ \sum _{a=1}^{g^{(k)}}\left[ \delta \hat{{\mathbf {u}}}_{a}^{(k)}\cdot \int _{\Omega ^{(k)}}\left( \nabla \cdot {\varvec{P}}^{(k)}+{\mathbf {B}}^{(k)}\right) R_{a}d\varOmega \right. \right. \nonumber \\&\quad \left. -\delta \hat{{\mathbf {u}}}_{a}^{(k)}\cdot \int _{\Gamma _{N}^{(k)}}\left( {\varvec{P}}^{(k)}{\varvec{N}}^{(k)}-\bar{{\mathbf {T}}}^{(k)}\right) R_{a}d\Gamma \right] \nonumber \\&\quad -\sum _{a=g^{(k)}+1}^{N^{(k)}}\delta \hat{{\mathbf {u}}}_{a}^{(k)}\nonumber \\&\left. \quad \cdot \int _{\Gamma _{C}^{(k)}}\left( {\varvec{P}}^{(k)}{\varvec{N}}^{(k)}-{\mathbf {T}}^{(k)}\right) \delta ^D\left( {\mathbf {X}}-\varvec{\tau }_{a}\right) d\Gamma \right\} = 0 \end{aligned}$$
(36)

In Eq. (36), the integrals in the first row can be integrated by parts, delivering the “usual” Galerkin contributions to the residual vector (and, upon linearization, to the tangent stiffness matrix), whereas the integral in the second row, due to the sifting property in Eq. (31)\(_2\), delivers the collocated contact contributions. With this approach, which is reminiscent of (but different from) the hybrid collocation-Galerkin treatment in [22], a Galerkin formulation for the interior and the Neumann boundaries and a collocated formulation for the contact boundaries are naturally obtained. It was shown in [22, 23] that in the framework of isogeometric collocation a simple pointwise contact treatment combined with the two-half-pass algorithm and the penalty method passes the patch test to machine precision and delivers accurate results. Hence, the CCS approach is expected to inherit these performance features, while keeping the flexibility and accuracy of Galerkin for the bulk behavior.

Fig. 3
figure 3

Schematic representation of the implementation procedure of the CCS approach

The implementation strategy to endow a standard IGA Galerkin formulation with the CCS approach is illustrated in Fig. 3. From an operational standpoint, the incorporation into a pre-existing IGA Galerkin code is straightforward. This code is first used to calculate the global stiffness matrix and residual vector for both bodies with the standard Galerkin formulation, not taking into account the contact boundaries. Afterwards all test functions having support on the contact boundaries \(\Gamma _C^{(k)}\) and their global indices have to be identified. Subsequently the rows of the stiffness matrix and residual vector corresponding to these indices are completely substituted by the collocation based contact contributions computed as in (32)d,e. This substitution is easily carried out directly in the final system of linear equations, with no need for manipulations at the element level of the Galerkin code.

It is evident that the incorporation of the collocation contact formulation is very similar and equivalently simple as the treatment of Dirichlet boundary conditions. For frictionless contact, a drawback of the approach is the loss of symmetry of the tangent stiffness matrix. However, this is no longer an issue in the more realistic situation of frictional contact, in which the tangent stiffness matrix is asymmetric in all cases. In case of inactive contact, the collocation-based contact formulation automatically enforces homogeneous Neumann boundary conditions, hence there is no need for segmentation of the contact surfaces.

5 Numerical examples

In the previous sections, several contact approaches were introduced. For ease of reference, their main features are summarized in Table 1, where the proposed CCS approach is also included. In this section we consider four different numerical examples to investigate the performance of the proposed CCS approach in comparison with that of the other approaches. We consider here two-dimensional problems under plane strain conditions.

Table 1 Overview of the considered contact algorithms

5.1 Contact patch test

The first numerical example consists of the so-called contact patch test, proposed by Taylor and Papadopoulos in [5]. The main objective of this setup is to test the capability of a contact formulation to transfer a constant contact pressure across the interface between two bodies discretized with non-conforming meshes. The geometry, boundary conditions and simulation parameters are depicted in Fig. 4. The two blocks are pressed onto each other with a uniform pressure \({\bar{p}} = 0.01\), which is applied within one loadstep. Symmetry boundary conditions are applied on the left vertical edges of both blocks. The bottom boundary of the lower block is fixed in vertical direction and homogeneous Neumann boundary conditions are applied in horizontal direction. Since the considered deformations are comparatively small, linear elasticity is assumed for this example.

Fig. 4
figure 4

Contact patch test: Geometry, boundary conditions and simulation setup

The resulting errors of the stress component \(\sigma _{yy}\) are shown in Figs. 5 and 6. Figure 5 contains the error plots for the newly proposed CCS and ECCS approaches. For comparison, results of the corresponding full collocation (C and EC) approaches are also shown. As expected, all four methods fulfil the contact patch test to machine precision, i.e. the collocated contact formulation in CCS and ECCS preserves the properties of the same formulation in a fully collocated context [2]. For this case featuring nearly homogeneous meshes, EC and ECCS perform nearly identically to C and CCS.

Figure 6 displays the error plots for the GPTS and PTS approaches. It is known from the literature (see e.g. [2]), that the GPTS approach is only able to fulfil the contact patch test up to the integration error. This is confirmed by the results in Fig. 6. The extension to a two-half-pass formulation brings the error down to machine precision. The PTS formulation leads to a higher error than with the GPTS approach. The two-half-pass extension significantly improves the results, but does not reach machine precision, as expected for a pointwise approach (despite the enhancement of weight computation in [4]).

Fig. 5
figure 5

Contact patch test: Error of stress \(\sigma _{yy}\) for the proposed collocated contact surface approaches (CCS & ECCS), collocation (C) and enhanced collocation (EC)

Fig. 6
figure 6

Contact patch test: Error of stress \(\sigma _{yy}\) for the Gauss-point-to-segment (GPTS) and Point-to-segment (PTS) approaches and the corresponding two-half-pass (2hp) formulations

5.2 Two deformable blocks

In the following numerical example, which was initially presented in [22], two deformable blocks are pressed against each other. Geometry, boundary conditions and further simulation parameters are illustrated in Fig. 7. A uniform vertical displacement \({\bar{v}} = 0.2\) and zero horizontal displacement are enforced on the upper edge of the upper block. Although the assumption of small deformations is clearly violated in this example, we adopt a linearly elastic material model to adhere to the original simulation setup [22].

Fig. 7
figure 7

Two deformable blocks: Geometry, boundary conditions and simulation setup

Two different discretizations are tested in order to study the effect of the element aspect ratio on the results. The first discretization consists of \(10\times 15\) control points for each body. Hence, the element size is larger in the horizontal direction, i.e. in the direction perpendicular to the vertical edges of the blocks where homogeneous Neumann boundary conditions are applied. In [22] this element shape was found to lead to oscillations with the pure collocation scheme.

The resulting plots of the stress component \(\sigma _{yy}\) for this discretization are given in Figs. 8 and 9. Figure 8 contains the results for the C, EC and the proposed CCS and ECCS approaches. Strong oscillations appear with pure collocation (C). The EC approach successfully suppresses these oscillations, which it was intended for. Interestingly, the proposed CCS approach is also free of oscillations, probably due to its Galerkin treatment of the Neumann boundary conditions. Thus its enhancement as in ECCS - although performing well - is not required.

The plots of the stress component \(\sigma _{yy}\) for the GPTS and PTS approaches are given in Fig. 9. As expected, for these approaches no oscillations are obtained. The stress plots of all the different approaches (except for pure collocation) look similar, despite the coarse discretization.

In Figs. 10 and 11 the stress component \(\sigma _{yy}\) is plotted for a finer discretization (\(25\times 10\) control points per body) and an aspect ratio of the elements closer to the unity than in the previous discretization. Here, also the pure collocation approach does not lead to oscillations. Interestingly, a mild checkerboard pattern appears in the contact region for the PTS approach. This effect vanishes for the corresponding two-half-pass formulation. With this exception, the obtained results are nearly identical for all methods.

Fig. 8
figure 8

Two deformable blocks: Stress \(\sigma _{yy}\) for the proposed collocated contact surface approaches (CCS & ECCS), collocation (C) and enhanced collocation (EC). Discretization of each body with \(10 \times 15\) control points

Fig. 9
figure 9

Two deformable blocks: Stress \(\sigma _{yy}\) for the Gauss-point-to-segment (GPTS) and Point-to-segment (PTS) approaches and the corresponding two-half-pass (2hp) formulations. Discretization of each body with \(10 \times 15\) control points

Fig. 10
figure 10

Two deformable blocks: Stress \(\sigma _{yy}\) for the proposed collocated contact surface approaches (CCS & ECCS), collocation (C) and enhanced collocation (EC). Discretization of each body with \(25 \times 10\) control points

Fig. 11
figure 11

Two deformable blocks: Stress \(\sigma _{yy}\) for the Gauss-point-to-segment (GPTS) and Point-to-segment (PTS) approaches and the corresponding two-half-pass (2hp) formulations. Discretization of each body with \(25 \times 10\) control points

5.3 Hertzian contact

As a further example, the classical Hertz frictionless contact problem between a cylinder and a rigid plane is investigated. The geometry, boundary conditions and further simulation parameters are given in Fig. 12. Due to the tensor product structure of the NURBS basis functions, it is necessary to model the cylinder with a small inner radius as depicted in Fig. 12. The cylinder is loaded with a vertical force P = 0.002 applied as a uniformly distributed load \({\bar{p}}\) on the upper surface of the cylinder and symmetry conditions are applied to the left edge. The discretization of the cylinder is refined close to the contact region by using non-uniform knot vectors such that \(80\%\) of the elements are located within \(10\%\) of the total length of the knot vector in both parametric directions.

A coarse and a fine mesh are tested for four different polynomial orders to study the effect of the discretization on the results. The load is applied within one loadstep. To ensure validity of the Hertz theory, linear elasticity is assumed.

Fig. 12
figure 12

Hertzian contact: Geometry, boundary conditions and simulation setup

Fig. 13
figure 13

Hertzian contact: Contact pressure for discretization with \(25\times 25\) Bézier elements and polynomial degree \(p=2,3,4,5\)

For the considered discretizations, the dimensionless contact pressure \(p/p_0\) is plotted versus the dimensionless coordinate x/a in Figs. 13 and 14, with a and \(p_0\) being the half-width of the contact area and the maximum normal pressure, respectively. Although the chosen setup does not exactly correspond to the original Hertz model, the resulting error is negligible provided that the applied load is relatively small. The half-width of the contact area is calculated by the expression \(a=\sqrt{\frac{4P}{\pi E'}}\) with \(E'=\frac{E}{1-\nu }\) and the maximum normal pressure \(p_0\) is estimated by the formula \(p_0=\frac{2P}{\pi a}\). For the given setup this leads to values of \(a=0.0481\) and \(p_0=0.0264\). There exist procedures for the reconstruction of the contact pressures, which are able to reduce occurring oscillations in a post-processing step. Since we are mainly interested in the comparison of the different contact formulations, we reconstruct the contact pressures directly from the tractions to give an unaltered account of the performance of the tested approaches.

The results for the coarse discretization are given in Fig. 13 along with the reference solution. Already for the coarse discretization, all obtained results are in good agreement with the reference solution. For the lowest polynomial degree, the results of the C and EC approaches show slight deviations. In the case of EC, these slight deviations vanish for the higher polynomial degrees, but they persist for the pure collocation approach. The newly proposed CCS approach is not affected by these deviations, which suggests that they may be an artefact of the incorporation of the boundary conditions and not induced by the contact formulation.

Figure 14 shows the results for the fine discretization, which are now nearly indistinguishable and extremely close to the analytical solution. The non-physical negative contact pressures which appear for all tested approaches close to the boundary of the contact region could be removed by a suitable post-processing scheme and are not related to a specific contact formulation. They are rather inherent to the use of higher-order basis functions and are a known phenomenon for both finite element and isogeometric discretizations [2].

Fig. 14
figure 14

Hertzian contact: Contact stress distribution for discretization with \(50\times 50\) Bézier elements and polynomial degree \(p=2,3,4,5\)

Fig. 15
figure 15

Ironing: Geometry, boundary conditions and simulation setup

5.4 Ironing

Finally, a frictionless ironing problem is studied. The setup is similar to the one described in [29]. A half-cylinder is pressed into an elastic block (vertical downward displacement \({\bar{v}}=\frac{2}{3}\) of upper face of the cylinder) and subsequently moved horizontally across the block (horizontal displacement \({\bar{u}}=6\)). As for the Hertz problem, the half-cylinder is modeled with a small inner radius. The block is fixed on the bottom side and periodic boundary conditions are applied on the left and right sides. Both bodies are modeled as Neo-Hookean solids with the strain energy density function given in Sect. 2.1.

In this example, in very rare cases the Newton-Raphson method was not converging, due to the residual alternating between two values in consecutive iterations (a phenomenon known as “jamming” or “zig-zagging” in the literature). In order to avoid non-converged solutions, a bisection control for the load increments was applied, so that in case of non-convergence the load increment was bisected within the corresponding loadstep.

In Fig. 16 the vertical reaction forces are plotted. Despite the relatively coarse discretization, the curves obtained with the different algorithms are nearly indistinguishable. This test shows that the CCS approach also works well in the large deformation setting.

Figure 17 shows the trace of the Cauchy stress \(tr(\varvec{\sigma })\) for CCS and ECCS along with those for GPTS and the corresponding two-half-pass formulation. There are no visible differences between the plots, which further confirms the good performance of the proposed approach.

Fig. 16
figure 16

Ironing: Vertical reaction forces for discretization with \(80\times 20\) Bézier elements and polynomial degree \(p=3\)

Fig. 17
figure 17

Ironing: Plots of the trace of the Cauchy stress \(tr(\varvec{\sigma })\) at the end of the vertical loading phase for the proposed collocated contact surface approaches (CCS & ECCS), Gauss-point-to-segment (GPTS) and the corresponding two-half-pass (2hp) formulation. Discretization of each body with \(80\times 20\) Bézier elements and polynomial degree \(p=3\)

6 Conclusions

We proposed a novel hybrid discretization approach for computational contact mechanics, denoted as isogeometric Collocated Contact Surface (CCS) approach. The basic idea is to deploy the standard IGA Galerkin formulation for the bulk of deformable bodies, and to combine it with a contact formulation based on isogeometric collocation. The formulation was tested for the frictionless two-dimensionless case in both small and large deformations. Its main features, in comparison with available contact formulations, can be summarized as follows:

  • The CCS approach is based on a simple pointwise enforcement of the contact constraints. Unlike pointwise contact algorithms in the Galerkin framework, it passes the contact patch test to machine precision by naturally exploiting the favorable properties of isogeometric collocation;

  • Compared with approaches where the discretization of both bulk and contact surfaces is based on collocation, the CCS approach does not need enhancements to remove oscillations for highly non-uniform meshes. Moreover, it enjoys the flexibility and robustness of the Galerkin framework in the bulk discretization;

  • Compared with integral contact approaches such as Gauss-point-to-segment or mortar methods, the CCS algorithm is less expensive, due to the reduced amount of contact evaluation points;

  • The CCS approach is easy to code, and can be added to a pre-existing isogeometric analysis code with minimal effort;

  • For frictionless contact, a drawback of the approach is the lack of symmetry of the contact contribution to the tangent stiffness matrix. However, this is no longer an issue in the more realistic situation of frictional contact, in which the tangent stiffness matrix is asymmetric in all cases.