1 Introduction

Automotive industry must constantly respect safety and environmental standards, comfort requirement, etc., while producing even more performant cars. One of the main concerns is weight reduction. Lightweighting of vehicles actually leads to a reduction of fuel consumption i.e. a reduction of CO2 emissions. Moreover, structures lightening allows saving on raw materials and cost avoidance. There are several methods to lighten parts, including topology optimization. This method has been studied quite a lot for the structure of a part alone while its connections to other parts are fixed in the non-design space. However, the performance of a system is strongly affected by the locations and the number of its connections. In the present work, connections are a not fixed data input anymore. They are design-variables as well as the structure.

Shape and topology optimization of structures is a well-established field (see e.g. Allaire 2002; Bendsøe and Sigmund2003). One of the most popular approaches is the Solid Isotropic Material Penalization method (also known as SIMP) (Bendsøe 1989, 2003). An alternative approach is the level-set method combined with Hadamard’s boundary variation method (Allaire et al. 2004; Wang et al. 2003), which is the method used in the present work. According to the original idea of Osher and Sethian (1988, 2006), Sethian (1999), boundaries of the shape are tracked by the zeros of a level-set function. The advection velocity is given by the shape derivative of the objective function, computed by Hadamard’s method (Murat and Simon 1976; Pironneau 1984; Simon 1980; Sokołowski and Zolesio 1992). Furthermore, we combine the level-set method with the notion of topological derivative which is a complementary tool that improves the final shape and topology of the structure by introducing new connections.

As introduced in Céa et al. (2000), Novotny and Sokołowski (2013), Sokołowski and Żochowski (1999, 2001), the topological derivative indicates where it might be more interesting to introduce a small inclusion or a small hole with specific boundary conditions. It is conceptually different from the shape derivative which merely indicates how to move (already present) boundaries. The topological derivative stems from an asymptotic analysis of the objective function with respect to a small perturbation of the initial domain. This notion has been deployed for a wide range of models: linear elasticity system in Garreau et al. (2001) and Sokołowski and Żochowski (1999) (for holes with Neumann boundary condition), Navier-Stokes equations in Amstutz (2005a) (for holes with Dirichlet boundary condition), Helmholtz equation for wave guide optimization in Samet et al. (2003), crack detection in Amstutz et al. (2005b), image processing in Auroux et al. (2006), damage evolution modelling in Allaire et al. (2011) or inverse problems in Ammari and Kang (2004). The above list is obviously not exhaustive. Yet, in section 3, we add one more new example of a topological derivative, evaluating the sensitivity to the nucleation of a new connection, which is an idealized model of a standard bolt. This mathematical ingredient is one of the main novelty of the present work. We compute this topological derivative when the objective function is the compliance of the elasticity system in 3d. The asymptotic analysis is established with a variational approach (see Rakotondrainibe (2020) for the proof) although it can also be computed with an integral approach or layer potential techniques as in Ammari and Kang (2004), Garreau et al. (2001), and Guillaume and Sid Idris (2002).

There are already some works dealing with supports optimization for bar or frame structures (see e.g. (Bojczuk and Mroz 1998; Mroz and Rozvany 1975; Szelag and Mroz 1978)) where location, number and stiffness of supports are design-variables. A topological derivative approach is used in (Bojczuk and Rebosz-Kurdek 2014) in order to create new support in a problem of location and number optimization of supports for bar structures. Optimal support locations are studied in (Son and Kwak 1993) for eigenvalue problems. More complex systems are studied in (Jiang and Chirehdast 1997) in which a connection is modeled by a spring: a SIMP approach is used to penalize spring rigidity and allows to limit the number of connections for 3d multi-components system. A coupled optimization of both structure and supports with density approaches is performed in Buhl (2002) and Zhu and Zhang (2010). A multi-point constraints (MPC) based method is applied in Zhu et al. ((Zhu et al. 2015; Zhu et al. 2017)) to optimize connections and structure of multi-component systems. The level-set method is employed in Xia et al. (2014) to optimize both structure and support of continuum structures. This work is quite close to our example in Section 2. However, supports have changing shapes and are rigid in Xia et al. (2014) whereas they have fixed shape and can be more complex (as a bolt) in this paper. Instead of a gradient-based method, an evolutionary optimization of structure and connections is proposed in Li et al. (2001). For more industrial implementations of connections optimization, one can refer to Cai et al. (1994), Johanson (1996), and Menassa and DeVries (1991). Recent advancement of topology optimization of multi-component structural design accentuate the interest in coupling structure and connections optimization (see e.g. Liu and Kang 2018; Woischwill and Kim 2018; Zhou and Saitou 2018). A wider example of coupled topology optimization is given in (Koppen et al. 2018) for an optical performance problem combining a structural-thermal-optical analysis. The main novelties of the present work are twofold. First, we consider connections (either rigid supports or bolt-like connections) which have a fixed shape and only their position is optimized, concurrently with the topology of the structure in a level-set framework. Second, we introduce a notion of topological gradient for a connection, which allows to decide when creating or not a new bolt-like connection.

The present work investigates two models of connections, namely rigid support and bolt-like connection. Section 2 focuses on the coupled optimization of rigid supports locations and the structure of a part in a mechanical system. This issue is illustrated with a simplified industrial test case of an accessories bracket assembly. The optimization problem is to minimize the volume of the bracket under a compliance constraint. The structure is classically optimized with the level-set method (Allaire et al. 2004; Wang et al. 2003). The positions of the rigid supports are optimized with a parametric gradient-based algorithm. Section 3 extends our previous approach by replacing rigid supports with bolt-like connections, thus opening the way to optimize several parts connected by such bolts. We first give a preparatory model of a standard bolt where the bolt is represented by a spring with rigid extremities. The pre-stressed state and a contact model are not taken into account yet. Then, topological derivative techniques are adapted to this new setting. The topological derivative depends on two variables, the position and the orientation of the bolt, which allow us to find the optimal placement of a new bolt in order to decrease the compliance. Finally, this model is implemented on a simple academic 3d test case. The topological gradient is not included in an optimization loop yet. It is used here to decide where to initially put a bolt. We leave to further work (Rakotondrainibe 2020) the subsequent coupled optimization of a complete bolt model (with the pre-stressed state) and the structure, possibly on a more realistic test case, in the spirit of Section 2.

