Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Now we shall extend the results introduced in the previous chapter to the solution of multibody contact problems of elasticity without friction. We shall restrict our attention to the problems of linear elasticity, i.e., we shall assume small deformations and linear stress-strain relations. Moreover, we shall be interested mainly in computationally challenging 3D problems.

The presentation of TFETI for the solution of frictionless contact problems is very similar to the presentation of TFETI for the solution of scalar variational inequalities in the previous chapter. The main difference, apart from more complicated formulae and kernel spaces, is in the discretization of linearized non-penetration conditions. Here we shall restrict our attention to the most simple node-to-node non-penetration conditions, leaving the discussion of more sophisticated biorthogonal mortars to Chap. 15.

The FETI-type domain decomposition methods comply well with the structure of contact problems, the description of which enhances the decomposition into the subdomains defined by the bodies involved in the problem. Notice that if we decompose the bodies into subdomains, we can view the result as a new multibody problem to find the equilibrium of a system of bodies that are possibly glued and do not penetrate each other. The FETI methods treat each domain separately, which can be effectively exploited in a parallel implementation. Moreover, the algorithm treats very efficiently the “floating” bodies, the Dirichlet boundary conditions of which admit a rigid body motion. A unique feature of FETI is the existence of a projector to the coarse space the complement of which contains the solution. Thus even though the presented methods were developed primarily for the parallel implementation, they are also effective in a sequential implementation.

The basic TFETI-based algorithms presented here can use effectively tens of thousands of cores to solve both coercive and semicoercive contact problems decomposed into tens of thousands of subdomains and discretized by billions of nodal variables. For larger problems, the initialization of the iterative solving procedure, in particular the projectors, starts to dominate the costs. Some modification for emerging exascale technologies are described in Chap. 19.

1 Linearized Non-penetration Conditions

Let a system of bodies in a reference configuration occupy open bounded domains \(\varOmega ^1, \dots , \varOmega ^s\subset \mathbb {R}^3\) with the Lipchitz boundaries \(\varGamma ^1, \dots ,\varGamma ^s\). Suppose that some \(\varGamma ^p\) comprises a part \(\varGamma ^{pq}_C\subseteq \varGamma ^p\) that can get into contact with \(\overline{\varOmega }^q\) as in Fig. 11.1. We assume that \(\varGamma ^p_C\) is sufficiently smooth, so that there is a well-defined outer unit normal \(\mathbf {n}^p(\mathbf {x})\) at almost each point \(\mathbf {x}\in \varGamma _C^p\).

Fig. 11.1
figure 1

Two-body contact problem

After the deformation, each point \(\mathbf {x}\in \varOmega ^p\cup \varGamma ^p\) is transformed into

$$\mathbf {y}^p(\mathbf {x})=\mathbf {x}^p+\mathbf {u}^p(\mathbf {x}), $$

where \(\mathbf {u}^p=\mathbf {u}^p(\mathbf {x}^p)\) is the displacement vector which defines the deformation of \(\varOmega ^p\). The mapping \(\mathbf {y}^p: \overline{\varOmega }^p\rightarrow \mathbb {R}^3\) is injective and continuous. The non-penetration condition requires

$$\mathbf {x}^p\in \varGamma _C^p \ \ \Rightarrow \ \ \mathbf {x}^p+\mathbf {u}^p(\mathbf {x}^p) \notin \varOmega ^q, \quad q\in \{1, \dots , s\}, \quad p\ne q,. $$

It is difficult to enhance the latter condition into an effective computational scheme, so we shall replace it by linearized relations. From each couple \(\{p,q\}\) which identify \(\varGamma ^{pq}_C\ne \emptyset \), we choose one index to identify the slave side of a possible contact interface. This choice defines the contact coupling set \({\mathscr {S}}\) of all ordered couples of indices the first component of which refers to the nonempty slave side of the corresponding contact interface. For each \((p,q)\in {\mathscr {S}}\), we then define a one-to-one continuous mapping

$$\chi ^{pq}: \varGamma ^{pq}_C \rightarrow \varGamma ^{qp}_C $$

which assigns to each \({\mathbf {x}} \in \varGamma ^{pq}_C\) a point of the master side \(\varGamma ^{qp}_C\subseteq \varGamma ^q_C\) that is assumed to be after the deformation near to \(\mathbf {x}\), as in Fig. 11.2. The (strong) linearized non-penetration condition then reads

$$\begin{aligned} \bigl ({\mathbf {u}^p}(\mathbf {x}) - \mathbf {u}^q\circ \chi ^{pq}(\mathbf {x})\bigr )\cdot \mathbf {n}^p(\mathbf {x}) \le \bigl (\chi ^{pq}(\mathbf {x})- \mathbf {x}\bigr )\cdot \mathbf {n}^p(\mathbf {x}),\ \ \mathbf { x} \in \varGamma ^{pq}_C,\ \ (p,q)\in {\mathscr {S}}, \end{aligned}$$
(11.1)

where \(\mathbf {n}^p\) is an approximation of the outer unit normal to \(\varGamma ^p\) after the deformation.

Fig. 11.2
figure 2

Linearized non-penetration

The linearized condition is exact if \(\mathbf {n}^p=\mathbf {n}^p(\mathbf {x})\) is orthogonal to \(\varGamma ^{pq}_C\) in the deformed state and the vector \(\chi ^{pq}(\mathbf {x})-\mathbf {x}\) moves into the position which is parallel with \(\mathbf {n}^p\). This observation can be used to develop an iterative improvement for enforcing the non-penetration condition. See also the discussions in the books by Kikuchi and Oden [1], Laursen [2], or Wriggers [3].

2 Equilibrium of a System of Elastic Bodies in Contact

Having described the non-penetration condition, let us switch to the conditions of equilibrium of a system of bodies \(\varOmega ^1, \dots , \varOmega ^s\). Let each \(\varGamma ^p\), \(p=1,\dots ,s\), consists of three disjoint parts \(\varGamma ^p_U\), \(\varGamma ^p_F\), and \(\varGamma ^{p}_C\), \(\varGamma ^p = \overline{\varGamma }^p_U \cup \overline{\varGamma }^p_F \cup \overline{\varGamma }^{p}_C\), and let the volume forces \(\mathbf {f}^p: \varOmega ^p\rightarrow \mathbb {R}^3\), zero boundary displacements \(\mathbf {u}^p_{\varGamma }: \varGamma _U^p\rightarrow \{\mathbf {o}\}\), and the boundary traction \(\mathbf {f}^p_{\varGamma }:\varGamma _F^p \rightarrow \mathbb {R}^3\) be given. We admit \(\varGamma ^p_U=\emptyset \), but in this case we assume some additional restrictions to guarantee that a solution exists. To enhance the contact with a rigid obstacle, we admit the bodies with a priori defined zero displacements. In this case, only the contact boundary of such bodies is relevant in our considerations.

Let us choose a contact coupling set \({\mathscr {S}}\), so that for each \((p,q)\in {\mathscr {S}}\), \(\varGamma ^{pq}_C\) denotes the part of \(\varGamma ^p_C\) which can get into contact with \(\varGamma ^q\), and let us define a one-to-one continuous mapping \(\chi ^{pq}:\varGamma ^{pq}_C\rightarrow \varGamma ^{qp}_C\) onto the part \(\varGamma ^{qp}\) of \(\varGamma ^q\) which can come into contact with \(\varGamma ^p\). Thus

$$\begin{aligned} \overline{\varGamma }^p_C=\cup _{(p,r)\in {\mathscr {S}}}\overline{\varGamma }^{pr}_C \quad \mathrm {and} \quad \overline{\varGamma }^q_C=\cup _{(r,q)\in {\mathscr {S}}}\overline{\varGamma }^{rq}_C. \end{aligned}$$

Let \(\mathbf {v}^p:\varOmega ^p\cup \varGamma ^p\rightarrow \mathbb {R}^3, \ p=1, \dots , s\), denote a sufficiently smooth mapping, so that the related concepts are well defined, and denote

$$\mathbf {v}=(\mathbf {v}^1, \dots , \mathbf {v}^s), \qquad \varOmega =\varOmega ^1\cup \dots \varOmega ^s. $$

Notice that if \(\mathbf {x}\in \varOmega \), then there is a unique \(p=p(\mathbf {x})\) such that \(\mathbf {x}\in \varOmega ^p\), so we can define

$$\mathbf {v}(\mathbf {x})=\mathbf {v}^{p(\mathbf {x})}(\mathbf {x})\quad \mathrm {for} \quad \mathbf {x}\in \varOmega . $$

We assume that the small strain assumption is satisfied, so that the strain–displacement relations are defined for any \(\mathbf {x}\in \varOmega \) by Cauchy’s small strain tensor

$${\mathsf {\varepsilon }}(\mathbf {v})(\mathbf {x})={\mathsf {\varepsilon }}(\mathbf {v}) =1/2\left( \nabla \mathbf {v}+(\nabla \mathbf {v})^T\right) $$

with the components

$$\begin{aligned} e_{ij}(\mathbf {v}) = \frac{1}{2}\left( \frac{\partial v_j}{\partial x_i} + \frac{\partial v_i}{\partial x_j}\right) , \quad i,j=1,2,3. \end{aligned}$$
(11.2)

For simplicity, we assume that the bodies are made of an isotropic linear elastic material so that the constitutive equation for the Cauchy stress tensor is given in terms of the fourth-order Hooke elasticity tensor \({\mathsf {C}}\) by

