Keywords

1 Introduction

Topology optimization problem for an elliptic second order variational inequality is considered in the paper. This inequality governs unilateral contact between an elastic body and a rigid foundation. The results concerning the existence and the uniqueness of solutions to this inequality are provided in [9]. The topology optimization problem for the elastic body in unilateral contact consists in finding such material distribution within the domain occupied by the body in contact and/or the shape of its boundary that the normal contact stress along the boundary of the body is minimized. The volume of the body is bounded.

Topology optimization of continuum structures is widely investigated in literature [1, 5, 7, 11]. Among others the homogenization method and its simplified version solid isotropic material with penalization method (SIMP) as well as evolutionary structural optimization method have been proposed to solve these problems (see [5]). Recently, the level set approach [13] is employed in the numerical algorithms of structural optimization [7] for tracking the evolution of the domain boundary on a fixed mesh and finding an optimal solution to structural optimization problems. This approach, in classical form, is based on an implicit representation of the boundaries of the optimized structure, i.e., the position of the boundary of the body is described as an isocountour of a scalar function of a higher dimensionality. The evolution of the domain boundary is governed by Hamilton-Jacobi equation. The solution of this equation requires reinitialization procedure to ensure that it is as close as possible to the signed distance function to the interface. Moreover this approach requires regularization of non-differentiable Heaviside and Dirac functions.

In order to avoid the drawbacks of the classical level set method an alternative piecewise constant level set method has been proposed, first in image processing area and next in structural optimization [14]. For a domain divided into \(2^N\) sub-domains in classical level set approach is required \(2^N\) level set functions to represent them. Piecewise constant level set method can identify an arbitrary number of sub-domains using only one discontinuous piecewise constant level set function. This function takes distinct constant values on each sub-domain. The interfaces between sub-domains are represented implicitly by the discontinuity of a set of characteristic functions of the sub-domains [14]. Comparing to the classical level set method, this method is free of the Hamilton-Jacobi equation and do not require the use of the signed distance function as the initial one. Binary level set method [4, 10, 15] is a special piecewise constant level set method where the function takes only two values either \(+1\) or \(-1\). Compared with general piecewise constant level set approach binary level set approach requires \(N\) level set functions to represent a structure of \(2^N\) different material phases and is very close to the phase-field approach [12].

In the paper the original structural optimization problem is approximated by a two-phase material optimization problem. Using the binary level set method this approximated problem is reformulated as an equivalent constrained optimization problem in terms of the binary level set function only. Therefore neither shape nor topological complicated sensitivity analysis is required. During the evolution of the binary level set function small holes can be created without the use of the topological derivatives. Necessary optimality condition is formulated. This optimization problem is solved numerically using the augmented Lagrangian method. Numerical examples are provided and discussed.

Fig. 1.
figure 1

Initial domain \(\varOmega \).

2 Problem Formulation

Consider deformations of an elastic body occupying two-dimensional domain \(\varOmega \) with the smooth boundary \(\varGamma \) (see Fig. 1). Assume \(\varOmega \subset D\) where \(D\) is a bounded smooth hold-all subset of \(R^2\). Let \(E \subset R^2\) and \(D\subset R^2\) denote given bounded domains. So-called hold-all domain \(D\) is assumed to possess a piecewise smooth boundary. Domain \(\varOmega \) is assumed to belong to the set \(O_l\) defined as follows:

$$\begin{aligned} O_l = \{ \varOmega \subset R^2 : \varOmega \; \text {is open}, \; \; E \subset \varOmega \subset D, \; \; ^\#\varOmega ^c \le l \}, \end{aligned}$$
(1)

where \(^\#\varOmega ^c\) denotes the number of connected components of the complement \(\varOmega ^c\) of \(\varOmega \) with respect to \(D\) and \(l \ge 1\) is a given integer. Moreover all perturbations \(\delta \varOmega \) of \(\varOmega \) are assumed to satisfy \(\delta \varOmega \in O_l\). The body is subject to body forces \(f(x)=(f_1(x),\) \( f_2(x))\), \(x \in \varOmega \). Moreover, surface tractions \(p(x)=(p_1(x),p_2(x))\), \(x \in \varGamma \), are applied to a portion \(\varGamma _1\) of the boundary \(\varGamma \). We assume, that the body is clamped along the portion \(\varGamma _0\) of the boundary \(\varGamma \), and that the contact conditions are prescribed on the portion \(\varGamma _2\), where \({\varGamma }_i \cap {\varGamma }_j = \emptyset \), \(i\ne j, \; i,j = 0,1,2\), \(\varGamma = \bar{\varGamma }_0 \cup \bar{\varGamma }_1 \cup \bar{\varGamma }_2\). We denote by \(u=(u_1,u_2)\), \(u=u(x)\), \(x \in \varOmega \), the displacement of the body and by \(\sigma (x) = \{ \sigma _{ij} (u(x)) \}\), \(i,j = 1,2\), the stress field in the body. Consider elastic bodies obeying Hooke’s law, i.e., for \(x \in \varOmega \) and \(i,j,k,l=1,2\)

$$\begin{aligned} \sigma _{ij} (u(x)) = a_{ijkl}(x)e_{kl}(u(x)). \end{aligned}$$
(2)

We use here and throughout the paper the summation convention over repeated indices [9]. The strain \(e_{kl}(u(x))\), \(k,l=1,2\), is defined by:

$$\begin{aligned} e_{kl}(u(x)) = \frac{1}{2}(u_{k,l}(x) + u_{l,k}(x)), \; \; \end{aligned}$$
(3)

where \(u_{k,l}(x) = \frac{\partial u_k(x)}{\partial x_l}\). The stress field \(\sigma \) satisfies the system of equations [9]

$$\begin{aligned} - \sigma _{ij}(x)_{,j} = f_i(x) \; \; \; x \in \varOmega , i,j =1,2, \end{aligned}$$
(4)

where \(\sigma _{ij}(x)_{,j} = \frac{\partial \sigma _{ij}(x)}{\partial x_j}\), \(i,j=1,2\). The following boundary conditions are imposed

$$\begin{aligned} u_i(x) = 0 \; \; \text { on } \; \; \varGamma _0, \; \; i =1,2, \end{aligned}$$
(5)
$$\begin{aligned} \sigma _{ij}(x)n_j = p_i \; \; \text { on } \; \; \varGamma _1, \; \; i,j=1,2, \end{aligned}$$
(6)
$$\begin{aligned} u_{N} \le 0, \; \; \sigma _N \le 0, \; \; u_{N}\sigma _N = 0 \; \; \text { on } \varGamma _2, \end{aligned}$$
(7)
$$\begin{aligned} \mid \sigma _T \mid \le 1 , \; \; \; u_{T} \sigma _T + \mid u_{T} \mid = 0 \; \text { on }\, \varGamma _2, \end{aligned}$$
(8)

where \(n=(n_1,n_2)\) is the unit outward versor to the boundary \(\varGamma \). Here \(u_N = u_in_i\) and \(\sigma _N = \sigma _{ij}n_in_j\), \(i,j=1,2\), represent the normal components of the displacement \(u\) and the stress \(\sigma \), respectively. The tangential components of displacement \(u\) and stress \(\sigma \) are given by \((u_T )_i = u_i - u_Nn_i\) and \((\sigma _T)_i = \sigma _{ij}n_j - \sigma _Nn_i\), \(i,j = 1,2\), respectively. \(\mid u_T \mid \) denotes the Euclidean norm in \(R^2\) of the tangent vector \(u_T\). The results concerning the existence and uniqueness of solutions to (2)–(8) can be found in [9].

2.1 Variational Formulation of Contact Problem

Let us formulate contact problem (4)–(8) in variational form. Denote by \(V_{sp}\) and \(K\) the space and set of kinematically admissible displacements:

$$\begin{aligned} V_{sp} = \{ z \in [H^1(\varOmega )]^2= H^1(\varOmega ) \times H^1(\varOmega ) \; : \; z_i = 0 \; \text {on }\, \varGamma _0, \; i= 1,2 \} , \end{aligned}$$
(9)
$$\begin{aligned} K = \{ z\in V_{sp} \; : \; z_N \le 0 \; \; \text {on} \; \; \varGamma _2 \}. \end{aligned}$$
(10)

Denote also by \(\varLambda \) the set

$$\begin{aligned} \varLambda = \{ \zeta \in L^2(\varGamma _2) \; : \; \mid \zeta \mid \; \le 1 \}. \end{aligned}$$
(11)

Variational formulation of problem (4)–(8) has the form: find a pair \((u,\lambda ) \in K \times \varLambda \) satisfying

$$\begin{aligned} \int _\varOmega a_{ijkl}e_{ij}(u)e_{kl}(\varphi - u) dx - \int _{\varOmega } f_i (\varphi _i-u_i)dx - \nonumber \\ \int _{\varGamma _1} p_i (\varphi _i -u_i)ds + \int _{\varGamma _2} \lambda (\varphi _T - u_T) ds \ge 0 \; \; \forall \varphi \in K, \end{aligned}$$
(12)
$$\begin{aligned} \int _{\varGamma _2} (\zeta - \lambda ) u_T ds \le 0 \; \; \; \forall \zeta \in \varLambda , \end{aligned}$$
(13)

\(i,j,k,l=1,2\). Function \(\lambda \) is interpreted as a Lagrange multiplier corresponding to term \(\mid u_T \mid \) in equality constraint in (8) [9]. In general, function \(\lambda \) belongs to the space \(H^{-1/2}(\varGamma _2)\). Here following [9] function \(\lambda \) is assumed to be more regular. The results concerning the existence and uniqueness of solutions to system (12)–(13) can be found, among others, in [9].

2.2 Structural Optimization Problem

Before formulating a structural optimization problem for the state system (12)–(13) let us introduce first the set \(U_{ad}\) of admissible domains. Domain \(\varOmega \) is assumed to satisfy the volume constraint of the form

$$\begin{aligned} Vol(\varOmega ) - Vol^{giv} \le 0, \; \; Vol(\varOmega ) \mathop {=}\limits ^{def} \int _\varOmega dx, \end{aligned}$$
(14)

where the constant \(Vol^{giv}=const_0 > 0\) is given. Moreover this domain is assumed to satisfy the perimeter constraint [6]

$$\begin{aligned} Per(\varOmega ) \le const_1, \; \; Per(\varOmega ) \mathop {=}\limits ^{def} \int _\varGamma dx. \end{aligned}$$
(15)

The constant \(const_1>0\) is given. The set \(U_{ad}\) has the following form

$$\begin{aligned} U_{ad} =&\{ \varOmega \in O_l \; : \; \varOmega \; \text {is Lipschitz continuous}, \; \\&\, \varOmega \; {\text {satisfies conditions}} \;(14) \; \mathrm{and}\; (15) \}. \nonumber \end{aligned}$$
(16)

The set \(U_{ad}\) is assumed to be nonempty. In order to define a cost functional we shall also need the following set \(M^{st}\) of auxiliary functions

$$\begin{aligned} M^{st}=\{ \eta =(\eta _1,\eta _2) \in [H^1(D)]^2 : \eta _i \le 0 \; \; \text {on}\,D, \; i=1,2, \; \; \; \\ \parallel \eta \parallel _{[H^1(D)]^2} \; \le \; 1 \} , \nonumber \end{aligned}$$
(17)

where the norm \(\parallel \eta \parallel _{[H^1(D)]^2} = (\sum _{i=1}^2 \parallel \eta _i \parallel _{H^1(D)}^2)^{1/2}\). Recall from [11] the cost functional approximating the normal contact stress on the contact boundary \(\varGamma _2\)

$$\begin{aligned} J_\eta (u(\varOmega )) = \int _{\varGamma _2} \sigma _N(u) \eta _{N}(x) ds, \end{aligned}$$
(18)

depending on the auxiliary given bounded function \(\eta (x) \in M^{st}\). \(\sigma _N\) and \(\phi _N\) are the normal components of the stress field \(\sigma \) corresponding to a solution \(u\) satisfying system (12)–(13) and the function \(\eta \), respectively.

Consider the following structural optimization problem: for a given function \(\eta \in M^{st}\), find a domain \(\varOmega ^\star \in U_{ad}\) such that

$$\begin{aligned} J_\eta (u(\varOmega ^\star )) = \min _{\varOmega \in U_{ad}} J_\eta (u(\varOmega )) \end{aligned}$$
(19)

Lemma 1

There exists an optimal domain \(\varOmega ^\star \in U_{ad}\) to the problem (19).

The proof follows from Šverák theorem and arguments provided in [3, Theorem 2]. Recall from [3] the class of domains \(O_l\) determined by (1) is endowed with the complementary Hausdorff topology that guarantees the class itself to be compact. The admissibility condition \(^\#\varOmega ^c \le l\) is crucial to provide the necessary compactness property of \(U_{ad}\) [3].

3 Level Set Approach

In [11] the standard level set method [13] is employed to solve numerically problem (19). Let \(t>0\) denote the time variable. Consider the evolution of a domain \(\varOmega \) under a velocity field \(V=V(x,t)\). Under the mapping \(T(t,V)\) we have

$$\begin{aligned} \varOmega _t= T(t,V)(\varOmega )=(I + t V)(\varOmega ), \; \; t > 0 . \end{aligned}$$

By \(\varOmega ^-_t\) and \(\varOmega ^+_t\) we denote the interior and the outside of the domain \(\varOmega _t\), respectively. This domain and its boundary \(\partial \varOmega _t\) are defined by a function \(\phi =\phi (x,t) \; : \; R^2 \times [0, t_0) \rightarrow R \) satisfying the conditions:

$$\begin{aligned} \phi (x,t) \; = \; 0, \; \text {if} \; \; x \in \partial \varOmega _t, \; \; \phi (x,t) \; < \; 0, \; \text {if} \; \; x \in \varOmega ^-_t, \\ \phi (x,t) \; > \; 0, \; \text {if} \; \; x \in \varOmega ^+_t. \nonumber \end{aligned}$$
(20)

In the standard level set approach Heaviside function and Dirac function are used to transform integrals from domain \(\varOmega \) into domain \(D\). Assume that velocity field \(V\) is known for every point \(x\) lying on the boundary \(\partial \varOmega _t\), i.e., such that \(\phi (x,t)=0\). Therefore the equation governing the evolution of the interface in \(D\times [0, t_0]\), known as Hamilton-Jacobi equation, has the form [13]

$$\begin{aligned} \frac{\partial \phi (x,t)}{\partial t} + V(x,t) \cdot \nabla _x \phi (x,t) = 0. \end{aligned}$$
(21)

Moreover \(\phi (x,0)=\phi _0\) where \(\phi _0(x)\) is a given function close to the signed distance function [13].

3.1 Binary Level Set Formulation

Recall from [4, 10] the notion of a binary level set function. Let \(N\) be a given integer. Assume an open bounded domain \(D\) in \(R^2\) is partitioned into \(2^N\) sub-domains \(\{ \varOmega _j \}^{2^N}_{j=1}\) such that

$$\begin{aligned} D = \bigcup _{j=1}^{2^N} ( \varOmega _j \cup \partial \varOmega _j ). \end{aligned}$$
(22)

\(\partial \varOmega _j\) denotes the boundary of the sub-domain \(\varOmega _j\). For \(N=2\) this function mapping \(\phi : D \rightarrow R\), is defined as:

$$\begin{aligned} \phi (x) = \left\{ \begin{array}{rl} +1, &{} \text {if} \, x \in \varOmega _1, \\ -1, &{} \text {if} \, x \in \varOmega _2=D \setminus \varOmega _1. \end{array} \right. \end{aligned}$$
(23)

The interface \(\partial \varOmega _1=\partial \varOmega _2\) is implicitly defined by the discontinuity of \(\phi \), i.e., \(\partial \varOmega _1=\{ x \in D \; : \; \phi (x)=\kappa , \; \; \kappa \in (-1,1) \}\). In order to ensure that for every \(x \in D\) this function converges to values \(+1\) and \(-1\) it is supposed to satisfy:

$$\begin{aligned} W(\phi ) \mathop {=}\limits ^{def} (\phi ^2 -1) = 0. \end{aligned}$$
(24)

More generally, using \(N\) binary level set functions \(\phi _i\), \(i=1,2, ...,N\), satisfying (24) we can represent \(2^N\) sub-domains \(\varOmega _j\) of \(D\). The characteristic functions \(\chi _j\), \(j=1,2,...,2^N\), of the sub-domains \(\varOmega _j\) in terms of binary level set functions \(\phi _i\) are represented as

$$\begin{aligned} \chi _j = \frac{(-1)^{s(j)}}{2^N} \prod ^N_{i=1} (\phi _i+1-2b_i^{j-1} ) \; \; \text {where} \; \; s(j)=\sum ^{N}_{i=1} b_i^{j-1}. \end{aligned}$$
(25)

For \(j=1,2,...,2^N\) and \(i=1,...,N\) numbers \(b_i^{j-1}=0 \vee 1\) denotes binary representation of \(j-1\)th sub-domain. As long as each binary function satisfies (24) and \(\chi _j(x)\) are defined by (25) then

$$\begin{aligned} \mathrm {supp}(\chi _j) = \varOmega _j, \; \; \chi _j=1 \; in \; \varOmega _j \; \; \;&\text {and} \; \; \; \mathrm {supp}(\chi _i) \cap \mathrm {supp}(\chi _j) = \emptyset \; \; \text {for} \; \; i \ne j, \end{aligned}$$
(26)
$$\begin{aligned}&\sum _j \mathrm {supp}(\chi _j)= \varOmega . \end{aligned}$$
(27)

Condition (26) ensures non overlapping of the phases while (27) prevents vacuums. Basis functions \(\chi _j\) are used to calculate the length of the boundary \(\partial \varOmega _j\) as well as the area inside \(\varOmega _j\) using the integrals:

$$\begin{aligned} \mid \partial \varOmega _j \mid = \int _{\varOmega _j} \mid \nabla \chi _j \mid dx \; \; \; \text {and} \; \; \; \mid \varOmega _j \mid =\int _{\varOmega _j} \chi _j dx. \end{aligned}$$
(28)

The length of the boundary \(\partial \varOmega _j\) of sub-domain \(\varOmega _j\) equals the total variation of \(\chi _j\) [2]. Consider piecewise constant density function \(\rho =\rho (x) : D \rightarrow R^2\) defined as

$$\begin{aligned} \rho (x) = \left\{ \begin{array}{rl} c_1 &{} \text {if}\, x \in D\setminus \bar{\varOmega }, \\ c_2 &{} \text {if}\, x \in \varOmega , \end{array} \right. \end{aligned}$$
(29)

where \(0 < c_1 < c_2 < \infty \) denote two given material densities. This function can be constructed as a weighted sum of the characteristic functions \(\chi _j\). Denoting by \(\{ c_j \}^{2^N}_{j=1}\) a set of real scalars, we can represent a piecewise constant function \(\rho \) taking these \(2^N\) distinct constant values in sub-domains \(\varOmega _j\) by

$$\begin{aligned} \rho (x) = \sum _{j=1}^{2^N} c_j \chi _j(x). \end{aligned}$$
(30)

We confine to consider a two-phase problem in the domain \(D\), i.e., we set \(N=2\) and \(c_1=\epsilon \), \(\epsilon >0\) as well as \(c_2=1\). Since \(\varOmega \) consists from two sub-domains one binary level set function \(\phi \) satisfying (24) will be used to describe these sub-domains. Therefore

$$\begin{aligned} \chi _1(x) = \phi (x) + 1 \; \; \text {and} \; \; \chi _2(x) = 1 - \phi (x), \end{aligned}$$
(31)
$$\begin{aligned} \rho (x) = \sum _{j=1}^2 c_j \rho _j= c_1 \chi _1(x) + c_2 \chi _2(x) = c_1(\phi (x)+1) + c_2(1- \phi (x) ). \end{aligned}$$
(32)

Using (22) as well as (32) the structural optimization problem (19) can be transformed into the following one: find \(\phi \in U_{ad}^\phi \) such that

$$\begin{aligned} \min _{\phi \in U_{ad}^\phi } J_\eta (\phi ) = \int _{\varGamma _2} \rho (\phi ) \sigma _N(u_\epsilon ) \eta _N ds, \end{aligned}$$
(33)

where the set \(U_{ad}^\phi \) of the admissible functions is given as

$$\begin{aligned} U_{ad}^\phi = \{ \phi \in H^1(D): Vol(\phi ) - Vol^{giv} \le 0, \; W(\phi )= 0, \; Per(\phi ) \le const_1 \}, \; \end{aligned}$$
(34)
$$\begin{aligned} Vol(\phi ) \mathop {=}\limits ^{def} \int _\varOmega \rho (\phi ) dx, \; Per(\phi ) \mathop {=}\limits ^{def} \int _\varOmega \mid \nabla \phi \mid dx. \; \end{aligned}$$
(35)

The element \((u_\epsilon ,\lambda _\epsilon ) \in K \times \varLambda \) depending on \(\epsilon \) satisfies the state system (12)–(13) in the domain \(D\) rather than \(\varOmega \):

$$\begin{aligned}&\int _D \rho (\phi ) a_{ijkl}e_{ij}(u_\epsilon )e_{kl}(\varphi - u_\epsilon ) dx - \int _{D} \rho (\phi ) f_i (\varphi _i-u_{\epsilon i})dx - \nonumber \\&\int _{\varGamma _1} p_i (\varphi _i -u_{\epsilon i})ds + \int _{\varGamma _2} \lambda _\epsilon (\varphi _T - u_{\epsilon T}) ds \ge 0 \; \; \forall \varphi \in K, \end{aligned}$$
(36)
$$\begin{aligned}&\int _{\varGamma _2} (\zeta - \lambda _\epsilon ) u_{\epsilon T} ds \le 0 \; \; \; \forall \zeta \in \varLambda . \end{aligned}$$
(37)

Lemma 2

There exists an optimal solution \(\phi \in H^1(D)\) to the optimization problem (33)–(37).

The proof follows from the lower semicontinuity in \(L^1(D)\) of the regularization term in (34) see [2, Theorem 3.2.1, p. 75].

3.2 Necessary Optimality Conditions

In order to formulate the necessary optimality condition for the optimization problem (33)–(37) we introduce the Lagrangian \(L(\phi , \tilde{\lambda })= L(\phi , u_\epsilon , \lambda _\epsilon , p^a, q^a, \tilde{\lambda } )\):

$$\begin{aligned} L(\phi , \tilde{\lambda }) = J_\eta (\phi ) + \int _D \rho (\phi ) a_{ijkl} e_{ij}(u_\epsilon )e_{kl}(p^a) dx - \int _{D} \rho (\phi ) f_i p^a_i dx \nonumber \\ -\int _{\varGamma _1} p_i p^a_i ds + \int _{\varGamma _2} \lambda _\epsilon p^a_T ds + \int _{\varGamma _2} q^a u_{\epsilon T } ds + \tilde{\lambda } d(\phi ) + \sum _{i=1}^3 \frac{1}{2 \mu _i} d^2_i(\phi ), \end{aligned}$$
(38)

where \(i,j,k,l=1,2\), \(\tilde{\lambda }=\{ \tilde{\lambda }_i \} ^3_{i=1}\), \(d(\phi )=\{ d_i(\phi ) \}_{i=1}^3 = [Vol(\phi ), W(\phi ), Per(\phi )]^T\), \(d^T(\phi )\) denotes a transpose of \(d(\phi )\), \(\mu _m>0\), \(m=1,2,3\), is a given real. Element \((p^a,q^a) \in K_1 \times \varLambda _1 \) denotes an adjoint state defined as follows:

$$\begin{aligned}&\int _{D} \rho (\phi ) a_{ijkl}e_{ij}( \eta + p^{a})e_{kl}(\varphi ) dx + \int _{\varGamma _2} q^{a} \varphi _T ds = 0 \; \; \; \forall \varphi \in K_{1}, \; \; \end{aligned}$$
(39)
$$\begin{aligned}&\int _{\varGamma _2} \zeta (p^{a}_{T } + \eta _T) ds = 0 \; \; \forall \zeta \in \varLambda _1. \end{aligned}$$
(40)

The sets \(K_{1}\) and \(\varLambda _1\) are given by

$$\begin{aligned} K_{1} = \{ \xi \in V_{sp} \; : \; \xi _N = 0 \; \text { on }A^{st} \}, \end{aligned}$$
(41)
$$\begin{aligned} \varLambda _1 = \{ \zeta \in \varLambda \; : \; \zeta (x) = 0 \text { on } B_1 \cup B_2 \cup B_1^+ \cup B^+_2 \}, \end{aligned}$$
(42)

while the coincidence set \(A^{st} = \{ x \in \varGamma _2 \; : \; u_N = 0 \}\). Moreover \(B_1=\{ x \in \varGamma _2 : \lambda (x)=-1\}\), \(B_2=\{ x \in \varGamma _2 : \lambda (x)=+1\}\), \(\tilde{B}_i=\{ x \in B_i: u_N(x) =0 \}\), \(i=1,2\), \(B_i^+=B_i\setminus \tilde{B}_i\), \(i=1,2\). The derivative of the Lagrangian \(L\) with respect to \(\phi \) has the form:

$$\begin{aligned} \frac{\partial L}{\partial \phi }(\phi , \tilde{\lambda }) = \int _D \rho ^\prime (\phi ) [a_{ijkl}e_{ij}(u_\epsilon ) e_{kl}(p^a + \eta ) - f(p^a + \eta )]dx \nonumber \\ +\tilde{\lambda } d^\prime (\phi ) + \sum _{i=1}^3 \frac{1}{\mu _i} d(\phi ) d^\prime (\phi ), \end{aligned}$$
(43)

where \(\rho ^\prime (\phi ) = c_1-c_2=1 - \epsilon \), \(d^\prime (\phi )=[Vol^\prime (\phi ), W^\prime (\phi ), Per^\prime (\phi )]\) and

$$\begin{aligned}&Vol^\prime (\phi ) = 1, \; \; W^\prime (\phi ) = 2 \phi , \; \; \end{aligned}$$
(44)
$$\begin{aligned} Per^\prime (\phi ) =\chi _{ \{ \partial \varOmega = const_0 \} }&\max \{ 0, - \nabla \cdot ( \frac{\nabla \phi }{\mid \nabla \phi \mid } ) \} - \chi _{ \{ \partial \varOmega > const_0 \} } \nabla \cdot (\frac{\nabla \phi }{\mid \nabla \phi \mid } ). \end{aligned}$$
(45)

Using (39)–(45) we can formulate the necessary optimality condition:

Lemma 3

If \(\hat{\phi }\in U_{ad}^\phi \) is an optimal solution to the problem (33)–(37) than there exists Lagrange multiplier \(\tilde{\lambda }^\star =(\tilde{\lambda }^\star _1, \tilde{\lambda }^\star _2,\tilde{\lambda }^\star _3) \in R^3\) such that \(\tilde{\lambda }_1^\star , \tilde{\lambda }_3^\star \ge 0\) satisfying

$$\begin{aligned} L(\hat{\phi }, \tilde{\lambda }) \le L(\hat{\phi }, \tilde{\lambda }^\star ) \le L(\phi , \tilde{\lambda }^\star ) \; \; \forall (\phi , \tilde{\lambda }) \in U_{ad}^\phi \times R^3. \end{aligned}$$
(46)

Proof follows from standard arguments [6, 8]. Recall [6, 9] condition (46) implies that for all \(\phi \in U_{ad}^\phi \) and \(\tilde{\lambda } \in R^3\)

$$\begin{aligned} \frac{\partial L (\hat{\phi }, \tilde{\lambda } ) }{\partial \phi } \ge 0 \; \; \text {and} \; \; \frac{\partial L(\phi , \tilde{\lambda }^\star ) }{\partial \tilde{\lambda }} \le 0. \end{aligned}$$
(47)

4 Numerical Experiments

The optimization problem (33)–(37) is discretized using the finite element method [8, 9]. The finite difference method is used to approximate interface evolution (gradient flow) equation [2]. The discretized structural optimization problem (33)–(37) is solved numerically. We employ Uzawa type algorithm to solve numerically optimization problem (33)–(37). The algorithm is programmed in Matlab environment. As an example a body occupying 2D domain

$$\begin{aligned} \varOmega = \{ (x_1,x_2) \in R^2 : 0 \le x_1 \le 8 \; \wedge \; 0 < v(x_1) \le x_2 \le 4 \}, \end{aligned}$$
(48)

is considered. The boundary \(\varGamma \) of the domain \(\varOmega \) is divided into three disjoint pieces

$$\begin{aligned} \varGamma _0 = \{(x_1,x_2) \in R^2 : x_1=0, 8 \; \wedge \; 0 < v(x_1) \le x_2 \le 4 \}, \nonumber \\ \varGamma _1 = \{ ( x_1 ,x_2 ) \in R^2 : 0 \le x_1 \le 8 \; \wedge \; x_2 = 4 \}, \\ \varGamma _2 = \{ (x_1,x_2) \in R^2 : 0 \le x_1 \le 8 \; \wedge \; v(x_1) = x_2 \}. \nonumber \end{aligned}$$
(49)

The domain \(\varOmega \) and the boundary \(\varGamma _2\) depend on the function \(v\) given as in Fig. 1. The obtained optimal domain is presented in Fig. 2. The areas with low values of density function appear in the central part of the body and near the fixed edges. The obtained normal contact stress is almost constant along the optimal shape boundary and has been significantly reduced comparing to the initial one.

Fig. 2.
figure 2

Optimal domain \(\varOmega ^\star \).