2 Rigid supports

2.1 Setting of the problem

2.1.1 Scope of the study

This section is devoted to a simplified model of an accessories bracket assembly taken from a diesel engine (cf. Figure 1). This simplified model has the characteristic dimensions of a reference model given by Renault (cf. Figure. 2). In the following test case, accessories are an alternator, a belt tensioning roller and an air conditioning (AC) compressor. Perfect bonding is assumed between the accessories and the bracket. The union of all accessories and of the bracket is what is called assembly. The accessories bracket insures their positioning and their fastening to the crankcase. The alternator supplies electricity to the vehicle. The belt tensioning roller regulates the belt tension. The AC compressor insures the flow and compression of the air conditioning fluid. In the sequel, the accessories are not optimized.

Fig. 1
figure 1

Simplified accessories and bracket where only the accessories bracket (in brown) is to be optimized

Fig. 2
figure 2

Reference engine (belt, accessories and bracket are in the lower left-hand corner)

In this test case, connections are rigid supports. They correspond to seven clamped zones of the bracket to the crankcase which is not represented in this study. For the sake of simplicity, they are represented by discs on the surface of the bracket. We choose this ideal shape in order to be functional and user-friendly.

2.1.2 The elasticity problem

Let \(\mathcal {D}\) be the working domain containing the accessories and bracket assembly. This assembly \({\Omega }_{ASB} \subset \mathcal {D}\) is made of disjoint parts

$${\Omega}_{ASB} = {\Omega} \cup {\Omega}_{NDS} \cup {\Omega}_{ACC},$$

namely the design-space Ω (in brown in Fig. 1) and the non design-space ΩNDS of the bracket and the accessories ΩACC (alternator, belt tensioning roller and AC compressor). Its boundaries is likewise divided into disjoints parts

$$\partial {\Omega}_{ASB} = {\Gamma}_{TF} \cup {\Gamma}_{D} \cup {\Gamma}_{N},$$

where ΓTF is the traction-free boundary, ΓD corresponds to clamped zones and loads are applied on accessories pulleys ΓN (Neumann boundary conditions). Since the accessories are not optimized, it is better to distinguish the traction-free boundary of the design-space of the bracket, denoted Γ, from the traction-free boundaries of accessories, that is ΓTF∖Γ. These boundaries are displayed in Fig. 3 for further clarity. The orange part is the boundary to be optimized. We denote by n the outer unit normal to ΩASB.

Fig. 3
figure 3

Boundaries of the sub-parts

The assembly ΩASB is made of linear isotropic elastic materials. Typically, the bracket is aluminium and accessories are mostly aluminium or steel. For a displacement field , the strain tensor is then defined by

$$\varepsilon(\textbf{u})=\frac{1}{2}(\nabla \textbf{u} + \nabla^{T}\textbf{u}). $$

The stress tensor is given by the Hooke’s law

$$\textsf{A}\varepsilon(\textbf{u}) = 2\mu \varepsilon(\textbf{u}) + \lambda tr(\varepsilon(\textbf{u}))I,$$

with μ and λ the Lamé coefficients of the material. Surface loads on the accessories pulley are applied simultaneously on 3 different parts of ΓN. Loads g are then split into gALT, gBTR and gCOMP as displayed in Fig. 4. They correspond to integrated contact force of the tensioned belt on each pulley given in Table 1. These are values of the tension forces applied in the reference model. The mechanical analysis problem is then a single and static load case.

Fig. 4
figure 4

Load case

Table 1 Tension force values

In the sequel, there are seven rigid supports, which are discs, centered at points xi, 1 ≤ i ≤ 7 (cf. Figure 6). Mathematically speaking, rigid supports correspond to zero displacement on the clamped zones ΓD (Dirichlet boundary condition). However, the transition between Dirichlet and Neumann boundary conditions leads to singularity of the elastic displacement, which is a delicate issue for computing the shape derivative (see Fremiot and Sokołowski (2001), Dapogny et al. (2019) and Remark 1 for more details). To avoid mathematical technicalities, we rather use a penalization and regularization technique to enforce the Dirichlet boundary condition. More precisely, the Dirichlet condition u = 0 on ΓD is replaced by the following Robin or Fourier condition

$$ \textsf{A}\varepsilon(\textbf{u})\textbf{n} = -\frac{1}{\epsilon}\textbf{u}{\Psi}(\textbf{x}-\textbf{x}_{i}) $$
(1)

for each rigid support 1 ≤ i ≤ 7. The penalization coefficient 𝜖 > 0 is a very small value and Ψ is a regularization of the characteristic function of the rigid support i centred at xi. To avoid discontinuous boundary condition on \({\Gamma }_{BR_{DS}}\), the smooth function Ψ is equal to 1 inside the disc of center xi, then decrease to 0 in the vicinity of that disc and is equal to 0 otherwise (cf. Figure 5). Furthermore, this penalization technique avoids remeshing the rigid supports zones while optimizing their location. The center xi of the smoothed characteristic function is the only parameter that varies. They are restricted such that functions Ψ(xxi) have disjointed support.

Fig. 5
figure 5

Regularized characteristic function Ψ of a given rigid support

Assuming that surface loads are smooth enough, the displacement field u of the assembly is then the unique solution of the linear elasticity problem