(11.3)

where \(\lambda >0\) and \(\mu >0\) are the Lamé parameters which are assumed to be constant in each subdomain \(\varOmega ^p\), \(p=1,\dots , s\). The Lamé coefficients can be easily calculated by means of the Poisson ratio \(\nu \) and Young’s modulus E using

$$\lambda =\frac{E\nu }{(1+\nu )(1-2\nu )}, \qquad \mu =\frac{E}{2(1+\nu )}, $$

so the components of the elasticity tensor are given by

$$\begin{aligned} C_{ijk\ell } = \frac{E}{1+\nu }\left( \frac{\nu }{1-2\nu } \delta _{ij}\delta _{k\ell }+\delta _{ik}\delta _{j\ell }\right) , \quad i,j,k,\ell =1,2,3. \end{aligned}$$
(11.4)

The components of the stress tensor are given by

$$ \sigma _{ij}(\mathbf {v}) = \sum _{k,\ell =1}^3 C_{ijk\ell }\, e_{k\ell }(\mathbf {v}),\qquad i,j =1,2,3. $$

Using the above notations, the linearized elastic equilibrium condition and the Dirichlet and Neumann boundary conditions for the displacement \(\mathbf {u}=(\mathbf {u}^1,\dots , \mathbf {u}^s)\) can be written as

(11.5)

where \(\mathbf {n}^p\) denotes the outer unit normal to \(\varGamma ^p\) which is defined almost everywhere. Here we assume that all objects are sufficiently smooth so that the equations can be satisfied point-wise, postponing more realistic assumptions to the next section. The equations can be written componentwise, e.g., the first equation of (11.5) reads

$$-\sum _{j=1}^3 \frac{\partial }{\partial x_j} \sigma _{ij} (\mathbf {u}) + f_i = 0\quad \mathrm {in } \ \varOmega , \ i=1,2,3. $$

To complete the classical formulation of frictionless contact problems, we have to specify the boundary conditions on \(\varGamma _C\). Assuming that \((p,q)\in {\mathscr {S}}\), we can use (11.1) and (11.7) to get the non-penetration condition

$$\begin{aligned} ({\mathbf {u}} - \mathbf {u}\,\circ \,\chi )\cdot \mathbf {n} \le g, \quad \mathbf { x} \in \varGamma ^{p}_C,\quad (p,q)\in {\mathscr {S}}, \end{aligned}$$
(11.6)

where we use the notation

$$\begin{aligned} \begin{aligned} \bigl ({\mathbf {u}} - \mathbf {u}\circ \chi \bigr )\cdot \mathbf {n}&=\bigl ({\mathbf {u}^p}(\mathbf {x}) - \mathbf {u}^q\circ \chi ^{pq}(\mathbf {x})\bigr )\cdot \mathbf {n}^p(\mathbf {x}),\qquad \quad \mathbf { x} \in \varGamma ^{pq}_C,\\ g&=\bigl (\chi ^{pq}(\mathbf {x})- \mathbf {x}\bigr )\cdot \mathbf {n}^p(\mathbf {x}),\qquad \quad \qquad \ \ \quad \mathbf { x} \in \varGamma ^{pq}_C. \end{aligned} \end{aligned}$$
(11.7)

The surface traction \(\varvec{\lambda }\) on the slave side of the active contact interface \(\varGamma ^{pq}_C\) and on the rest of \(\varGamma ^{pq}_C\) is given by

respectively. Since we assume that the contact is frictionless, the tangential component of \(\varvec{\lambda }\) is zero, i.e.,

$$\varvec{\lambda }=(\varvec{\lambda }\cdot \mathbf {n}^p)\mathbf {n}^p, $$

and the linearized conditions of equilibrium read

$$\begin{aligned} \varvec{\lambda } \cdot \mathbf {n}^p \ge 0 \ \ \mathrm {and} \ \ (\varvec{\lambda } \cdot \mathbf {n}^p)\bigl (\bigl ({\mathbf {u}^p} - \mathbf {u}^q\circ \chi \bigr ) \mathbf {n}^p -g \bigr )=0, \quad \mathbf {x}\in \varGamma ^{pq}_C, \ \ (p,q)\in {\mathscr {S}}. \end{aligned}$$
(11.8)

The last condition in (11.8) is called the complementarity condition. Newton’s law requires that the normal traction acting on the contacting surfaces is equal and opposite, so that

(11.9)

The system of equations and inequalities (11.5)–(11.9) with the assumption that the tangential component of \(\varvec{\lambda }\) is zero represents the classical formulation of multibody frictionless contact problems. Denoting by \(\lambda _n\) and \([u_n]\) the contact stress and the jump of the boundary displacements, respectively, i.e.,

$$\lambda _n=\varvec{\lambda }\cdot \mathbf {n}^p, \quad [u_n]=\bigl (\mathbf {u}^p-\mathbf {u}^q\circ \chi \bigr )\cdot \mathbf {n}^p, \quad \mathbf {x}\in \varGamma _C^{pq}, $$

we can write the contact conditions briefly as

$$\begin{aligned}{}[u_n]\le g, \ \ \lambda _n\ge 0, \ \ \lambda _n([u_n]-g)=0, \ \ \varvec{\lambda }=\lambda _n \mathbf {n}^p, \ \ \mathbf {x}\in \varGamma _C^{pq}, \ \ (p,q)\in {\mathscr {S}}. \end{aligned}$$
(11.10)

3 Variational Formulation

The classical formulation of contact problem (11.5) and (11.10) makes sense only when the solution complies with strong regularity assumptions which are not satisfied by the solution of realistic problems. For example, if a body is not homogeneous, the equilibrium on the material interface requires additional equations.

The basic idea is to require that the equilibrium conditions are satisfied in some average. To formulate it more clearly, let us define the spaces

$$V^{p}=\left\{ \mathbf {v}\in \bigl (H^1(\varOmega ^p)\bigr )^3: \mathbf {v}=\mathbf {o} \ \ \mathrm {on} \ \ \varGamma _U^p\right\} , \ p=1,\dots , s, \quad V=V^{1}\times \dots \times V^{s}, $$

and the convex set

$${\mathscr {K}}=\left\{ \mathbf {v}\in V: [v_n]\le g \ \ \mathrm {on} \ \ \varGamma _C^{pq}, \ (p,q)\in {\mathscr {S}}\right\} . $$

Let us first assume that \(\mathbf {u}^p,\mathbf {v}^p\in V^{p}\) are sufficiently smooth, so that we can define

and the bilinear form

Using the symmetry of , we can get an alternative expression for \(a^p\) by means of

$$\begin{aligned} {\mathsf {\sigma }}\left( \mathbf {u}^p\right) :{\mathsf {\varepsilon }}\left( \mathbf {v}^p\right)= & {} \frac{1}{2}\sum _{i,j=1}^3\sigma _{ij}(\mathbf {u}^p) \left( \frac{\partial v^p_i}{\partial x_j} +\frac{\partial v^p_j}{\partial x_i}\right) \nonumber \\= & {} \frac{1}{2}\sum _{i,j=1}^3\left( \sigma _{ij}(\mathbf {u}^p) \frac{\partial v^p_i}{\partial x_j} +\sigma _{ji}(\mathbf {v}^p)\frac{\partial v^p_j}{\partial x_i}\right) \\= & {} \sum _{i,j=1}^3\sigma _{ij}(\mathbf {u}^p) \frac{\partial v^p_i}{\partial x_j}={\mathsf {\sigma }}(\mathbf {u}^p):\nabla \mathbf {v}^p.\nonumber \end{aligned}$$
(11.11)

Let us assume that \(\mathbf {u}\in {\mathscr {K}}\) is a sufficiently smooth solution of (11.5) and (11.10), and let \(\mathbf {v}\in V\) be sufficiently smooth, so that the Green formula is valid, i.e.,

(11.12)

After multiplying the first equation of (11.5) by \(\mathbf {v}^p-\mathbf {u}^p\) and integrating the result over \(\varOmega ^p\), we get

We can also use (11.11) and (11.12) to get

After comparing the latter two equations and summing up, we get

Using the boundary conditions, the boundary integrals can be modified to

Denoting

$$a(\mathbf {u}, \mathbf {v})=\sum _{p=1}^s a^p(\mathbf {u}, \mathbf {v}), \quad \ell (\mathbf {v})=\sum _{p=1}^s \int _{\varGamma ^p_F}\mathbf {f}^p_{\varGamma }\cdot (\mathbf {v}^p-\mathbf {u}^p)\,\mathrm {d}\varGamma +\sum _{p=1}^s \int _{\varOmega ^p}\mathbf {f}^p \cdot (\mathbf {v}^p-\mathbf {u}^p)\,\mathrm {d}\varOmega , $$

we can rewrite the above relations as

(11.13)

Moreover, assuming that \((p,q)\in {\mathscr {S}}\), \(\mathbf {n}^p=-\mathbf {n}^q\circ \chi \), and \(\mathbf {v}\in {\mathscr {K}}\), we get

so any solution \(\mathbf {u}\) of the frictionless problem (11.5) and (11.10) satisfies the variational inequality

$$\begin{aligned} a(\mathbf {u}, \mathbf {v-u})\ge \ell ( \mathbf {v-u}), \quad \mathbf {v}\in {\mathscr {K}}. \end{aligned}$$
(11.14)

Inequality (11.14) characterizes a minimizer of the quadratic function

$$q(\mathbf {v})=\frac{1}{2} a(\mathbf {v},\mathbf {v})-\ell (\mathbf {v}) $$

defined on V (Theorem 4.5). Denoting \(\mathbf {v}=\mathbf {u}+\mathbf {d}\), we can rewrite (11.14) as

$$a(\mathbf {u}, \mathbf {d})-\ell (\mathbf {d})\ge 0, \quad \mathbf {u}+\mathbf {d}\in {\mathscr {K}}, $$

so

$$q(\mathbf {u}+\mathbf {d})- q(\mathbf {u})=a(\mathbf {u},\mathbf {d})-\ell (\mathbf {d}) +\frac{1}{2} a(\mathbf {d},\mathbf {d})\ge 0, $$

i.e.,

$$\begin{aligned} \mathbf {u}=\mathrm {arg}\,\min _{\mathbf {v}\in {\mathscr {K}}} q(\mathbf {v}). \end{aligned}$$
(11.15)

The inequality (11.14) and problem (11.15) are well defined for more general functions than the piece-wise continuously differentiable functions assumed in (11.5) and (11.10). Indeed, if \(\mathbf {f}^p\in L^2(\varOmega ^p)\) and \(\mathbf {f}^p_{\varGamma }\in L^2(\varGamma ^p_F)\), then a and \(\ell \) can be evaluated with \(\mathbf {v}\in V\) provided the boundary relations concerning \(\mathbf {v}^p\) are interpreted in the sense of traces. Moreover, it can be proved that if \(\mathbf {u}\) is a solution of such generalized problem, then it has a natural mechanical interpretation.

It is well known that a minimizer of q on \({\mathscr {K}}\) exists when q is coercive on \({\mathscr {K}}\), i.e.,

$$\mathbf {v}\in {\mathscr {K}}, \quad \Vert \mathbf {v}\Vert \rightarrow \infty \quad \Rightarrow \quad q(\mathbf {v})\rightarrow \infty , $$

with the norm induced by the broken scalar product

$$(\mathbf {u,v})=\sum _{p=1}^s \int _{\varOmega ^p}\mathbf {uv}\,\mathrm {d}\varOmega . $$

If \(\varGamma _U^p=\emptyset \) for some \(p\in \{1, \dots , s\}\), then the coercivity condition is satisfied if

$$\begin{aligned} a(\mathbf {v},\mathbf {v})=0 \quad \Rightarrow \quad \ell (\mathbf {v})< 0, \quad \mathbf {v}\in {\mathscr {K}}. \end{aligned}$$
(11.16)

In this case a solution exists, but it need not be unique.

4 Tearing and Interconnecting

Our next step is to reduce the contact problem into a number of “small” problems at the cost of introducing additional constraints. To this end, let us decompose each \(\varOmega ^p\) into subdomains with sufficiently smooth boundaries as in Fig. 11.3, assign each subdomain a unique number, and introduce new “gluing” conditions on the artificial inter-subdomain boundaries. In the early papers, the subdomains were required to be quasi-regular and have similar shape and size. The latter conditions indeed affect the performance of the algorithms, but they are not necessary for the optimality theory.

We decompose appropriately also the parts of the boundaries \(\varGamma _U^p,\varGamma _F^p\), and \(\varGamma _C^p\), \(p=1, \dots s\), and introduce their numbering to comply with the decomposition of the subdomains. For the artificial inter-subdomain boundaries, we introduce a notation in analogy to that concerning the contact boundary, i.e., \(\varGamma ^{pq}_G\) denotes the part of \(\varGamma ^p\) which is “glued” to \(\varGamma ^{qp}_G\). Obviously \(\varGamma ^{pq}_G=\varGamma ^{qp}_G\) and it is possible that \(\varGamma ^{pq}=\emptyset \). We shall also tear the boundary subdomains from the boundary and enforce the Dirichlet boundary conditions by the equality constraints. An auxiliary decomposition of the problem of Fig. 11.1 with renumbered subdomains is in Fig. 11.3.

Fig. 11.3
figure 3

TFETI domain decomposition with subdomain renumbering

To enhance the gluing conditions

(11.17)
(11.18)

into the variational formulation, we shall choose the contact coupling set \({\mathscr {S}}\) and the test spaces

$$\begin{aligned} V^p_{DD}= & {} \left\{ \mathbf {v}\in \left( H^1(\varOmega ^p)\right) ^3: \mathbf {v}^p=\mathbf {o} \ \ \mathrm {on} \ \ \varGamma _U^p\right\} ,\ \ p=1,\dots s,\nonumber \\ V_{DD}= & {} V^1\times \dots \times V^s,\nonumber \\ {\mathscr {K}}_{DD}= & {} \left\{ \mathbf {v}\in V_{DD}: [v_n]\le g \ \mathrm {on} \ \varGamma _C^{pq}, \ (p,q)\in {\mathscr {S}}; \mathbf {v}^p=\mathbf {v}^q \ \mathrm {on} \ \varGamma _G^{pq}, \ p,q=1,\dots ,s. \right\} , \nonumber \end{aligned}$$

where the relations should be interpreted in the sense of traces. Recall that for \(\mathbf {x}\in \varGamma _C^{pq}\), \((p,q)\in {\mathscr {S}}\), and \(\mathbf {v}\in {\mathscr {K}}_{DD}\),

$$ [v_n]=(\mathbf {v}^p-\mathbf {v}^q\circ \chi ^{pq})\cdot \mathbf {n}^p, \quad g=(\chi ^{pq}(\mathbf {x})-\mathbf {x})\cdot \mathbf {n}^p. $$

If \(\mathbf {u}\) is a classical solution of the decomposed problem which satisfies the gluing conditions (11.17) and (11.18), then for any \(\mathbf {v}\in {\mathscr {K}}_{DD}\) and \(p,q=1, \dots s\),

It follows that the inequality (11.14) holds also for the forms defined for the decomposed problems. Denoting

$$\begin{aligned}a(\mathbf {u,v})&=\sum _{p=1}^s a^p(\mathbf {u}^p,\mathbf {v}^p),\nonumber \\ \ell (\mathbf {v})&=\sum _{p=1}^s \int _{\varGamma ^p_F}\mathbf {f}^p_{\varGamma }\cdot (\mathbf {v}^p-\mathbf {u}^p)\,\mathrm {d}\varGamma +\sum _{p=1}^s \int _{\varOmega ^p}\mathbf {f}^p \cdot (\mathbf {v}^p-\mathbf {u}^p)\,\mathrm {d}\varOmega , \end{aligned}$$

we conclude that any classical solution \(\mathbf {u}\) of the frictionless decomposed problem (11.5), (11.10), (11.17), and (11.18) satisfies the variational inequality

$$\begin{aligned} a(\mathbf {u}, \mathbf {v-u})\ge \ell ( \mathbf {v-u}), \quad \mathbf {v}\in {\mathscr {K}}_{DD}, \end{aligned}$$
(11.19)

and by Theorem 4.5

$$\begin{aligned} q(\mathbf {u})\le q(\mathbf {v}), \quad \mathbf {v}\in {\mathscr {K}}_{DD}, \quad q(\mathbf {v})=\frac{1}{2} a(\mathbf {v},\mathbf {v})-\ell (\mathbf {v}). \end{aligned}$$
(11.20)

It can be proved that any sufficiently sooth solution of (11.19) or (11.20) is a classical solution of the frictionless contact problem.

5 Discretization

Let us now decompose each subdomain into elements, e.g., tetrahedra, the shape of which is determined by the position of selected nodes (vertices), and let h denote the maximum of the diameters of the elements. We consider such decomposition as a member of the family of elements \({\mathscr {T}}_h\). We assume that the elements are shape regular , i.e., there is a constant \(c_s>0\) independent of h such that the diameter \(h(\tau )\) of each element \(\tau \in {\mathscr {T}}^h\) and the radius \(\rho (\tau )\) of the largest ball inscribed into \(\tau \) satisfy

$$\rho (\tau )\ge c_s h(\tau ), $$

and that the discretization is quasi-uniform , i.e., there is a constant \(c_d>0\) independent of h such that for any element \(\tau \in {\mathscr {T}}^h(\varOmega )\)

$$h(\tau )\ge c_d\, h. $$

We also assume that the subdomains consist of the unions of elements, i.e., the subdomain boundaries do not cut through any element and the grids are matching on the “gluing” interface of the subdomains. Here we also assume that the grids are matching on the contact interface, i.e., the set of nodes on each slave part \(\varGamma ^{pq}_C\) of a contact interface is mapped by a bijection \(\chi ^{pq}\) onto the set of nodes on the master part \(\varGamma ^{qp}_C\) of the contact interface, postponing the generalization to Chap. 15. The finite element approximation of (11.20) gives rise to the QP problem

$$\begin{aligned} \min \,\frac{1}{2} \mathbf {u}^T {\mathsf {K}}\mathbf {u}-\mathbf {f}^T \mathbf {u}\quad \text{ subject } \text{ to } \quad {\mathsf {B}}_I\mathbf {u} \le {\mathbf {c}}_I \ \ \text{ and } \ \ {\mathsf {B}}_E\mathbf {u}=\mathbf {c}_E, \end{aligned}$$
(11.21)

where

$${{\mathsf {K}}}=\text{ diag }({{\mathsf {K}}}_1,\ldots , {{\mathsf {K}}}_s) $$