$$ \left\{\begin{array}{ll} - \textbf{div}{} &(\textsf{A}\varepsilon(\textbf{u})) = \textbf{0} \ in \ {\Omega}_{ASB} \\ &\textsf{A}\varepsilon(\textbf{u})\textbf{n} = \textbf{g} \ on \ {\Gamma}_{N} \\ &\textsf{A}\varepsilon(\textbf{u})\textbf{n} = \textbf{0} \ on \ {\Gamma}_{TF} \backslash {\Gamma} \\ &\textsf{A}\varepsilon(\textbf{u})\textbf{n} = -\frac{1}{\epsilon}\textbf{u}\sum\limits_{i=1}^{7}{\Psi}(\textbf{x} - \textbf{x}_{i}) \ on \ {\Gamma} \end{array}.\right. $$
(2)

Note that, since Ψ is a smooth compactly supported function, the solution u of the above system is smooth and its shape derivative can easily be computed, in particular when moving the positions xi of the rigid supports.

2.1.3 The optimization problem

An industrial goal is to minimize the weight of the bracket. Since the material density is constant, the weight minimization is equivalent to a volume minimization. We consider the volume of the optimizable part of the bracket, in other words, the design space of the bracket

$$ V({\Omega}) = \int\limits_{\Omega} dV. $$
(3)

The volume reduction implies a loss of the assembly stiffness which is controlled by the increase of the work done by the loads, that is to say the compliance of the assembly, which reads

$$ C({\Omega},\textbf{x}_{i}) = \int\limits_{{\Gamma}_{N}} \textbf{g} \cdot \textbf{u} dS. $$
(4)

The initial compliance, denoted C0, is the work done by loads with the full bracket before the optimization process. In this test case, an increase of a given rate η of the initial compliance is allowed.

Design variables are the structure of the bracket (denoted by Ω) and the rigid supports locations xi. The main purpose is then to find simultaneously the best compromise between the topology of the bracket and the locations of rigid supports. As there are two types of design variables, there should be two types of design-spaces (cf. Figure 6). Each support is allowed to translate in the plane (Y,Z) representing the crankcase face, within a specific allocated area to avoid collision of supports. One can choose an other division. The design space of the structure is naturally the entire bracket.

Fig. 6
figure 6

Rigid supports and structure design spaces

The optimization problem is then to minimize the volume of the bracket (3) under a constraint on the maximal compliance of the assembly (4). A typical formulation of this problem is

$$ \underset{{\underset{\text{s.t.} \ C({\Omega},\textbf{x}_{i})\leq (1+\eta)C_{0}}{({\Omega},\textbf{x}_{i}) \in \mathcal{U}_{ad}}}}{\min} V({\Omega}), $$
(5)

where \(\mathcal {U}_{ad}\) is the set of admissible shapes of the structure and admissible locations of rigid supports. Note that the volume V (Ω) does not depend on the rigid supports locations xi. The problem (5) is rewritten using the augmented Lagrangian functional, J(Ω,xi), that reads

$$ \begin{array}{@{}rcl@{}} &&\min_{({\Omega},\textbf{x}_{i}) \in \mathcal{U}_{ad}} \max_{\alpha\geq 0} \left\{\phantom{\frac{\upbeta}{2}}{} J({\Omega},\textbf{x}_{i}) = V({\Omega}) + \alpha (C({\Omega},\textbf{x}_{i})-(1+\eta)C_{0})\right.\\ &&\quad\left.+ \frac{\upbeta}{2} (C({\Omega},\textbf{x}_{i})-(1+\eta)C_{0})^{2} \right\}, \end{array} $$
(6)

where α and β are respectively Lagrange multiplier and penalty parameter for the compliance constraint. The value of α is optimized and that of β is updated during the optimization process (see Section 2.2.6 for details). Readers are referred to Luenberger and Ye (2008) and Nocedal and Wright (2006) for more informations about augmented Lagrangian methods.

2.2 A coupled optimization method

We propose here a coupled method for the optimization of both the structure of the bracket and the locations of rigid supports. An important distinction should be made between connections and structure. Although both are optimized using a gradient-based method, this distinction comes from their different representation. Rigid supports have simple and fixed shapes: their centers are the only design variables. By contrast, the shape of the structure is geometrically more complex. Its boundary is optimized by using the level-set method. As there are two types of design-variables, there are two associate design-spaces (see Section 2.2.5 for more details about their interaction). In the following, to compute gradients (more precisely, partial derivatives) with respect to one type of design variables, the other type of design variables is kept fixed. Thus, support locations are fixed when the structure is optimized and vice versa.

2.2.1 Parametrization of the rigid supports

The rigid supports have fixed shapes and sizes and only their centers are design variables. Their optimization is thus performed with a parametric gradient-based algorithm

$$ \textbf{x}_{i}^{k+1} = \textbf{x}_{i}^{k} - \delta^{k} \frac{\partial J}{\partial \textbf{x}_{i}}({\Omega},\textbf{x}_{i}^{k}), $$
(7)

where \(\textbf {x}_{i}^{k}\) is the center of the rigid support i at iteration k, δk is the descent step and \(\frac {\partial J}{\partial \textbf {x}_{i}}({\Omega },\textbf {x}_{i})\) is the partial derivative of (6). Because of our choice of a penalized and regularized formulation of the rigid supports, they don’t need to be exactly meshed and there is no remeshing during the optimization process. This approach is then numerically cost-effective.

2.2.2 Derivative of the objective function with respect to support locations

Consider the rigid support i centered at point xi. The descent direction of (7) is obtained by differentiating J with respect to the point xi. This Lagrangian functional J, defined by (6), depends on xi through the compliance but it is not clearly explicit in its expression (6). To bring to light this dependence, let us consider for simplicity the compliance C, defined by (4), instead of J (which depends polynomially on C) and define another Lagrangian function

$$ \begin{array}{@{}rcl@{}} \mathcal{L}({\Omega},\textbf{v},\textbf{q},\textbf{x}_{i}) &= &\int\limits_{{\Gamma}_{N}} \textbf{g} \cdot \textbf{v} dS + \int\limits_{{\Omega}_{ASB}}\textsf{A}\varepsilon(\textbf{v}):\varepsilon(\textbf{q}) dV - \int\limits_{{\Gamma}_{N}} \textbf{g} \cdot \textbf{q} dS \\ &&+ \frac{1}{\epsilon} \sum\limits_{i=1}^{7} \int\limits_{\Gamma} \textbf{v} \cdot \textbf{q} {\Psi}(\textbf{x}-\textbf{x}_{i}) dS, \end{array} $$
(8)

where and Ω ⊂ΩASB are independent variables. As usual, one can check that the system is self-adjoint, i.e., the adjoint state p is simply p = −u. Introduce the coordinates of the vector xi = (xi,yi,zi). Recalling that rigid supports are allowed to translate in the plane (Y,Z), the partial derivative of \({\mathcal{L}}\) with respect to xi is zero. The descent directions along Y and Z are respectively obtained by first differentiating the Lagrangian (8) at yi and zi for fixed (v,q) and, second, evaluating the derivative at (v,q) = (u,−u). We obtain

$$ \begin{array}{@{}rcl@{}} &&\frac{\partial \mathcal{L}}{\partial y_{i}}({\Omega},\textbf{u},-\textbf{u},\textbf{x}_{i}) = \frac{1}{\epsilon}\int\limits_{\Gamma} |\textbf{u}|^{2}\frac{\partial{\Psi}}{\partial y_{i}}(\textbf{x}-\textbf{x}_{i}) dS, \\ &&\frac{\partial \mathcal{L}}{\partial z_{i}}({\Omega},\textbf{u},-\textbf{u},\textbf{x}_{i}) = \frac{1}{\epsilon}\int\limits_{\Gamma} |\textbf{u}|^{2}\frac{\partial{\Psi}}{\partial z_{i}}(\textbf{x}-\textbf{x}_{i}) dS. \end{array} $$
(9)

The adjoint state is defined such that the partial derivative of the Lagrangian is equal to the partial derivative of the compliance. We have then

$$ \frac{\partial \mathcal{L}}{\partial \textbf{x}_{i}}({\Omega},\textbf{u},-\textbf{u},\textbf{x}_{i}) = \frac{\partial C}{\partial \textbf{x}_{i}}({\Omega},\textbf{u},-\textbf{u},\textbf{x}_{i}). $$
(10)

The partial derivative of J, defined by (6), is now easy to calculate and it is left to the readers.

Remark 1

If the Dirichlet boundary conditions on the supports \({\Gamma }_{BR_{DS}}\) were not penalized and regularized, the computation of the derivative (9) would be much more involved. Although the computation of shape derivatives for Dirichlet boundary conditions is well known (see e.g. Allaire et al. 2007, 2004), the difficulty is that the elastic displacement u is not smooth on the line which is the transition between Dirichlet boundary conditions and Neumann boundary conditions and therefore most classical formulas of shape derivatives do not hold true. For more details, the reader is refered to Fremiot and Sokołowski (2001) and Dapogny et al. (2019). This lack of regularity of u at the interface on the boundary between a Dirichlet zone and a Neumann zone is overcome by the penalization or Robin boundary condition (1), as well as the smoothness of the regularization Ψ of the characteristic function of the support (see Fig. 5). In such a case, the resulting displacement u is smooth and the problem is suitable for the classical formulas of shape derivatives with Hadamard’s method. This difficulty appears also in the case of an interface optimization and it can be cured also by a regularization process as explained in Allaire et al. (2014).

2.2.3 Level-set method for the structure

Let be a working domain containing all admissible shapes. The structure Ω is described by a function φ defined on \(\mathcal {D}\) by

$$ \left\{\begin{array}{lll} \varphi &< 0 \ \text{ in } \ {\Omega} \\ \varphi &= 0 \ \text{ on } \ \partial{\Omega} \cap \overline{\mathcal{D}} \\ \varphi &> 0 \ \text{ on } \ \mathcal{D}\backslash\overline{\Omega} \end{array}.\right. $$
(11)

The level-set method captures a given shape on a fixed mesh and it does not require remeshing. The shape is optimized using a gradient-based algorithm. The shape, initially defined by φ0(x), is updated to a new shape defined by φ(t,x), by solving the following advection Hamilton-Jacobi equation

$$ \left\{\begin{array}{ll} &\frac{\partial\varphi}{\partial t}(t,\textbf{x}) + V(t,\textbf{x})|\nabla \varphi(t,\textbf{x})| = 0 \\ &\varphi(0,\textbf{x}) = \varphi_{0}(\textbf{x}) \end{array},\right. $$
(12)

where V (t,x) is a scalar advection velocity given by the shape derivative of the Lagrangian functional (6).

2.2.4 Shape derivative for the structure

The advection velocity of (12) is obtained by Hadamard’s method of shape differentiation. The dependence on xi is left out to ease the notations. For a bounded smooth domain , we consider variations of the form Ω𝜃 = (Id + 𝜃)(Ω), where is a small vector field. In other words, 𝜃 is the displacement field defining the transport of the initial domain Ω to the new one Ω𝜃. Following Murat and Simon (1976), Pironneau (1984), Simon (1980), and Sokołowski and Zolesio (1992) the shape derivative of a function J at Ω is defined as the Fréchet differential at 0 of the map 𝜃J((Id + 𝜃)(Ω)),

$$ \begin{array}{@{}rcl@{}} J((Id+\boldsymbol{\theta})({\Omega})) &=& J({\Omega}) + J^{\prime}({\Omega})(\boldsymbol{\theta})\\ &&+ o(\boldsymbol{\theta}) \ \text{with} \ \lim\limits_{\boldsymbol{\theta}\to 0}\frac{|o(\boldsymbol{\theta})|}{\|\boldsymbol{\theta}\|} = 0, \end{array} $$
(13)

where \(\boldsymbol {\theta } \mapsto J^{\prime }({\Omega })(\boldsymbol {\theta })\) is a continuous linear map on . The shape derivative of the volume is well-known

$$ V^{\prime}({\Omega})(\boldsymbol{\theta}) = \int\limits_{\Gamma} \boldsymbol{\theta} \cdot \textbf{n} dS. $$

As in (Allaire et al. 2004), the shape derivative of the compliance is obtained by differentiating the Lagrangian (8) at Ω for fixed (v,q). Recall that the inhomogeneous Neumann boundaries (where the loads are applied) are fixed. It means that 𝜃 ≡ 0 on ΓN. Again, since the Lagrangian (8) features the compliance, the problem is self-adjoint and the adjoint state is simply p = −u. Differentiating \({\mathcal{L}}({\Omega },\textbf {v},\textbf {q})\) with respect to the shape and evaluating the derivative at (v,q) = (u,−u) yields

$$ \begin{array}{@{}rcl@{}} \frac{\partial \mathcal{L}}{\partial {\Omega}}({\Omega},\textbf{u},-\textbf{u})(\boldsymbol{\theta}) &=& -\int\limits_{\Gamma}\boldsymbol{\theta} \cdot \textbf{n} \left( \phantom{\sum\limits_{i=1}^{7}}{} \textsf{A}\varepsilon(\textbf{u}):\varepsilon(\textbf{u})\right.\\ &&\left.+ \frac{1}{\epsilon}\sum\limits_{i=1}^{7}\left( \frac{\partial |\textbf{u}|^{2}}{\partial \textbf{n}} + H |\textbf{u}|^{2}\right){\Psi}(\textbf{x}-\textbf{x}_{i}) \right) dS, \end{array} $$

where H = div(n) is the mean curvature. However, rigid supports locations are fixed during the optimization of the structure. They are excluded from the design-space of the structure. Therefore, the vector 𝜃 vanishes on each rigid support. The shape derivative of the Lagrangian thus reads

$$ \frac{\partial \mathcal{L}}{\partial {\Omega}}({\Omega},\textbf{u},-\textbf{u})(\boldsymbol{\theta}) = - \int\limits_{\Gamma}\boldsymbol{\theta} \cdot \textbf{n}\textsf{A}\varepsilon(\textbf{u}):\varepsilon(\textbf{u}) dS. $$
(14)

As previously, the shape derivative of the Lagrangian is equal to the shape derivative of the compliance. All the elements are here to calculate the shape derivative of the Lagrangian function (6) and it is left to the readers.

2.2.5 Interactions between rigid supports and structure

From a technological point of view, the bolt threads need some minimal surrounding of material so that diffusion of efforts into the structure is appropriate (cf. Figure 7). This minimal volume of material has a fixed geometry that is deduced from the characteristic shape and size of the rigid support. In numerical practice during the optimization process, this minimal volume follows the rigid support location. Imposing a negative level set function inside this non-design domain ensures an appropriate interaction with the design space of the structure being optimized.

Fig. 7
figure 7

Rigid supports surrounded by non-design domain of the structure

We recall that in the following, for the sake of simplicity, two rigid supports cannot merge nor collapse. This is ensured by assigning disjointed design space for each rigid support (see Fig. 6).

2.2.6 Algorithm

The level-set of the structure is initialized as the completely filled bracket design space. The number of connections is fixed to 7. Their initial location corresponds approximately to the reference model (see Fig. 6). The structure and the support locations are alternatively optimized. Inside the optimization loop, two iterations of structure optimization are performed, followed by one iteration for the support locations, until convergence. This alternate scheme handles easily the different order of sensibilities magnitude of respectively the structure and the supports. The Lagrange multiplier for the constraint on the compliance defined at (6) is optimized according to the optimality condition at each iteration by

$$ \alpha^{k+1} = \alpha^{k} + \upbeta(C({\Omega}^{k},\textbf{x}_{i}^{k})-(1+\eta)C_{0}), $$
(15)

The penalty parameter β is multiplied by a factor 1.1 every 10 iterations. They are initialized to α = 1 and β = 0.01. Concerning the rigid supports, which are not meshed and move according to their center xi, they are updated by (7) where the descent step δk is initialized to move them by at most one or two lengthscales of the mesh. The Hamilton-Jacobi (12) is advected with a standard scheme (Allaire et al. 2004).

This work relies on two types of continuous gradients (the shape derivative for the structure and a family of partial derivatives for rigid supports). An elementary stopping criterion would be to check if the norm of each gradient tends toward zero. However, numerical discretization errors of these derivatives, due to the present differentiate-then-discretize method, imply that their norm will never go to zero. One could implement a stopping criterion by checking if the gradient norm is small enough, which requires a calibration of the numerical errors. For simplicity, we did not use any stopping criterion and rather the number of iterations was fixed at the beginning. The algorithm can be restarted with the last shape and locations as initial guess if the number of iterations is not satisfactory.

2.3 Results

The test case uses a tetrahedral mesh with 109 360 elements. We recall that the optimization problem is to minimize the volume of the bracket under a compliance constraint (see (5)). An increase of η = 2% of the compliance is allowed. Figures 8 and 9 compare the optimal bracket obtained respectively by a classical structure optimization (without moving rigid supports) and by a coupled optimization of both structure and support locations. The bracket topology is significantly different since it is a single block in the first case whereas it is divided into two parts in the coupling case. Extremal changes in support locations range from 12 to 28 mm. The support optimization has been able to identify one useless connection. It is still displayed on Figs. 9 and 10 because of the settings of the non-design domain of the structure around the rigid support. However, this support, disconnected from the structure, is not necessary to respect the compliance constraint. It is noteworthy that the same support is needed by the optimized design on Fig. 8 in order to respect the compliance constraint. Therefore, the coupled optimization, not only can improve the final design, but can also indirectly optimize the number of connections. Of course, it only leads to a reduction of that number, not an increase (see Section 2.4 on this issue). Finally, this use case reveals about 1.50kg of lightening of the bracket compared to a classical optimization of its structure (corresponding to an additional 35% improvement).

Fig. 8
figure 8

Classic structure optimization for fixed support locations

Fig. 9
figure 9

Coupled support locations and structure optimization

Fig. 10
figure 10

Lateral views of result in Fig. 9 : Coupled support locations and structure optimization

Figures 11 and 12 give the history of convergence of the volume and the compliance for the classical structure optimization and for the coupled optimization. One can notice oscillations of the compliance in the case of the coupling. Those oscillations are typical of augmented Lagrangian algorithm where the value of the constraint converge non-monotonically to the target value. Actually, the optimization of support locations decreases the compliance. It counterbalances the increase due to the volume minimization. Results are gathered in the Table 2.

Fig. 11
figure 11

History of volume convergence for classical and coupled optimization

Fig. 12
figure 12

History of compliance convergence for classical and coupled optimization

Table 2 Comparison of classical and coupled optimization results

2.4 Add a new rigid support using a topological derivative approach

The previous section revealed that the coupled optimization of structure and supports locations already enables indirectly a reduction of the number of connections. A legitimate question arises now to widen the scope of the previous approach : how to add connections? The topological derivative might be an efficient way to do so. The main idea of this method is to check if it is favourable to add a small rigid support and where. The expression of the topological derivative is already known in 2d and 3d. The inclusion of a hole with Dirichlet boundary condition has already been studied by Guillaume and Sid Idris (2002): these authors established the topological derivative for the Poisson equation for a wide range of objective functions and arbitrarily shaped holes. These results were extended to the linear elasticity system in Garreau et al. (2001) in 2d and 3d using an integral approach. The same results can be obtained with a variational approach, see Rakotondrainibe (2020), but they are not implemented on numerical test case yet.

3 Standard bolt

3.1 Motivations

A rigid support is used in the industry as an idealized model of connection provided it is still meaningful. The correct transmission of efforts between two assembled parts sometimes requires a more representative model for the connection, e.g, the bolt connection type. However, fine modelling of the connection by finite element method is not necessary if one is not interested in local results, which is the case for the topology optimization context. In the case of long bolt, we may advantageously consider an analytical model. This idealized model is hence established in the following. Physical representativeness is kept at first order. This model aims to be easy to use for optimization process and topological derivative developments.

3.2 Idealized model

3.2.1 Generalities

We propose a simple representation in which displacements continuity between the bolt and the parts are embodied by two spheres symbolizing its head and its thread (see Fig. 13). This property is realized by applying rigid body motions in both spheres. In this idealized model, the head and the thread, respectively denoted by ωA and ωB, are separated by a distance , in the direction of a unit vector e, and have a radius re scaled by a factor ρ. The length stands for the implantation length of the bolt in the assembly and the radius reρ corresponds to the effective radius of the bolt (Guillot 1989).

Fig. 13
figure 13

Standard bolt and the idealized model

This model is associated to the rigidity matrix K of the bolt, obeying to the Euler-Bernoulli condition for long beam. The spheres can remotely interact with each other through the spring-like law : F = KLs, with F the generalized force and Ls the generalized lengthening of the bolt. For the sake of simplicity, the pre-stress of the bolt is not taken into account yet (this is the topic of further work (Rakotondrainibe 2020)), and only the rigidity along the direction e between ωA and ωB is considered for the re mote interaction law.

3.2.2 Energy formulation

Let Ω be a smooth bounded domain of containing an idealized bolt-like connection. The boundary of this domain is made of two disjoint parts, Ω = ΓN ∪ΓD. Neumann and Dirichlet boundary conditions are respectively imposed on ΓN and ΓD. We also define the perforated domain Ωρ, i.e. the domain Ω without the head and the tread of the idealized bolt.

$$ {\Omega}_{\rho} = {\Omega}\backslash(\omega_{A} \cup \omega_{B}) . $$
(16)

The idealized model is defined by an energy formulation, using an average approach and a non-local interaction between ωA and ωB. Introduce the following notation for the average on ωA of the projection of the displacement along e, the axis of the spring,

The lengthening Ls of the spring is the difference between the average displacements in ωA and ωB along the axis of the spring. The space of admissible displacements for this study corresponds to zero displacement on ΓD and rigid displacement fields in ωA and ωB,

$$ \begin{array}{@{}rcl@{}} \mathcal{V}&=&\{\boldsymbol{\phi}\in H^{1}({\Omega})^{3}, \boldsymbol{\phi} = 0 \ \text{on} \ {\Gamma}_{D}, \boldsymbol{\phi}(\textbf{x})\\ &=&{\mathcal{C}}_{a}+\mathcal{R}_{a}\textbf{x} \ \text{in} \ \omega_{A}, \boldsymbol{\phi}(\textbf{x})={\mathcal{C}}_{b}+\mathcal{R}_{b}\textbf{x} \ \text{in} \ \omega_{B} \}, \end{array} $$
(17)

where are tra nslations and \(\mathcal {R}_{a} = -\mathcal {R}_{a}^{T}\) and \(\mathcal {R}_{b} = -\mathcal {R}_{b}^{T}\) are anti-symmetric 3x3 matrices modelling infinitesimal rotations. For \(\boldsymbol {\phi } \in \mathcal {V}\), define the energy functional

where g is the applied surface load. As the idealized remote interaction model involves two rigid body motions on ωA and ωB, the space \(\mathcal {V}\) is appropriate for the analysis. The first term of (18) is the elastic energy. The rigid body motions in each sphere implies that ωA and ωB have zero deformation. Thus, they are excluded from the elastic energy. The last term is the energy of a spring of rigidity K(ρ) that, among other things, depends on the relative size ρ of the spheres. The so-called spring can be depicted as an out-of-plane non-local rigidity linking the two spheres (cf. Figure 14).

Fig. 14
figure 14

Graphical representation of the non-local rigidity

The minimum potential energy principle then states that the displacement field describing the assembled system is the unique minimizer \(\textbf {u} \in \mathcal {V}\) of (18) in \(\mathcal {V}\), i.e.,

$$ E(\textbf{u}) = \min_{\boldsymbol{\phi} \in \mathcal{V}}E(\boldsymbol{\phi}). $$
(19)

Then u satisfies

(20)

with and \(\mathcal {R}_{a}(\rho )\) and \(\mathcal {R}_{b}(\rho )\) anti-symmetric matrices. Since these translations and rotations are unknown, they are determined by adding forces and moments equilibrium on the boundary of ωA and ωB which are the two last equations of (20).

3.3 Adding an idealized bolt-like connection using a topological derivative approach

3.3.1 Classical definition of the topological derivative

This idealized model of a standard bolt is well adapted to topological asymptotic analysis, as we shall see. Let us recall classical topological derivative principles. In Ammari and Kang (2004), Garreau et al. (2001), Novotny and Sokołowski (2013), and Sokołowski and Żochowski (1999), the topological derivative is obtained by an asymptotic analysis of an objective function with respect to the creation of ωρ ⊂Ω, a small hole or a small inclusion with suitable boundary conditions. This small perturbation is centred at a point x0 in the domain and has a fixed shape ω that is rescaled by a small factor ρ > 0, namely

(21)

Consider some objective function J to minimize: we denote by Jρ(Ω) its value in the domain Ω, perturbed by ωρ (thus, J0(Ω) is its value in the unperturbed or background domain Ω). The objective function J is said to admit a topological derivative DJ(x0) at the point x0 for an inclusion of shape ω, if the following asymptotic expansion holds for small ρ > 0

$$ J_{\rho}({\Omega}) = J_{0}({\Omega}) + s(\rho) DJ(\textbf{x}_{0}) + \mathcal{R}(s(\rho)), $$
(22)

where s(ρ) is a positive scalar function and \(\mathcal {R}(s(\rho ))\) is a remainder term satisfying

$$ \lim\limits_{\rho \to 0} s(\rho)=0 \ \text{ and } \ \lim\limits_{\rho \to 0}\frac{\mathcal{R}(s(\rho))}{s(\rho)}=0 . $$

In (22), the term DJ(x0) is the topological derivative at the point x0. If the quantity DJ(x0) is negative, it is then favourable to add a small hole or a small inclusion at the point x0.

3.3.2 Insertion of two rigid bodies linked by a spring

This section adapts the previous definition (22) to the model of a small idealized bolt (ρ goes to zero). The asymptotic expansion then expresses the sensitivity of an objective function with respect to the creation of a small pair of rigid inclusions linked by a fixed-length spring of rigidity K(ρ). For simplicity, we choose the following dependence on the size ρ of the inclusions

$$ K(\rho) = \kappa \rho, $$
(23)

with κ > 0 independent of ρ. Other scalings of K(ρ), like κρk, are studied in Rakotondrainibe (2020). Let Ω be a smooth domain of and Ω1, Ω2 a partition of it, that is Ω = Ω1 ∪Ω2 and Ω1 ∩Ω2 = . To avoid technicalities, the objective function is evaluated in Ω1, while the bolt-like connection is included in Ω2. For smooth functions F and G, consider a general objective function of the type

$$ J({\Omega}) = \int\limits_{{\Omega}_{1}}F(\textbf{u})dV + \int\limits_{{\Gamma}_{N}}G(\textbf{u})dS . $$
(24)

In the sequel, we choose ω to be the unit ball of , which allows us to compute explicitly the coefficients of the topological derivative. The effective radius is then re = 1. Let ωA be the small inclusion of shape ω, rescaled by an adimensional factor ρ and centered at the point x0 ∈Ω2 as shown in Fig. 15. The second inclusion, denoted ωB, is the translation of ωA at a distance > 0 and in the direction e, a unit vector. More specifically, we have

(25)
Fig. 15
figure 15

Perturbation of the domain Ω

According to the idealized model given in the previous section, ωA and ωB represent respectively the head and the thread of a small bolt-like connection. As before, Jρ(Ω) denotes the value of the objective function in the perturbed domain with a connection of size ρ, while J0(Ω) is its value in the unperturbed or background domain.

In Rakotondrainibe (2020), it is proved that the objective function J(Ω) admits a topological derivative DJ(x0,e) at the point x0 for a spring of direction e and for a pair of inclusions of shape ω, in the sense that the following asymptotic expansion holds for any small ρ > 0

$$ \begin{array}{@{}rcl@{}} J_{\rho}({\Omega}) &=& J_{0}({\Omega}) + \rho r_{e}\left( \frac{1}{\kappa}+\frac{2}{\tau}\right)^{-1} (\textbf{u}(\textbf{x}_{0}+\ell \textbf{e})\\ &&-\textbf{u}(\textbf{x}_{0}))\cdot \textbf{e} (\textbf{p}(\textbf{x}_{0}+\ell \textbf{e})-\textbf{p}(\textbf{x}_{0}))\cdot \textbf{e} + O(\rho^{2}), \\ \end{array} $$
(26)

with \(\tau = \frac {12\pi \mu (2\mu +\lambda )}{5\mu + 2\lambda }\) where μ and λ are the Lamé coefficients of the background domain. The topological derivative is scaled by a factor ρ. It involves κ, the behaviour of the spring independent of ρ and the orientation e of the spring. Moreover, it depends on the displacement field u of the background domain and on the associated adjoint state p that solves

(27)

where is the characteristic function equal to 1 in Ω1 and 0 otherwise. This scaling of ρ and the dependence on u and p are reminiscent of the topological derivative for the Dirichlet problem (Garreau et al. 2001; Guillaume and Sid Idris 2002). The asymptotic expansion (26) results from a long asymptotic analysis that is not developed in this paper (see (Rakotondrainibe 2020) for the proof).

The major novelty is that the topological derivative given in (26) characterizes a remote interaction law and depends on two parameters, the center of the first inclusion x0 and the direction of the spring e. In the classical definition (22), the topological derivative only depends on a single parameter, the center of the local inclusion x0.

Note that the ideal bolt-like connection given by this approach is a connection of small size, so that it does not match with the realistic size of a bolt. The topological derivative gives then the best location to add a small connection. Once its efficiency is verified, it is rescaled (by parametric optimization) at a standard size, which is more realistic.

3.3.3 Numerical illustration

The meaningfulness and accuracy of the topological derivative are checked on a very simple, academic, 3d test case. Figure 16 presents a cube with a slit or opening, clamped at the bottom and on the left.

Fig. 16
figure 16

Cube with a slit, its loadings and dimensions

Dimensions of the cube are given in Fig. 16. The opening goes to the center of the face so that its length is \(\sqrt {48.02}\). The Young’s modulus E of the background domain is rescaled to 1 and its Poisson’s coefficient is 0.3. Loads are Gaussian functions centered at points xY = (7.5,10,2.5) and xZ = (5,5,10). They are deliberately non-symmetric so that horizontal and vertical configurations are different. They are explicitly given by \(g = \exp (-((x-x_{Y})^{2}+(z-z_{Y})^{2}))\) and \(g = \exp (-((x-x_{Z})^{2}+(y-y_{Z})^{2}))\) respectively on the face of normal Y and Z. Loads are applied simultaneously.

The length of the spring is = 1. Setting the Young’s modulus Espring to 1, the rigidity of the spring is given by \(\kappa = \frac {E_{\text {spring}}\pi }{\ell }r_{e}\) where re = 1 is the radius of the unit ball. The relative radius of the spheres is ρ = 0.3. Their rigid motion is implemented by setting rigid material properties on each sphere. In this test case, the Young modulus of the spheres is 100*E and the Poisson’s coefficient is unchanged. This test case was implemented on FreeFem++ (Hecht 2012) using a tetrahedral mesh with 237 887 elements and a minimal mesh size of 0.1.

This test case is not an optimization problem. The topological derivative is used just to put an initial bolt-like connection in order to stiffen the cube. A coupled optimization of both structure and locations/number of connections and structure will be studied in Rakotondrainibe (2020). The problem here is to create a small pair of rigid inclusions linked by a spring to decrease the compliance, which reads

$$ C({\Omega}) = \int\limits_{{\Gamma}_{N}}\textbf{g}\cdot\textbf{u}dS. $$

In other words, the topological derivative should indicate the most interesting location to add an idealized bolt-like connection, as well as the most favourable direction of the bolt axis. Since the objective is the compliance, the problem is self-adjoint so the topological derivative has the following form

$$ DJ(\textbf{x}_{0},\textbf{e}) = - r_{e} \left( \frac{1}{\kappa}+\frac{2}{\tau}\right)^{-1}\left( (\textbf{u}(\textbf{x}_{0}+\ell \textbf{e})-\textbf{u}(\textbf{x}_{0}))\cdot \textbf{e}\right)^{2}. $$
(28)

This topological derivative involves an harmonic mean of rigidities due to the interaction between the spring and the background material that are respectively depicted by κ and τ. It is intuitive that the topological derivative corresponds to a certain energy of the spring. Formula (28) is still valid if one wants to add a new bolt-like connection in a domain already containing one bolt or more, provided that u is computed in the domain featuring those previous bolt-like connection (see Rakotondrainibe (2020) for the proof). For graphical purposes, it is more suitable to represent the vector e in spherical coordinates \(\textbf {e} = (\sin \limits (\theta )\cos \limits (\phi ),\sin \limits (\theta )\sin \limits (\phi ),\cos \limits (\theta ))\). The angles 𝜃 and ϕ are calculated every π/18 radian. The topological derivative is computed for any x0 in the domain which insures that both spheres are inside the cube and they do not stick to the point of application of forces. This is thus geometrically evaluated in a smaller cube and unsuitable values are truncated. Since it is always negative in this test case, one can choose x0 as the point of the most negative value of DJ.

It turns out that the compliance of the perturbed structure (with the inclusions linked by a spring) actually matches the initial compliance perturbed by the topological gradient. More precisely, denote by Cρ(Ω) the compliance when the small bolt-like connection is added. For this test case, the initial compliance, i.e. the one without that small bolt, is C0(Ω) = 7.01. Define a so-called estimator \(\mathcal {E}\), as the topological asymptotic expansion without the remainder term

$$ \mathcal{E}({\Omega}) = C_{0}({\Omega}) - \rho r_{e}\left( \frac{1}{\kappa}+\frac{2}{\tau}\right)^{-1} ((\textbf{u}(\textbf{x}_{0}+\ell \textbf{e})-\textbf{u}(\textbf{x}_{0}))\cdot \textbf{e})^{2}. $$
(29)

Figures 17 and 18 represent iso-surfaces of the topological derivative field for two given orientations of the spring, namely horizontal and vertical. The small bolt-like connections are located in the area of the most negative value of the topological derivative. The topological derivative should be computed in the area of the gap. Nevertheless, it is computed everywhere to get all possible information for overall comprehension. There are some interesting iso-values around the application point of the horizontal load for the horizontal bolt-like connection (likewise for the vertical orientation) as displayed in Figs. 17a and 18a. It means that an horizontal connection could counter the horizontal force, likewise for the vertical orientation. In that case, this connection should not be considered as a bolt anymore. It should be seen as a tool to stiffen the structure. Concerning the bolt-like connection, it should be placed in the area of the gap. The topological derivative can be restricted to that zone. Yet, the better location aims to close the gap in both cases. Also, the estimator (29) is close to the value of the compliance of the perturbed domain Cρ(Ω) (see Table 3). The difference corresponds to the remainder term. The compliance and the estimator should be closer if the size of the spheres is smaller. Actually, the asymptotic analysis of the topological derivative is more accurate for smaller values of ρ. However, the size of the spheres is numerically limited by the size of the mesh. Therefore, it has to be as fine as possible to get better accuracy of the topological derivative.

Fig. 17
figure 17

Optimal small bolt-like connection for a horizontal orientation (e = (0,1,0)) and iso-values

Fig. 18
figure 18

Optimal small bolt-like connection for a vertical orientation (e = (0,0,1)) and iso-values

Table 3 Optimal values (recall that C0(Ω) = 7.01)

More generally, there are two strategies to seek for the best configuration of the couple (x0,e). The first approach is to fix an orientation e and then compute the topological derivative for all candidate point x0. This evaluation is repeated for all directions e. The best configuration then matches with the most negative value of the topological derivative among all tested orientations (see Fig. 19). It intuitively corresponds to a slanted orientation that closes the gap. The small bolt-like connection is in a path that connects the loads. The second strategy is to compute the topological derivative for a given point x0 and for all directions e. It is applied for the optimal location given by the first approach and leads to the cartography given at Fig. 20. The best orientation for that location still matches with the most negative value of the topological derivative.

Fig. 19
figure 19

Optimal position and orientation (\(\textbf {e} = \left (0,\sin \limits (\frac {5\pi }{6}),\cos \limits (\frac {5\pi }{6}))\right )\)) of the small bolt-like connection and iso-values

Fig. 20
figure 20

Cartography of DJ for fixed x0 = (5.46,9.25,8.50) in terms of the angles (𝜃,ϕ) defining direction e

This test case proves the accuracy of the topological derivative approach in order to add one connection. Of course, after adding a new connection, a coupled optimization of both the structure and the connection position should be performed (this is discussed in Section 4).

4 Conclusion and perspectives

This work shows good results for the coupled optimization of both rigid support locations and structure for a problem of volume minimization under a compliance constraint. The idealized model proposed for a bolt-like connection provides also satisfactory result in order to add a new connection using topological derivative techniques. Therefore, the optimization of connections presented in this work is one step closer to the optimization of assembled mechanical systems. However, we have so far used an incomplete model of a bolt. Future work will consist in implementing the pre-stress to the idealized model of the bolt and in introducing the pre-stressed state to the mechanical analysis. This pre-stressed state implies the use of a contact model. An other important ongoing work is to perform a coupled optimization of both structure and connection locations and orientations (after they have been added by using the topological gradient). The coupled optimization will follow the same spirit as in Section 2, except that the type of connections is different. These perspectives are the topic of Rakotondrainibe (2020).