denotes an SPS block-diagonal matrix of order n, \({\mathsf {B}}_I\) denotes an \(m_I \times n\) full rank matrix, \({\mathsf {B}}_E\) denotes an \(m_E\times n\) full rank matrix, \(\mathbf {f} \in \mathbb {R}^n\), \(\mathbf {c}_I \in \mathbb {R}^{m_I}\), and \(\mathbf {c}_E \in \mathbb {R}^{m_E}\). We use the same notation for nodal displacements as we used for continuous displacements. We shall sometimes denote the nodal displacements by \(\mathbf {u}_h\), indicating that it was obtained by the discretization with the finite elements with the diameter less or equal to h.

The blocks \({{\mathsf {K}}}_p\), which correspond to \(\varOmega ^p\), are SPS sparse matrices with known kernels, the rigid body modes. Since we consider 3D problems, the dimensions of the kernels of \({\mathsf {K}}_p\) and \({\mathsf {K}}\) are six and 6s, respectively. The vector \(\mathbf {f}\) describes the nodal forces arising from the volume forces and/or some other imposed traction.

The matrix \({\mathsf {B}}_I\in \mathbb {R}^{m_{I}\times n}\) and the vector \(\mathbf {c}_I\) describe the linearized non-penetration conditions. The rows \(\mathbf {b}_{k}\) of \({\mathsf {B}}_I\) are formed by zeros and appropriately placed multiples of coordinates of an approximate outer unit normal on the slave side. If \(\mathbf {n}^p\) is an approximate outer normal vector at \(\mathbf {x}^p\in \varGamma _C^p\) on the slave side and \(\mathbf {x}^q=\chi (\mathbf {x}^p)\) is the corresponding node on the master side, then there is a row \(\mathbf {b}_{k*}\) of \({\mathsf {B}}_{I}\) such that

$$\mathbf {b}_{k}\mathbf {u}_h=\left( \mathbf {u}^p_h-\mathbf {u}^q_h\right) ^T\mathbf {n}^p, $$

where \(\mathbf {u}^p_h\) and \(\mathbf {u}^q_h\) denote the discretized displacements at \(\mathbf {x}^p\) and \(\mathbf {x}^q\), respectively. The entry \(c_k\) of \(\mathbf {c}_I\) describes the normal gap between some \(\mathbf {x}^p\) and \(\mathbf {x}^q\), i.e.,

$$c_k=(\mathbf {x}^p-\mathbf {x}^q)^T\mathbf {n}^p. $$

The matrix \({\mathsf {B}}_{E}\in \mathbb {R}^{m_{E}\times n}\) enforces the prescribed zero displacements on the part of the boundary with imposed Dirichlet’s condition and the continuity of the displacements across the auxiliary interfaces. The continuity requires that \(\mathbf {b}_i \mathbf {u}_h = c_i = 0\), where \(\mathbf {b}_i\) are the rows of \({\mathsf {B}}_E\) with zero entries except 1 and \(-1\) at appropriate positions. Typically \(m=m_{I}+m_{E}\) is much smaller than n. If k subdomains have a joint node \(\mathbf {x}\), i.e., \(\mathbf {x}\in \overline{\varOmega }^{i_1}\cap \dots \cap \overline{\varOmega }^{i_k}\), then the gluing of the subdomains at \(\mathbf {x}\) for 3D problems requires \(3(k-1)\) rows of \({\mathsf {B}}_{E}\). Notice that the rows of \({\mathsf {B}}_{E}\) that are associated with different nodes are orthogonal, so that we can use effectively the Gram–Schmidt orthonormalization procedure to get \({\mathsf {B}}_{E}\) with orthonormal rows.

Remark 11.1

We can achieve that the rows of \({\mathsf {B}}=[{\mathsf {B}}_E^T, {\mathsf {B}}_I^T]^T\) are orthonormal provided each node is involved in at most one inequality. This is always possible for two bodies or any number of smooth bodies. To simplify the formulation of optimality results, we shall assume in what follows (except Chap. 15) that

$$\begin{aligned} {\mathsf {B}}{\mathsf {B}}^T={\mathsf {I}}. \end{aligned}$$
(11.22)

6 Dual Formulation

Even though (11.21) is a standard convex QP problem, its formulation is not suitable for numerical solution. The reasons are that \({\mathsf {K}}\) is typically ill-conditioned, singular, and the feasible set is in general so complex that projections onto it can hardly be effectively computed. Under these circumstances, it would be very difficult to achieve fast identification of the solution active set and to find a fast algorithm for the solution of auxiliary linear problems.

The complications mentioned above can be essentially reduced by applying the duality theory of convex programming (see Sect. 3.7). The Lagrangian associated with problem (11.21) reads

$$\begin{aligned} L(\mathbf {u},\varvec{\lambda }_I,\varvec{\lambda }_E)= \frac{1}{2} \mathbf {u}^T {\mathsf {K}} \mathbf {u} - \mathbf {f}^T \mathbf {u} + \varvec{\lambda }_I^T ({\mathsf {B}}_I \mathbf {u}-\mathbf {c}_I) + \varvec{\lambda }_E^T ({\mathsf {B}}_E \mathbf {u}-\mathbf {c}_E), \end{aligned}$$
(11.23)

where \(\varvec{\lambda }_I\) and \(\varvec{\lambda }_E\) are the Lagrange multipliers associated with the inequalities and equalities, respectively. Introducing the notation

$$ \varvec{\lambda } = \left[ \begin{array}{c} \varvec{\lambda }_I \\ \varvec{\lambda }_E \end{array} \right] , \quad {\mathsf {B}} = \left[ \begin{array}{c} {\mathsf {B}}_I \\ {\mathsf {B}}_E \end{array} \right] ,\quad \mathrm {and} \quad \mathbf {c}=\left[ \begin{array}{c} \mathbf {c}_I \\ \mathbf {c}_E \end{array} \right] ,$$

we can write the Lagrangian briefly as

$$L(\mathbf {u},\varvec{\lambda }) = \frac{1}{2} \mathbf {u}^T {\mathsf {K}} \mathbf {u} - \mathbf {f}^T \mathbf {u} + \varvec{\lambda }^T ({\mathsf {B}} \mathbf {u}-\mathbf {c}).$$

Using Proposition 3.13, we get that (11.21) is equivalent to the saddle point problem

$$\begin{aligned} L({\widehat{\mathbf{u}}},{\widehat{{\varvec{\lambda }}}}) = \sup _{\varvec{\lambda }_I \ge \mathbf {o}} \inf _{\mathbf {u}} L(\mathbf {u},\varvec{\lambda }). \end{aligned}$$
(11.24)

For a fixed \(\varvec{\lambda }\), the Lagrange function \(L(\cdot ,\varvec{\lambda })\) is convex in the first variable and the minimizer \(\mathbf {u}\) of \(L(\cdot ,\varvec{\lambda })\) satisfies

$$\begin{aligned} {\mathsf {K}} \mathbf {u} - \mathbf {f} + {\mathsf {B}}^T \varvec{\lambda } = \mathbf {o}. \end{aligned}$$
(11.25)

Equation (11.25) has a solution if and only if

$$\begin{aligned} \mathbf {f} - {\mathsf {B}}^T \varvec{\lambda } \in \mathrm{Im} {{\mathsf {K}}}, \end{aligned}$$
(11.26)

which can be expressed more conveniently by means of a matrix \({\mathsf {R}}\) the columns of which span the null space of \({\mathsf {K}}\) as

$$\begin{aligned} {\mathsf {R}}^T (\mathbf {f}-{\mathsf {B}}^T \varvec{\lambda }) = \mathbf {o}. \end{aligned}$$
(11.27)

The matrix \({\mathsf {R}}\) may be formed directly, block by block, using any basis of the rigid body modes of the subdomains. In our case, each \(\varOmega ^p\) is assigned six columns with the blocks

$$\left[ \begin{array}{cccccc} 0 &{} -z_i &{} y_i &{}\ 1 &{}\ \ 0 &{}\ 0\\ z_i &{} 0 &{} -x_i &{}\ 0 &{}\ \ 1 &{}\ 0\\ -y_i &{} x_i &{} 0 &{}\ 0 &{}\ \ 0 &{}\ 1 \end{array}\right] $$

and \({\mathsf {O}}\in \mathbb {R}^{3\times 6}\) associated with each node \(V_i\in \overline{\varOmega }^p\) and \(V_j{\notin }\overline{\varOmega }^p\), respectively. Using the Gramm–Schmidt procedure, we can find \({\mathsf {R}}_i\) such that

$$\mathrm {Im}\,{\mathsf {R}}_i=\mathrm {Ker}\,{\mathsf {K}}_i, \quad {\mathsf {R}}=\mathrm {diag}({\mathsf {R}}_1, \dots , {\mathsf {R}}_s), \quad {\mathsf {R}}^T{\mathsf {R}}={\mathsf {I}}. $$

Now assume that \(\varvec{\lambda }\) satisfies (11.26), so that we can evaluate \(\varvec{\lambda }\) from (11.25) by means of any (left) generalized matrix \({\mathsf {K}}^+\) which satisfies

$$\begin{aligned} {\mathsf {K K}}^+ {\mathsf {K}} = {\mathsf {K}}. \end{aligned}$$
(11.28)

It may be verified directly that if \(\mathbf {u}\) solves (11.25), then there is a vector \(\alpha \) such that

$$\begin{aligned} \mathbf {u} = {{\mathsf {K}}}^+ (\mathbf {f} - {\mathsf {B}}^T \varvec{\lambda }) + {\mathsf {R}} \alpha . \end{aligned}$$
(11.29)

The evaluation of the action of a generalized inverse which satisfies (11.28) is simplified by the block structure of \({\mathsf {K}}\). Using Lemma 2.1, the kernel of each stiffness matrix \({\mathsf {K}}_i\) can be used to identify a nonsingular submatrix \({\mathsf {K}}_{{\mathscr {I}I}}\) of the same rank as \({\mathsf {K}}_i\). The action of the left generalized inverse \({\mathsf {K}}_i^{\#}\) (2.6) can be implemented by Cholesky’s decomposition. Observe that

$${\mathsf {K}}^{\#}=\mathrm {diag}({\mathsf {K}}_1^{\#}, \dots , {\mathsf {K}}_s^{\#}). $$

Alternatively, it is possible to use the fixing points strategy of Sect. 11.7.

After substituting expression (11.29) into problem (11.24), changing the signs, and omitting the constant term, we get that \(\varvec{\lambda }\) solves the minimization problem

$$\begin{aligned} \mathrm{min}\; \Theta (\varvec{\lambda }) \quad \mathrm{s.t.} \quad \varvec{\lambda }_I \ge \mathbf {o} \quad \mathrm{and} \quad {\mathsf {R}}^T (\mathbf {f}-{\mathsf {B}}^T \varvec{\lambda }) = \mathbf {o}, \end{aligned}$$
(11.30)

where

$$\begin{aligned} \Theta (\varvec{\lambda }) = \frac{1}{2} \varvec{\lambda }^T {\mathsf {B K}}^+ {\mathsf {B}}^T \varvec{\lambda } - \varvec{\lambda }^T ({\mathsf {B K}}^+ \mathbf {f}-\mathbf {c}). \end{aligned}$$
(11.31)

Once the solution \(\widehat{{\varvec{\lambda }}}\) of (11.30) is known, the solution \({\widehat{\mathbf{u}}}\) of (11.21) may be evaluated by (11.29) with

$$ {\alpha } = ({\mathsf {R}}^T\widetilde{{\mathsf {B}}}^T \widetilde{{\mathsf {B}}}{\mathsf {R}})^{-1}{\mathsf {R}}^T\widetilde{{\mathsf {B}}}^T (\tilde{\mathbf {c}}-\widetilde{{\mathsf {B}}} {{\mathsf {K}}}^+(\mathbf {f}- {\mathsf {B}}^T\widehat{\varvec{\lambda }})), $$

where \(\widetilde{{\mathsf {B}}} = \left[ \widetilde{{\mathsf {B}}}_I^T, \,{\mathsf {B}}_E^T\right] ^T\) and \(\widetilde{{\mathsf {B}}}_I\) and \(\widetilde{\mathbf {c}_I}\) are formed by the rows of \({\mathsf {B}}_I\) and the components of \({\mathbf {c}_I}\) that correspond to the positive entries of \({\varvec{\lambda }}_I\).

7 Stable Evaluation of \({\textsf {K}}^{+}{} \mathbf{x}\) by Using Fixing Nodes

In Sect. 2.4, we described an effective method that can be used for the identification of a nonsingular submatrix \({\mathsf {K}}_{{\mathscr {R}R}}\) of the local stiffness matrix \({\mathsf {K}}_i\) that has its dimension equal to the rank of \({\mathsf {K}}_i\) and used it to the effective evaluation of the action of \({\mathsf {K}}^+\). Here we shall describe an alternative procedure that can be applied when \({\mathsf {K}}_{{\mathscr {R}R}}\) is ill-conditioned.

To simplify the notation, let us assume that \({\mathsf {K}}={\mathsf {K}}_i\in \mathbb {R}^{n\times n}\). If we choose M nodes that are neither near each other nor placed near any line, \(M\ge 3\), then the submatrix \({\mathsf {K}}_{{\mathscr {R}R}}\) of \({\mathsf {K}}\) defined by the set \({\mathscr {R}}\) of remaining indices is “reasonably” nonsingular. This is not surprising, since \({\mathsf {K}}_{{\mathscr {R}R}}\) is the stiffness matrix of the body that is fixed at the chosen nodes. Using the arguments of mechanics, we deduce that fixing of the chosen nodes makes the body stiff. We call the M chosen nodes the fixing nodes and denote by \({\mathscr {F}}\) the set of indices of the fixed displacements.

We start with the reordering of \({\mathsf {K}}\) to get

$$\begin{aligned} \widetilde{{\mathsf {K}}} ={\mathsf {PKP}}^T= \left[ \begin{array}{cc} {{\mathsf {K}}}_{{\mathscr {R}R}} &{} {{\mathsf {K}}}_{{\mathscr {R}F}}\\ {{\mathsf {K}}}_{{\mathscr {F}R}} &{} {{\mathsf {K}}}_{{\mathscr {F}F}} \end{array}\right] = \left[ \begin{array}{cc} {\mathsf {L}}_{{\mathscr {R}R}} &{} {\mathsf {O}}\\ {\mathsf {L}}_{{\mathscr {F}R}} &{} {\mathsf {I}} \end{array}\right] \left[ \begin{array}{cc}{\mathsf {L}}_{{\mathscr {R}R}}^T &{}{\mathsf {L}}_{{\mathscr {F}R}}^T\\ {\mathsf {O}} &{} {\mathsf {S}} \end{array}\right] , \end{aligned}$$
(11.32)

where \({\mathsf {L}}_{{\mathscr {R}R}}\in \mathbb {R}^{r\times r}\) is a lower factor of the Cholesky decomposition of \({{\mathsf {K}}}_{{\mathscr {R}R}}\), \({\mathsf {L}}_{{\mathscr {F}R}}\in \mathbb {R}^{s\times r}\), \(s=3M\), \({\mathsf {L}}_{{\mathscr {F}R}} ={{\mathsf {K}}}_{{\mathscr {F}R}}{\mathsf {L}}_{{\mathscr {R}R}}^{-T}\), \({\mathsf {P}}\) is a permutation matrix, and \({\mathsf {S}}\in \mathbb {R}^{s\times s}\) is the Schur complement matrix of \(\widetilde{{\mathsf {K}}}\) with respect to \({{\mathsf {K}}}_{{\mathscr {R}R}}\) defined by

$${\mathsf {S}}={{\mathsf {K}}}_{{\mathscr {F}F}}-{{\mathsf {K}}}_{{\mathscr {F}R}} {{\mathsf {K}}}_{{\mathscr {R}R}}^{-1}{{\mathsf {K}}}_{{\mathscr {R}F}}. $$

To find \({\mathsf {P}}\), we proceed in two steps. First we form a permutation matrix \({\mathsf {P}}_1\) to decompose \({\mathsf {K}}\) into blocks

$$\begin{aligned} {\mathsf {P}}_1 {\mathsf {K}}{\mathsf {P}}_1^T=\left[ \begin{array}{cc} {\mathsf {K}}_{{\mathscr {R}R}} &{}{\mathsf {K}}_{{\mathscr {R}F}}\\ {\mathsf {K}}_{{\mathscr {F}R}} &{} {\mathsf {K}}_{{\mathscr {F}F}} \end{array}\right] , \end{aligned}$$
(11.33)

where \({\mathsf {K}}_{{\mathscr {R}R}}\) is nonsingular and \({\mathsf {K}}_{{\mathscr {F}F}}\) corresponds to the degrees of freedom of the M fixing nodes. Then we apply a suitable reordering algorithm on \({\mathsf {P}}_1{\mathsf {K}}{\mathsf {P}}_1^T\) to get a permutation matrix \({\mathsf {P}}_2\) which leaves the block \({\mathsf {K}}_{{\mathscr {F}F}}\) without changes and enables the sparse Cholesky decomposition of \({\mathsf {K}}_{{\mathscr {R}R}}\). Further, we decompose \({\mathsf {PKP}}^T\) as shown in (11.32) with \({\mathsf {P}}={\mathsf {P}}_2{\mathsf {P}}_1\). To preserve the sparsity, we can use any sparse reordering algorithm. The choice depends on the way in which the sparse matrix is stored and on the problem geometry. Using Lemma 2.2, we get

$$\begin{aligned} {\mathsf {K}}^+= {\mathsf {P}}^T \left[ \begin{array}{cc} {\mathsf {L}}_{{\mathscr {R}R}}^{-T} &{} -{\mathsf {L}}_{{\mathscr {R}R}}^{-T}{\mathsf {L}}_{{\mathscr {F}R}}^{T}{\mathsf {S}}^+\\ {\mathsf {O}} &{} {\mathsf {S}}^+ \end{array}\right] \left[ \begin{array}{cc} {\mathsf {L}}_{{\mathscr {R}R}}^{-1} &{} {\mathsf {O}}\\ -{\mathsf {L}}_{{\mathscr {F}R}}{\mathsf {L}}_{{\mathscr {R}R}}^{-1} &{} {\mathsf {I}} \end{array}\right] {\mathsf {P}}, \end{aligned}$$
(11.34)

where \({\mathsf {S}}^+\in \mathbb {R}^{s\times s}\) denotes a left generalized inverse of \({\mathsf {S}}\).

Since s is small, we can substitute for \({\mathsf {S}}^+\) the Moore–Penrose generalized inverse \({\mathsf {S}}^\dagger \in \mathbb {R}^{s\times s}\) computed by SVD. Alternatively, we can use a sparse nonsingular generalized inverse. First observe that the eigenvectors of \({\mathsf {S}}\) that correspond to zero are the traces of vectors from Ker \({\mathsf {K}}\) on the fixing nodes. Indeed, if \(\widetilde{{\mathsf {K}}}\mathbf {e}=\mathbf {o}\), then

$$ {{\mathsf {K}}}_{{\mathscr {R}R}}\mathbf {e}_{{\mathscr {R}}}+ {{\mathsf {K}}}_{{\mathscr {R}F}}\mathbf {e}_{{\mathscr {F}}}=\mathbf {o}, \qquad {{\mathsf {K}}}_{{\mathscr {F}R}}\mathbf {e}_{{\mathscr {R}}}+ {{\mathsf {K}}}_{{\mathscr {F}F}}\mathbf {e}_{{\mathscr {F}}}=\mathbf {o}, $$

and

$$\begin{aligned} {\mathsf {S}}\mathbf {e}_{{\mathscr {F}}} =(\widetilde{{\mathsf {K}}}_{{\mathscr {F}F}}-\widetilde{{\mathsf {K}}}_{{\mathscr {F}R}} \widetilde{{\mathsf {K}}}_{{\mathscr {R}R}}^{-1} \widetilde{{\mathsf {K}}}_{{\mathscr {R}F}})\mathbf {e}_{{\mathscr {F}}} =\mathbf {o}. \end{aligned}$$
(11.35)

Having the basis of the kernel od \({\mathsf {S}}\), we can define the orthogonal projector

$$\begin{aligned} {\mathsf {Q}}= {\mathsf {R}}_{{\mathscr {F}*}}\left( {\mathsf {R}}_{{\mathscr {F}*}}^T {\mathsf {R}}_{{\mathscr {F}*}}\right) ^{-1} {\mathsf {R}}_{{\mathscr {F}*}}^T \end{aligned}$$

onto the kernel of \({\mathsf {S}}\) and specify \({\mathsf {S}}^+\) in (11.34) by

$${\mathsf {S}}^{+}=\left( {\mathsf {S}}+\rho {\mathsf {Q}}\right) ^{-1} ={\mathsf {S}}^{\dagger }+\rho ^{-1}{\mathsf {Q}}, \quad \rho >0. $$

We use \(\rho \approx \Vert {\mathsf {K}}\Vert \). To see that \({\mathsf {S}}^{+}\) is a left generalized inverse, notice that

$${\mathsf {S}}{\mathsf {S}}^{+}{\mathsf {S}}={\mathsf {S}}\left( {\mathsf {S}}+\rho {\mathsf {Q}}\right) ^{-1}{\mathsf {S}} ={\mathsf {S}}\left( {\mathsf {S}}^{\dagger }+\rho ^{-1}{\mathsf {Q}}\right) {\mathsf {S}} ={\mathsf {S}}{\mathsf {S}}^{\dagger }{\mathsf {S}}+\rho ^{-1}{\mathsf {S}}{\mathsf {Q}}{\mathsf {S}}={\mathsf {S}}. $$

Such approach can be considered as a variant of regularization [4].

To implement the above-mentioned observations , it is necessary to have an effective procedure for choosing uniformly distributed fixing nodes. Here we describe a simple but effective method that combines a mesh partitioning algorithm with a method for finding a mesh center. The algorithm reads as follows.

figure a

Step 1 can be carried out by any code for graph decompositions such as METIS [5]. The implementation of Step 3 can be based on Corollary 2.1. If the mesh is approximately regular, we can expect that more walks of length k originate from the nodes that are near a center of the mesh. It simply follows that the node with the index i which satisfies

$$w(i,k)\ge w(j,k), j=1,2, \dots , n, $$

for sufficiently large k is in a sense near to the center of the mesh and can be used to implement Step 3 of Algorithm 11.1.

Recall that the vector

$$\mathbf {p}=\lim _{k\rightarrow \infty }\Vert {\mathsf {D}}^k\mathbf {e}\Vert ^{-1}{\mathsf {D}}^k\mathbf {e} $$

is a unique nonnegative eigenvector which corresponds to the largest eigenvalue of the mesh adjacency matrix \({\mathsf {D}}\). It is also known as the Perron vector of \({\mathsf {D}}\) [6]. It can be approximated by a few steps of the Lanczos method [7]. Thus the index of an approximation of the component of the Perron vector of \({\mathsf {D}}\) is a good approximation of the center of the graph of triangulation. See Brzobohatý et al. [8] for more details and illustrations of the effect of the choice of fixing nodes on the conditioning of the generalized inverses.

8 Preconditioning by Projectors to Rigid Body Modes

As in Chap. 10, further improvement can be achieved by adapting some simple observations originating in Farhat, Mandel, and Roux [9]. Let us first simplify the notations by denoting

$$ \begin{array}{lcl} {\mathsf {\widetilde{F}=B K}}^+ {\mathsf {B}}^T, &{} \qquad &{} F=\Vert {\mathsf {\widetilde{F}}}\Vert \\ {\mathsf {F}}=F^{-1}\widetilde{{\mathsf {F}}}, &{} \qquad &{} \widetilde{\mathbf {d}} = F^{-1}({\mathsf {B K}}^+ \mathbf {f}-\mathbf {c}),\\ \widetilde{{\mathsf {G}}} = {\mathsf {R}}^T {\mathsf {B}}^T, &{} \qquad &{} \widetilde{\mathbf {e}} = {\mathsf {R}}^T \mathbf {f}, \end{array}$$

and let \({\mathsf {T}}\) denote a regular matrix which defines the orthonormalization of the rows of \(\widetilde{{\mathsf {G}}}\) so that the matrix

$$ {\mathsf {G}}= {\mathsf {T}} \widetilde{{\mathsf {G}}}$$

has orthonormal rows. After denoting

$$ \mathbf {e} = {\mathsf {T}} \widetilde{\mathbf {e}},$$

problem (11.30) reads

$$\begin{aligned} \mathrm{min}\quad \frac{1}{2} \varvec{\lambda }^T {\mathsf {F}} \varvec{\lambda } - \varvec{\lambda }^T\widetilde{\mathbf {d}} \quad \mathrm{s.t.} \quad \varvec{\lambda }_I \ge \mathbf {o} \quad \mathrm{and} \quad {\mathsf {G}} \varvec{\lambda } = \mathbf {e}. \end{aligned}$$
(11.36)

For practical computation, we can use an approximate value of the norm

$$F\approx \Vert \widetilde{{\mathsf {F}}}\Vert . $$

Notice that a good approximation of \(\Vert \widetilde{{\mathsf {F}}}\Vert \) can be obtained by substituting the estimates of \(\Vert {{\mathsf {S}}}_i^{-1}\Vert \) into (10.27). The scaling of \({\mathsf {F}}\) was not necessary in Sect. 10.6.

As in Chap. 10, we shall transform the problem of minimization on the subset of an affine space to that on the subset of a vector space by means of arbitrary \(\widetilde{\varvec{\lambda }}\) which satisfies

$$\begin{aligned} {\mathsf {G}} \widetilde{\varvec{\lambda }} = \mathbf {e}.\end{aligned}$$
(11.37)

Having \(\widetilde{\varvec{\lambda }}\), we can look for the solution of (11.36) in the form \(\varvec{\lambda } = \varvec{\mu } + \widetilde{\varvec{\lambda }}\). Though a natural choice for \(\widetilde{\varvec{\lambda }}\) is the least squares solution

$$\widetilde{\varvec{\lambda }}={\mathsf {G}}^T({\mathsf {GG}}^T)^{-1}\mathbf {e}, $$

the following lemma shows that if we solve a coercive problem (11.20), then we can even find \(\widetilde{\varvec{\lambda }}\) such that \(\widetilde{\varvec{\lambda }}_I=\mathbf {o}\).

Lemma 11.1

Let the problem (11.21) be obtained by the discretization of a coercive problem, i.e., let the prescribed displacements of each body \(\varOmega ^p\) be sufficient to prevent its rigid body motion and let \({\mathsf {G}}=[{\mathsf {G}}_I, {\mathsf {G}}_E]\). Then \({\mathsf {G}}_E\) is a full rank matrix and

$$\begin{aligned} \widetilde{{\varvec{\lambda }}}=\left[ \begin{array}{c} \mathbf {o}_I \\ {{\mathsf {G}}_E^{T}({\mathsf {G}}_E{\mathsf {G}}_E^{T})^{-1} \mathbf {e}}\end{array}\right] \end{aligned}$$
(11.38)

satisfies \(\widetilde{{\varvec{\lambda }}}_I=\mathbf {o}_I\) and \({\mathsf {G}}\widetilde{{\varvec{\lambda }}}=\mathbf {e}\).

Proof

First observe that

$${\mathsf {G}}=[{\mathsf {T}}\widetilde{{\mathsf {G}}}_I, {\mathsf {T}}\widetilde{{\mathsf {G}}}_E], $$

so it is enough to prove that \(\widetilde{{\mathsf {G}}}^{T}_E{\varvec{\xi }} ={{\mathsf {B}}}_E{\mathsf {R}}{\varvec{\xi }}=\mathbf {o}\) implies \({\varvec{\xi }}=\mathbf {o}\). Since the entries of \({{\mathsf {B}}}_E{\mathsf {R}}{\varvec{\xi }}\) denote the jumps of \({\mathsf {R}}{\varvec{\xi }}\) across the auxiliary interfaces or the violation of prescribed Dirichlet boundary conditions, it follows that \({{\mathsf {B}}}_E{\mathsf {R}}{\varvec{\xi }}=\mathbf {o}\) implies that \(\mathbf {u}={\mathsf {R}}{\varvec{\xi }}\) satisfies both the discretized Dirichlet conditions and the “gluing” conditions, but belongs to the kernel of \({{\mathsf {K}}}\). Thus \(\varvec{\xi }\ne \mathbf {o}\) contradicts our assumption that the problem (11.21) was obtained by a correct discretization of (11.20). \(\square \)

Let us point out that the choice of \(\widetilde{\varvec{\lambda }}\) based on Lemma 11.1 guarantees \(\mathbf {o}\) to be a feasible vector of the homogenized problem. If the problem (11.20) is semicoercive, we can achieve the same effect with \(\widetilde{\varvec{\lambda }}\) which solves

$$\min \,\frac{1}{2}\Vert \varvec{\lambda }\Vert ^2 \quad \mathrm {subject \ to} \quad {\mathsf {G}}\varvec{\lambda }=\mathbf {e} \ \ \mathrm {and} \ \ \varvec{\lambda }\ge \mathbf {o}. $$

To carry out the transformation, denote \(\varvec{\lambda } = \varvec{\mu } + \widetilde{\varvec{\lambda }}\), so that

$$ \frac{1}{2} \varvec{\lambda }^T{\mathsf {F}}\varvec{\lambda } - \varvec{\lambda }^T\widetilde{\mathbf {d}}= \frac{1}{2} \varvec{\mu }^T{\mathsf {F}}\varvec{\mu } - \varvec{\mu }^T( \widetilde{\mathbf {d}}-{\mathsf {F}}\widetilde{\varvec{\lambda }} ) + \frac{1}{2} \widetilde{\varvec{\lambda }}^T {\mathsf {F}}\widetilde{\varvec{\lambda }} - \widetilde{\varvec{\lambda }}^T \widetilde{\mathbf {d}}$$

and problem (11.36) has, after returning to the old notation, the same solution as

$$\begin{aligned} \mathrm{min}\,\theta (\varvec{\lambda }) \quad \mathrm{s.t.} \quad {\mathsf {G}}\varvec{\lambda } =\mathbf {o}\quad \mathrm{and} \quad \varvec{\lambda }_{ I} \ge \mathbf {\ell }_I=-\widetilde{\varvec{\lambda }}_I \end{aligned}$$
(11.39)

with

$$\theta ({\lambda })= \frac{1}{2} \varvec{\lambda }^T{\mathsf {F}}\varvec{\lambda } - \varvec{\lambda }^T \mathbf {d}, \quad {\mathbf {d}} = \widetilde{\mathbf {d}}-{\mathsf {F}}\widetilde{\varvec{\lambda }}. $$

Let us point out that the proof of Lemma 11.1 is the only place where we need the assumption that our problem (11.21) is coercive.

Our final step is based on the observation that problem (11.39) is equivalent to

$$\begin{aligned} \mathrm{min}\ \overline{\theta }_{\rho }(\lambda ) \quad \mathrm{s.t.} \quad {\mathsf {G}}\varvec{\lambda } = \mathbf {o} \quad \mathrm{and} \quad \varvec{\lambda }_{ I} \ge \mathbf {\ell }_I, \end{aligned}$$
(11.40)

where \(\rho \) is an arbitrary positive constant,

$$\overline{\theta }_{\rho }(\lambda )=\frac{1}{2} \varvec{\lambda }^T ({\mathsf {PFP}}+\rho {\mathsf {Q}})\varvec{\lambda } - \varvec{\lambda }^T{\mathsf {P}}\mathbf {d}, \quad {\mathsf {Q}}= {\mathsf {G}}^T{\mathsf {G}},\quad \mathrm{and} \quad {\mathsf {P}}= {\mathsf {I}} - {\mathsf {Q}}.$$

Recall that \({\mathsf {P}}\) and \({\mathsf {Q}}\) denote the orthogonal projectors on the image space of \({\mathsf {G}}^T\) and on the kernel of \({\mathsf {G}}\), respectively. The regularization term is introduced in order to simplify the reference to the results of QP that assume the nonsingular Hessian of f.

9 Bounds on the Spectrum

Problem (11.40) turns out to be a suitable starting point for the development of an efficient algorithm for variational inequalities due to the favorable distribution of the spectrum of the Hessian \({\mathsf {H}}={\mathsf {PFP}}+\rho {\mathsf {Q}}\) of the cost function \(\overline{\theta }\). The following lemma, the variant of Lemma 10.3 for linear elasticity, is important for the analysis of optimality of the presented algorithms.

Lemma 11.2

Let H denote the diameter of a homogeneous body which occupies a domain \(\varOmega \subset \mathbb {R}^3\), let \({\mathsf {K}}_{H,h}\) denote its stiffness matrix obtained by the quasi-uniform discretization with shape regular elements of the diameter less or equal to h, and let \({\mathsf {S}}_{H,h}\) denote the Schur complement of \({\mathsf {K}}_{H,h}\) with respect to the interior nodes. Let the constraint matrix \({\mathsf {B}}\) satisfy (11.22).

Then there are constants c and C independent of h and H such that

$$\begin{aligned} c \frac{h^2}{H} \Vert \varvec{\lambda }\Vert ^2 \le \varvec{\lambda }^T{\mathsf {S}}_{H,h}\varvec{\lambda } \le Ch\Vert \varvec{\lambda }\Vert ^2, \quad \varvec{\lambda }\in \mathrm {Im}{\mathsf {S}}. \end{aligned}$$
(11.41)

Proof

The proof of Lemma 11.2 is similar to the proof of Lemma 10.3. The proof of the upper bound follows from Lemma 13.1 and the obvious inequality

$$\Vert {\mathsf {S}}_{H,h}\Vert \le \Vert {\mathsf {K}}_{H,h}\Vert . \square $$

The following theorem is now an easy corollary of Lemmas 10.2 and 11.2.

Theorem 11.1

Let \(\rho >0\) and let \({\mathsf {H}}_{\rho ,H,h}\) denote the Hessian of \(\overline{\theta }_{\rho }\) resulting from the decomposition and quasi-uniform finite element discretization of problem (11.20) with shape regular elements using the decomposition and discretization parameters H and h, respectively. Let (11.22) be true.

Then there are constants c and C independent of h and H such that

$$\begin{aligned} c\Vert \varvec{\lambda }\Vert ^2 \le \varvec{\lambda }^T{\mathsf {H}}_{\rho , H,h}\varvec{\lambda } \le C\frac{H}{h}\Vert \varvec{\lambda }\Vert ^2, \quad \varvec{\lambda }\in \mathbb {R}^m. \end{aligned}$$
(11.42)

Proof

Substitute (11.41) into Lemma 10.2 and take into account the regularization term \(\rho {\mathsf {Q}}\) with fixed \(\rho \) and the scaling of \({\mathsf {F}}\).

Remark 11.2

A variant of the theorem was a key ingredient of the first optimality analysis of FETI for linear problems by Farhat, Mandel, and Roux [9].

10 Optimality

To show that Algorithm 9.2 (SMALBE-M) with the inner loop implemented by Algorithm 8.2 (MPRGP) is optimal for the solution of a class of problems arising from varying discretizations of a given frictionless contact problem, let us introduce a new notation that complies with that used in the analysis of the algorithms in Part II.

Let \(\rho >0\) and \(C\ge 2\) denote given constants and let

$$\mathcal{T}_C=\{(H,h)\in \mathbb {R}^2: \ \ H/h\le C\}$$

denote the set of indices. For any \(t \in \mathcal{T}_C\), let us define

$$ \begin{array}{ll} {\mathsf {A}}_t={\mathsf {PFP}}+\rho {\mathsf {Q}}, \ \ \ &{} \mathbf {b}_t={\mathsf {P}}\mathbf {d},\\ {\mathsf {B}}_t={\mathsf {G}}, \ \ \ &{} \mathbf {\ell }^{\, t}_I=-\widetilde{\varvec{\lambda }}_I, \end{array} $$

where the vectors and matrices are those arising from the discretization of (11.20) with \(t=(H,h)\). We assume that the discretization satisfies the assumptions of Theorem 11.1 and \(\mathbf {\ell }_{I}^t\le \mathbf {o}\). We get a class of problems

$$\begin{aligned} \mathrm{min } \, f_t(\varvec{\lambda }) \ \ \mathrm{subject \ to} \ \ {\mathsf {B}}_t\varvec{\lambda }=\mathbf {o} \ \ \mathrm{and} \ \ \varvec{\lambda }_I \ge \mathbf {\ell }_I^{\,t} \end{aligned}$$
(11.43)

with

$$f_t(\varvec{\lambda }) = \frac{1}{2} \varvec{\lambda }^T {\mathsf {A}}_t \varvec{\lambda } - \mathbf {b}_t^T \varvec{\lambda }. $$

Using these definitions and \({\mathsf {GG}}^T={\mathsf {I}}\), we obtain

$$\begin{aligned} \Vert {\mathsf {B}}_t\Vert \le 1.\end{aligned}$$
(11.44)

It follows by Theorem 11.1 that for any \(C\ge 2\) there are constants

$$a_{\max }^C>a_{\min }^C>0 $$

such that

$$\begin{aligned} a_{\min }^C\le \alpha _{\min }({\mathsf {A}}_t)\le \alpha _{\max }({\mathsf {A}}_t)\le a_{\max }^C \end{aligned}$$
(11.45)

for any \(t\in {{\mathscr {T}}}_C\). In particular, it follows that the assumptions of Theorem 9.4 are satisfied for any set of indices \({{\mathscr {T}}}_C, \ C\ge 2\), and we can formulate the main result of this chapter.

Theorem 11.2

Let \(C\ge 2, \ \rho >0\), and \(\varepsilon >0\) denote given constants and let \(\{\varvec{\lambda }^k_t\}, \{\varvec{\mu }_t^k\}\), and \(\{M_{t,k}\}\) be generated by Algorithm 9.2 (SMALBE-M) for (11.43) with

$$\Vert \mathbf {b}_t\Vert \ge \eta _t>0, \ \ 1>\beta>0, \ \ M_{t,0}=M_0> 0, \ \ \rho >0, \ \ \varvec{\mu }^0_t=\mathbf {o}. $$

Let Step 1 of Algorithm 9.2 be implemented by means of Algorithm 8.2 (MPRGP) with parameters

$$\varGamma >0 \ \ \mathrm {and} \ \ \alpha \in (0, 2/a_{\max }^C), $$

so that it generates the iterates

$$\varvec{\lambda }^{k,0}_t, \varvec{\lambda }^{k,1}_t, \dots , \varvec{\lambda }^{k,l}_t=\varvec{\lambda }^{k}_t $$

for the solution of (11.43) starting from \(\varvec{\lambda }^{k,0}_t=\varvec{\lambda }^{k-1}_t\) with \(\varvec{\lambda }^{-1}_t=\mathbf {o}\), where \(l=l_{t,k}\) is the first index satisfying

$$\begin{aligned} \Vert \mathbf {g}^P(\varvec{\lambda }^{k,l}_t, \varvec{\mu }_t^{k}, \rho )\Vert \le M_{t,k}\Vert {\mathsf {B}}_t\varvec{\lambda }^{k,l}_t\Vert \end{aligned}$$
(11.46)

or

$$\begin{aligned} \Vert \mathbf {g}^P(\varvec{\lambda }^{k,l}_t, \varvec{\mu }_t^{k}, \rho )\Vert \le \varepsilon \Vert \mathbf {b}_t\Vert \quad \mathrm {and} \quad \Vert {\mathsf {B}}_t\varvec{\lambda }^{k, l}_t\Vert \le \varepsilon \Vert \mathbf {b}_t\Vert . \end{aligned}$$
(11.47)

Then for any \(t\in {{\mathscr {T}}}_C\) and problem (11.43), Algorithm 9.2 generates an approximate solution \(\varvec{\lambda }^{k_t}_t\) which satisfies (11.47) at O(1) matrix–vector multiplications by the Hessian \({\mathsf {A}}_t\) of \(f_t\).

11 Numerical Experiments

The algorithms presented here were implemented in several software packages (see Sect. 19.5) and tested on a number of academic benchmarks and real-world problems. Here we give some results that illustrate their numerical scalability and effectiveness using MatSol (see Sect. 19.5.1 or Kozubek et al. [10]), postponing the demonstration of parallel scalability to Chap. 19. All the computations were carried out with the parameters recommended in the description of the algorithms in Chaps. 79. The relative precision of the computations was \(\varepsilon =10^{-4}\) (see (9.40)).

11.1 Academic Benchmark

Let us consider a 3D semicoercive contact problem of two cantilever beams of sizes \(2\times 1\times 1\) [m] in mutual contact without friction. The beams are depicted in Fig. 11.4. Zero horizontal displacements were prescribed on right face of the upper beam. The lower beam (shifted by 1 [m]) was fixed on its left face. The vertical traction \(\mathbf {f}=20\) [MPa] was prescribed on the upper and left faces of the upper beam.

Fig. 11.4
figure 4

Two beams benchmark and its decomposition

The problem was discretized with varying discretization and decomposition parameters h and H, respectively. For each h and H, the bodies were decomposed into \(2/H\times 1/H\times 1/H\) subdomains discretized by hexahedral elements. We kept \(H/h=8\), so that the assumptions of Theorem 11.2 were satisfied.

The performance of the algorithms is documented in the following graphs. The numbers \(n_{out}\) of the outer iterations of SMALBE and \(n_{Hes}\) of the multiplication by the Hessian \({\mathsf {F}}\) of the dual function depending on the primal dimension n is depicted in Fig. 11.5. We can see stable numbers of both inner and outer iterations for n ranging from 431, 244 to 11, 643, 588. The dual dimension of the problems ranged from 88, 601 to 2, 728, 955. We conclude that the performance of the algorithm is in agreement with the theory.

Fig. 11.5
figure 5

Cantilever beams—numbers of matrix—vector multiplications by \({\mathsf {F}}\) (left) and outer iterations (right)

The normal traction along the axis of the contact interface is in Fig. 11.6. Figure 11.6 shows that in the solution of the largest problem, most of 11, 550 linear inequality constraints were active.

Fig. 11.6
figure 6

Normal contact pressures along the line r

11.2 Roller Bearings of Wind Generator

We have also tested our algorithms on real-world problems, including the stress analysis in the roller bearings of a wind generator that is depicted in Fig. 11.7. The problem is difficult because it comprises 73 bodies in mutual contact and only one is fixed in space.

Fig. 11.7
figure 7

Frictionless roller bearing of wind generator

The solution of the problem discretized by 2,730,000/459,800 primal/dual variables and decomposed into 700 subdomains required 4270 matrix–vector multiplications, including outer iterations for exact non-penetration. The von Mises stress distribution is in Fig. 11.7 (right). Though the number of iterations is not small, the parallel scalability of the algorithm enables to obtain the solution in a reasonable time.

12 Comments and References

A convenient presentation of the variational formulation, including the dual formulation, the results concerning the existence and uniqueness of a solution, the finite element approximation of the solution, and standard iterative methods for the solution can be found in the book by Kikuchi and Oden [1]. For the variational formulation and analysis, see also Hlaváček et al. [11]. The up-to-date engineering approach to the solution of contact problems can be found in Laursen [2] or Wriggers [3]. See Chap. 15 for the discussion of combination of TFETI and mortar approximation of contact conditions.

Probably the first theoretical results concerning the development of scalable algorithms for coercive contact problems were proved by Schöberl [12, 13]. A numerical evidence of scalability of a different approach combining FETI–DP with a Newton-type algorithm and preconditioning in face by standard FETI preconditioners for 3D contact problems was given in Duresseix and Farhat [14] and Avery et al. [15]. See also Dostál et al. [16]. Impressive applications of the above approach can be found in [17].

A stable implementation of TFETI requires reliable evaluation of the action of a generalized inverse of the SPS stiffness matrix. The presentation in Sect. 11.6 combines the earlier observations by Savenkov, Andrä, and Iliev [4] and Felippa and Park [18] on the regularization and Farhat and Géradin [19] on the application of the LU and SVD decompositions. Our exposition uses the fixing nodes presented in Brzobohatý et al. [8].

It should be noted that the effort to develop scalable solvers for coercive variational inequalities was not restricted to FETI. Optimal properties of multigrid methods for linear problems were exploited, e.g., by Kornhuber and Krause [20] and Kornhuber et al. [21], to give an experimental evidence of the numerical scalability of an algorithm based on monotonic multigrid. However, as pointed out by Iontcheva and Vassilevski [22], the coarse grid used in the multigrid should avoid the constrained variables, so that its approximation properties are limited and not sufficient to support the proof of optimality of the nonlinear algorithm. Multigrid has been used also in the framework of the nonsmooth Newton methods, which turned out to be an especially effective tool for the solution of problems with complex nonlinearities (see Sect. 12.10).

The augmented Lagrangians were often used in engineering algorithms to implement equality constraints as in Simo and Laursen [23] or Glowinski and Le Tallec [24]. It seems that the first application of the LANCELOT style [25] augmented Lagrangians (proposed for bound and general equality constrains) with adaptive precision control in combination with FETI to the solution of contact problems is in Dostál, Friedlander, and Santos [26] and Dostál, Gomes, and Santos [27, 28]. The experimental evidence of numerical scalability was presented in Dostál et al. [29]. The optimality was proved in [30]—the proof exploits the optimal properties of MPRGP [31] (see also Sect. 9.10), SMALBE-M (see [32, 33], or Sect. 8), and TFETI (see [34]). Here we partly follow [30].

The linear steps of MPRGP can be preconditioned by the standard FETI preconditioners, i.e., the lumped preconditioner or Dirichlet’s preconditioner [35]. The preconditioning by the conjugate projector for the FETI–DP solution of contact problem was presented by Jarošová, Klawonn, and Rheinbach [36]. However, our experience does not indicate high efficiency of the modified algorithms for contact problems. The negative effect of jumping coefficients can be reduced by the reorthogonalization based preconditioning or renormalization based scaling presented in Chap. 16.

There is an interesting corollary of our theory. If we are given a class of contact problems which involves the bodies that are discretized by quasi-uniform grids using shape regular elements, so that the regular part of their spectrum is contained in a given positive interval, then Theorem 11.2 implies that in spite of nonlinearity, there is a bound, independent of a number of the bodies, on the number of iterations that are necessary to approximate the solution to a given precision.