1 Introduction

In static problems, where the degree of mobility is zero, linear equilibrium analysis is enough to predict the structural behavior, and it is a valid approach for a vast number of engineering applications. However, when dealing with mechanism design, the degree of mobility is always greater than zero and an output displacement is predicted for each degree of mobility. For this problem, the displacement requirements can be larger than a linear study is capable of predicting. Although a linear analysis is useful in a first approach, for real-life applications, the mechanism synthesis must be performed with a nonlinear assumption. A class of mechanisms that have been extensively studied during the last decades is the compliant mechanism (Howell 2012), which is widely used in aerospace structures, biomedical area, electronic devices, and so forth. One of the main applications of compliant mechanisms is in MicroElectroMechanical Systems (MEMS), where the devices are manufactured in very small sizes (μm–nm) and etched in a single material layer with subsequent under-etching (Sigmund 1997). Due to the reduced size and manufacturing features, the design of these mechanisms does not allow the use of pins, hinges, and other components that are very common in traditional, rigid-body mechanisms. The motion and the kinematic tasks that the mechanism is desired to fulfill cannot be done through kinematic pairs, i.e., with all mobility concentrated in the joints formed by two or more rigid elements. Therefore, all the kinematic actuation is provided through the body elastic strain.

The density-based topology optimization (Bendsøe and Sigmund 2003) has been one of the most general and systematic approaches applied to synthesize MEMS. It is important to mention that the topology optimization of compliant mechanism is not restricted to density-based methods, but it can be solved through other approaches like level-set methods (Luo et al. 2008), phase-field methods (Takezawa et al. 2010), and topological derivate approach (Lopes and Novotny 2016), to cite a few.

A well-known problem when designing compliant mechanisms using the topology optimization method is the appearance of hinges (one-node-connected elements) in the optimized design. This numerical problem is inherent to formulations that use geometrical aspects in their description, as displacements and mechanical advantage (Wang 2009). The most recent advances to alleviate the one-node-connected element problem in a density-based approach are the use of a robust formulation (Wang et al. 2011), a strain-based formulation (Lee and Gea 2014), a compliance-based formulation (Zhu et al. 2014), the use of geometric constraints to the problem (Zhou et al. 2015), and the addition of physical constraints like stress (De Leon et al. 2015). The latter approach is applied in this work and it is discussed in the following sections.

The topology optimization method has been largely applied to problems assuming linear elasticity theory. However, only a limited number of works considering geometrical and/or material nonlinearities can be found in the literature, what can be explained by the computational issues caused by the addition of geometrical nonlinearities to the problem. The internal forces can vary excessively in some regions of the domain where the density is going to zero (void), interfering in the balance between internal and external forces. In the finite element method (FEM) point of view, low-density elements overly distort, which may lead the structural stiffness matrix to become negative definite. This issue can make most of the iterative methods to lose the path for convergence.

Many approaches have been proposed to deal with the convergence problem in the topology optimization of geometrically nonlinear problems. The work of Buhl et al. (2000) was the first to relate this issue and it suggested to remove nodes connecting low-density elements from the equilibrium analysis since they are not important to the structural integrity. In the work of Bruns and Tortorelli (2001), a hyperelastic model is used to represent the constitutive material law and there is no observation about convergence problems. In Bruns and Tortorelli (2003), a strategy of removing and reintroducing elements of the sensitivity computation is applied and the authors argue that it reduces the problem size, making the convergence faster. This strategy is closely related with that of node removing cited before since low-density elements are removed and nodes may be withdrawn depending on the neighborhood. The work of Bruns and Sigmund (2004) exploits the synthesis of mechanisms that exhibit snap-through behavior using the technique of removing and reintroducing elements and several examples of punctual loading and thermal activate mechanisms are shown. Wang et al. (2014) suggest that the void areas could be computed using a linear analysis and the equilibrium in the areas compounding the base material would be performed by a Newton-Raphson scheme. To do this, an interpolation strategy based on a Heaviside-type filter is applied.

An investigation of a hyperelastic constitutive material law to model the stress-strain relation in geometrically nonlinear topology optimization problem is the goal of the work of Klarbring and Strömberg (2013). A set of functionals representing hyperelastic materials are tested and compared with the Kirchhoff-Saint Venant model (Hooke law). The authors concluded that all models performed very well for nonlinear problems, with the only exception being the Kirchhoff-Saint Venant model. The explanation is that all models give more stiffness to the elements, avoiding excessive distortion in low-density areas. In Lahuerta et al. (2013), a deep mathematical investigation on why the nonlinear material models outperform the linear approach for large displacement problems is presented. The authors conclude that polyconvex models can conduct the convergence problem more stably. That is the reason why models based on polyconvex functions as the compressible hyperelastic ones have a better performance compared with the linear Hooke law.

The design of large displacement compliant mechanisms is the main goal of the work of Liu et al. (2017). In this work, the application of a hyperelastic material model is introduced. A question that arises is that, since compliant mechanisms use their strain to gain mobility, strength requirements are mandatory along with the optimization problem.

Therefore, besides the problem of taking into account large displacements, the computation of stress in topology optimization problems is another challenge but just a few works are found on this subject (Moon and Yoon 2013; Deng et al. 2019). The work of De Leon et al. (2015) presented the application of a stress constraint for the compliant mechanism synthesis using a linear formulation. In that work, many insights were obtained from the application of a stress constraint in the well-known problem of maximizing the output port displacement of the mechanism. Moreover, the addition of a stress constraint on the problem resulted in mechanisms with a better compliance distribution, avoiding the appearance of common problems in such designs as one-node-connected hinges. Although very insightful, the results are not realistic for practical purposes, since they are based on linear elastic theory.

As presented above, just a few works are found considering large displacements in topology optimization, as well as in computing stress in density-based problems. By the best knowledge of the authors, coupling these two important disciplines is an open field of research, and the present work aims to contribute in that way.

2 Finite elasticity

In this section, the finite elasticity formulation is developed, to establish the equilibrium equations and the solution of the nonlinear problem. Considering an elastic body in space, the displacement of a particle with initial position Xi can be described, for instance as in Atkins and Fox (2005)

$$ \mathbf{x} = \mathbf{u} + \mathbf{X}, $$
(1)

where xi is the particle position after displacement and ui is the displacement field.

Differentiating (1) with respect to its original position Xi, the deformation gradient is obtained

$$ \mathbf{F} = \nabla \mathbf{u} + \boldsymbol{\delta}, $$
(2)

where ∇ represents the gradient operator and δ is the Kronecker sign

$$ \delta_{ij} = \left[\begin{array}{lllll} 1 & 0 & 0\\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{array}\right] \quad \text{for} \quad i,j = 1,2,3 \text{.} $$
(3)

Once the deformation gradient is defined, the right Cauchy-Green tensor is written as

$$ \mathbf{C} = \mathbf{F}^{T}\mathbf{F}, $$
(4)

and it is easy to notice that, for a rigid-body motion (for instance, pure rotations), C = δ.

The right Cauchy-Green tensor is a very important measure in elasticity theory, and by means of it is possible to define the Green-Lagrange deformation tensor

$$ \mathbf{G} = \frac{1}{2}\left( \mathbf{C} - \boldsymbol{\delta} \right), $$
(5)

where, for small deformations the infinitesimal deformation tensor is obtained.

2.1 Constitutive relation

The stress-strain behavior of a material can be modeled in different ways. The most common approach in solid mechanics to represent the behavior of a material is the Kirchhoff-Saint Venant material law. This interpolation predicts a linear response of the stress-strain relation, and it is a valid approach when the material is under small strains.

However, as stated before, in the topology optimization of geometrically nonlinear problems, the regions in the domain representing voids can show very strained elements. If the element in the mesh distorts excessively, some numerical issues can make the iterative algorithm to lose the path for convergence. In Lahuerta et al. (2013), a thorough investigation on how constitutive laws behave in topology optimization problems came up with the conclusion that hyperelastic materials that are policonvex (Ball 1977) perform better in such problems compared with hyperelastic materials that do not exhibit policonvexity as the Kirchhoff-Saint Venant, for instance.

In this work, a compressible Neo-Hookean hyperelastic material is applied (Klarbring and Strömberg 2013), defined by the function

$$ {\Psi} = \frac{1}{2}\lambda\left( \ln J \right)^{2} + \frac{\mu}{2}\left( \text{tr}(\mathbf{C}) - 3\right) - \mu \ln J, $$
(6)

where \(J = \det (\mathbf {F})\) is the Jacobian, tr(C) is the trace of the right Cauchy-Green tensor, and μ and λ are the Lamé constants

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

where E and ν are the elastic modulus and Poisson ratio, respectively.

Figure 1 shows the behavior of the compressible Neo-Hookean material presented in (6) and the classical, largely applied, Kirchhoff-Saint Venant law in the uniaxial test, where τ is the Cauchy stress and γ is the stretch. It can be seen a different behavior for large deformations. The Kirchhoff - Saint Venant material model tends to \(\tau \rightarrow 0\) when \(\gamma \rightarrow 0\) and in traction \(\tau \rightarrow \infty \) when \(\gamma \rightarrow \infty \). The Neo-Hookean material model does not show this behavior. Therefore, there is a probability that the material model based on the linear relation may fail in modeling areas forming voids.

Fig. 1
figure 1

Comparison between two models in the uniaxial test

Moreover, hyperelastic models are path independent and they can be derived by a strain energy function, Ψ(C), as can be seen in (6). A thorough investigation on hyperelastic models can be found in several good textbooks, as in Curnier (1994) and Holzapfel (2000).

Deriving this function with respect to a strain measure, one can find a stress-strain relationship. For instance,

$$ \mathbf{S} = \frac{\partial {\Psi}}{\partial \mathbf{G}}, $$
(8)

where Ψ is the potential representing the stored strain energy and G is the Green-Lagrange deformation tensor. In this case, using the Green-Lagrange tensor, the stress measure obtained (S) is its energy conjugate pair, the so-called second Piola-Kirchhoff stress tensor.

For the potential used in this work, (6), the second Piola-Kirchhoff stress, becomes:

$$ \mathbf{S} = \lambda\ln(J)\mathbf{C}^{-1} + \mu(\boldsymbol{\delta}-\mathbf{C}^{-1}) \text{,} $$
(9)

where \(\frac {\partial J}{\partial \mathbf {G}} = J\mathbf {C}^{-1}\) is applied. Therefore, for a plane stress hypothesis

$$ C_{33} = -\frac{\lambda \ln(J)}{\mu} + 1 \text{.} $$
(10)

The tangent constitutive relation is obtained by means of the second derivative of (6)

$$ \mathbf{D} = \frac{\partial^{2} {\Psi}}{\partial\mathbf{G}\partial\mathbf{G}}, $$
(11)

This relation is important since the iterative method applied in this work needs to linearize the structural stiffness of the body, what is described in the next section.

2.2 Total Lagrangian formulation

Among the most applied formulations to describe the body kinematics in geometrically nonlinear analysis, the Total Lagrangian formulation (Belytschko et al. 2014; Bathe 2010) is by far the most known for problems in solid mechanics. In this formulation, all matrices and integrals are computed in the undeformed configuration.

Using the total Lagrangian formulation to describe the kinematics of a body in a static analysis, the following equilibrium equation is written, using the virtual displacements principle

$$ {\int}_{^{0} V}\mathbf{S}\delta\mathbf{G} d^{0}V = {\int}_{^{0}V}\mathbf{f}^{b}\delta\mathbf{u}d^{0}V + {\int}_{^{0}S}\mathbf{f}^{s}\delta\mathbf{u}^{s}d^{0}S, $$
(12)

where fb and fs are the body and surface forces respectively, S is already defined, δG is the component of the Green-Lagrange deformation tensor corresponding to the virtual displacement δu, δus is the virtual displacement vector related to the surface 0S and 0V is the volume body in the undeformed configuration.

However, due to the high level of nonlinearity in these relations, the best way is to linearize (12) and reduce this approximation iteratively (Wriggers 2008).

2.2.1 Incremental analysis

In the incremental analysis, the equilibrium is sought in the instant t + Δt based on the known results for the instant t. For the incremental analysis, displacements, deformations, and stresses are expressed respectively as

$$ \begin{array}{@{}rcl@{}} {^{t + {\Delta} t}}\mathbf{u} &=& {^{t}}\mathbf{u} + {\Delta} \mathbf{u} \text{,} \end{array} $$
(13)
$$ \begin{array}{@{}rcl@{}} {^{t + {\Delta} t}}\mathbf{G} &=& {^{t}}\mathbf{G} + {\Delta} \mathbf{G} \text{,} \end{array} $$
(14)
$$ \begin{array}{@{}rcl@{}} {^{t + {\Delta} t}}\mathbf{S} &=& {^{t}}\mathbf{S} + {\Delta} \mathbf{S} \text{,} \end{array} $$
(15)

where Δu, ΔG, and ΔS are the increments to be determined. Inserting (13) in the Green-Lagrange tensor and using (14), the increment in deformation is written as

$$ {\Delta} \mathbf{G} = \boldsymbol{\vartheta} + \boldsymbol{\eta} \text{,} $$
(16)

where 𝜗 is a tensor representing the linear part of the deformation increment

$$ \boldsymbol{\vartheta} = \frac{1}{2}\left( \frac{\partial {\Delta} u_{i}}{\partial^{0} X_{j}} + \frac{\partial {\Delta} u_{j}}{\partial^{0} X_{i}} + \frac{\partial {\Delta} u_{k}}{\partial^{0}X_{i}}\frac{\partial {^{t}}u_{k}}{\partial^{0} X_{j}} + \frac{\partial^{t}u_{k}}{\partial^{0} X_{i}}\frac{\partial {\Delta} u_{k}}{\partial^{0} X_{j}}\right) \text{,} $$
(17)

and η is a tensor representing the nonlinear part of the deformation increment

$$ \boldsymbol{\eta} = \frac{1}{2}\left( \frac{\partial {\Delta} u_{j}}{\partial^{0} X_{i}}\right) \left( \frac{\partial {\Delta} u_{i}}{\partial^{0} X_{j}}\right) \text{.} $$
(18)

After some algebraic manipulations and using the decomposition in (15), the equilibrium relation stated in (12) is written in the instant t + Δt as

$$ \begin{array}{@{}rcl@{}} &&{\int}_{{{~}^{0}}V}{\Delta} \mathbf{S} \delta {\Delta} \mathbf{G} \text{d}{{~}^{0}}V + {\int}_{{{~}^{0}}V}{{~}^{t}}\mathbf{S} \delta \boldsymbol{\eta} \text{d}{{~}^{0}}V \\ &=&{\int}_{{{~}^{0}}V}{{~}^{t+{\Delta} t}}\mathbf{f}^{b} \delta {\Delta} \mathbf{u} \text{d}{{~}^{0}}V + {\int}_{{{~}^{0}}S}{{~}^{t+{\Delta} t}}\mathbf{f}^{s} \delta {\Delta} \mathbf{u}^{s} \text{d}{{~}^{0}}S \\ &&-{\int}_{{{~}^{0}}V}{{~}^{t}}\mathbf{S} \delta \boldsymbol{\vartheta} \text{d}{{~}^{0}}V \text{.} \end{array} $$
(19)

Equation (19) is in continuous form, an efficient solution to solve it out is to write it using a finite element formulation (Belytschko et al. 2014; Wriggers 2008). The terms of (19) can be written in discretized form as follows:

$$ \begin{array}{@{}rcl@{}} {\int}_{{{~}^{0}}V}\mathbf{B}_{\text{L}}^{T}\mathbf{D}\mathbf{B}_{\text{L}} \text{d}{{~}^{0}}V &=& \mathbf{K}_{\text{L}} \\ {\int}_{{{~}^{0}}V}\mathbf{B}^{T}_{\text{NL}}\mathbf{S}\mathbf{B}_{\text{NL}} \text{d}^{0}V &=& \mathbf{K}_{\text{NL}} \\ {\int}_{{{~}^{0}}V}{{~}^{t+{\Delta} t}}\mathbf{f}^{b} \delta {\Delta} \mathbf{u} \text{d}{{~}^{0}}V + {\int}_{{{~}^{0}}S}{{~}^{t+{\Delta} t}}\mathbf{f}^{s} \delta {\Delta} \mathbf{u}^{s} \text{d}{{~}^{0}}S &=& \mathbf{f}_{\text{ext}} \\ {\int}_{{{~}^{0}}V}{{~}^{t}}\mathbf{S} \delta \boldsymbol{\vartheta} \text{d}{{~}^{0}}V &=& \mathbf{f}_{\text{int}} , \end{array} $$
(20)

where D and S were presented previously. Matrices BL and BNL can be sought in a vast number of finite elements books, for instance, in Bathe (2010) and Belytschko et al. (2014).

The residual vector is defined as

$$ {{~}^{t}}\mathbf{r} = {{~}^{t+{\Delta} t}}\mathbf{f}_{\text{ext}} - {{~}^{t}}\mathbf{f}_{\text{int}} \text{,} $$
(21)

and a nonlinear problem, written in finite element form, is stated as

$$ {{~}^{t}}\mathbf{K} {\Delta} \mathbf{u} = \left( {{~}^{t}}\mathbf{K}_{\text{L}} + {{~}^{t}}\mathbf{K}_{\text{NL}}\right){\Delta} \mathbf{u} = {{~}^{t}}\mathbf{r} \text{.} $$
(22)

There are several methods used to find the body final configuration in geometrically nonlinear analysis. One of the most simple and largely applied is the Newton-Raphson method (Crisfield 1996). The equilibrium is obtained when the body internal forces equal the external load applied in the body, i.e., tr ≈ 0 in a given tolerance.

2.3 Stress measure

As it can be noticed in the theoretical development presented in the early section, the second Piola-Kirchhoff stress tensor plays an important role in representing the artificial nodal internal forces that balance the external load applied to the structure in the FEM problem.

However, this measure has no physical meaning in practice, and it is necessary to replace the second Piola tensor by a measure that is capable of physically describe the stress field. One candidate for that is the Cauchy stress, an important measure in elasticity theory since it is defined under the deformed body configuration, which is in equilibrium.

The Cauchy stress tensor can be recovered through the second Piola-Kirchhoff as

$$ \boldsymbol{\chi} = J^{-1}\mathbf{F}\mathbf{S}\mathbf{F}^{T} \text{.} $$
(23)

As this equation returns a 2 × 2 symmetric matrix, the three terms can be written into vector form by doing τ = (χ11χ22χ12)T.

Since the Cauchy stress vector is known, the von Mises equivalent stress is easily obtained for a plane stress state from

$$ \sigma_{vm} = \left( {\boldsymbol{\tau}}^{T} \mathbf{V} \boldsymbol{\tau}\right)^{\frac{1}{2}} \text{,} $$
(24)

with V being the auxiliary matrix:

$$ \mathbf{V} = \left[\begin{array}{lllll} 1 & -\frac{1}{2} & 0 \\ -\frac{1}{2} & 1 & 0 \\ 0 & 0 & 3 \end{array}\right] \text{,} $$
(25)

and now the biaxial stress state of the element can be represented by a scalar. This quantity is used in this work to describe the body stress field.

3 Topology optimization problem

In this work, the so-called output port displacement approach (Sigmund 1997) is applied along with the use of external springs. Although some other formulations have been presented along the years for compliant mechanisms design, in the authors’ point of view this formulation still produces mechanisms with very high kinematic performance compared with others. Wang (2009) points out that this kind of formulation inherently shows hinges in the final design, what is an artifact found by the algorithm to enhance performance. However, it can not be viewed as a drawback, since kinematically efficient mechanisms are synthesized.

Then, the idea is to use this formulation and avoid the hinges through a physical constraint like stress. The main modifications in the original formulation are the nonlinear equilibrium requirement for the residual and the stress constraint added to the problem.

The optimization problem is defined as:

$$ \begin{array}{@{}rcl@{}} \min\limits_{\boldsymbol{\rho}} &:& f\left( \boldsymbol{\rho}\right) = \mathbf{l}^{T}\mathbf{u} \\ \text{s.t.} &:& \mathbf{r}(\mathbf{u(\boldsymbol{\rho})}) = \mathbf{0} \\ &:& f_{v}(\boldsymbol{\rho}) = \frac{{\sum}_{i \in \mathbb{N}_{e}}\bar{\tilde{\rho_{i}}}(\rho)v_{i}}{V} \leqslant V^{*} \\ &:& f_{s}(\boldsymbol{\rho}) = \max \left( \boldsymbol{\sigma}(\mathbf{u(\boldsymbol{\rho})}) \right) \leqslant \sigma^{*} \\ &:& 0 \leqslant \rho_{i} \leqslant 1, \ \ i\in \mathbb{N}_{e} , \end{array} $$
(26)

where r(ρ) is the residual vector, u is the vector containing the displacement of all degrees of freedom, ρ is the vector of design variables, \(\mathbb {N}_{e}\) is the set containing all elements in the design domain, and \(\bar {\tilde {{\mathbf {\rho }_{i}}}}\) is the physical density associated with the i th design element. The vector l takes zero in all positions except for the position corresponding to the output degree of freedom, which is set to one. The total volume of the design domain is V, V is the allowed volume fraction and vi is the volume of the i th element. The vector σ contains the element stress measures, to be defined further, and σ is a chosen threshold for the maximum stress allowed.

The element stiffness matrices Ki are function of the Young modulus of the solid material. This material is interpolated according to the well-known SIMP method (Bendsøe and Sigmund 1999)

$$ E_{i} = E_{\min} + {\bar{\tilde{{\rho}}}_{i}}^{k}\left( E_{0} - E_{\min} \right), $$
(27)

where E0 is the stiffness of the solid phase, \(E_{\min \limits }\) is a small stiffness attributed to regions to avoid ill-conditioning and k is the penalization parameter, usually set as 3.

A very known issue in topology optimization using a density-based approach is the appearance of checkerboard patterns (Sigmund and Petersson 1998) and the dependency on the mesh size in the final design (Díaz and Sigmund 1995). To overcome the difficulties imposed by these numerical issues, in this work, a mesh-independent density filter is applied (Bourdin 2001; Bruns and Tortorelli 2001):

$$ \begin{array}{@{}rcl@{}} \tilde{\rho}_{i} = \frac{{\sum}_{j \in \mathbb{N}_{e,i}}w(x_{j})v_{j}\rho_{j}}{{\sum}_{j \in \mathbb{N}_{e,i}}w(x_{j})v_{j}} \end{array} $$
(28)
$$ \begin{array}{@{}rcl@{}} w(x_{j}) = \frac{R - \vert x_{j} - x_{i} \vert}{R} \text{,} \end{array} $$
(29)

where R is the filter radius, a given parameter in the problem.

Defining the physical element density to be a weighted average of design variables in a neighborhood inside a circle of radius R allows the optimization problem to converge to solutions free of checkerboard patterns and mesh dependence. However, the simple application of a density filter to the design variables will lead the solution to a certain degree of gray transition areas between the solid and void phases. These intermediate densities can be disregarded by simple thresholding for simpler problems such as compliance or weight minimization.

However, for complex physic problems as, for instance, compliant mechanisms and/or stress, post-processing at the final stage is a more complicated task. In the work of Svärd (2015), a complete explanation on one disadvantage of using the SIMP approach or any other fixed grid approach is presented: if the boundary of the underlying topology is not aligned with the FE mesh, this transition is irregular. These jagged boundaries in the topology lead to artificial stress concentrations that will result in differences between the optimized topology (where the stress constraint is satisfied) and the underlying smooth topology. In that work, a method called IVE (Interior Value Extrapolation) is proposed to circumvent the problem of stress evaluation at the jagged boundaries by extrapolating the stress in the interior of the structure to its boundary.

Another work dealing with this stress inconsistency in the boundaries is in Da Silva et al. (2019), where a two-step approach based on the robust formulation proposed by Wang et al. (2011) is applied. In that work, a transition boundary between void and solid phases is allowed and a stress interpolation scheme is applied.

In both works (Svärd 2015; Da Silva et al. 2019), smooth boundaries are obtained with a good correspondence between the irregular and extracted boundaries.

Although this interpretation is important, as it can be seen in the works aforementioned, in this work we do not use a post-processing step because our present goal is to investigate the influence of stress constraint combined with material and geometry nonlinearities on the compliant mechanism design. The addition of post-processing steps might be a promising subject for future research.

The only resources applied here are filtering techniques to obtain optimized topologies as sharp as possible.

3.1 Projection filtering

A tool that has been widely used to alleviate gray transition areas is the implementation of projection methods (Guest et al. 2004). During the optimization process, all the filtered density values above a threshold η are projected to 1 and values below it to 0.

To ensure differentiability, in this work, the projection method applies a smoothed Heaviside function (Guest et al. 2004):

$$ \bar{\tilde{\rho_{i}}} = \frac{\tanh(\beta\eta)+\tanh(\beta(\tilde{\rho_{i}}-\eta))}{\tanh(\beta\eta) + \tanh(\beta(1-\eta))}, $$
(30)

where β determines the slope (sharpness) of the curve and η the threshold value. It is easy to notice that, for a β = 1, the projection function has no practical effect. Most of the times, the projection technique is applied along with a continuation method. This approach clearly slows the convergence but produces final designs with much better local minima. However, due to a high degree of nonlinearity between the physical density and the stress field, a numerical procedure must be applied to avoid loss of convergence during β updating. The MMA code allows the asymptotes modification to turn the updating less or more conservative. Guest et al. (2011) proposed a modification in MMA to start with a very conservative guess using high values for β in the beginning of the optimization problem.

However, here we refrain from starting the problem with a large value for β to avoid numerical issues. Instead of it, we use a β-continuation approach applying the strategy also proposed by Guest et al. (2011) at every update of the projection scheme. In that work, a small modification in the optimizer parameters is proposed to turn the problem stable. When the penalization curve slope (β) changes, the MMA is restarted (k = 0) and the distance between asymptotes is set to

$$ s = \frac{0.2}{\beta+1} , $$
(31)

where the parameter s dictates this distance, in the same way as in Svanberg (2002).

3.2 Stress constraint in topology optimization problems

Stress-based problems are a great challenge in topology optimization, no matter if it is either a linear or nonlinear framework. The singularity problem arises when some element density approaches 0 and vanishes from the design space, creating degenerated subspaces. These subdomains with zero measure often contain the global optimum but represent regions where the algorithm cannot reach, making it converge to very poor local minima. This problem was first identified and fully explained using trusses structures (Kirsch 1990; Cheng and Jiang 1992). By means of functions that relaxed all the design space, these problematic subdomains are smoothed and the algorithm is allowed to reach better local minima. One example of such functions is the 𝜖-relaxation technique (Cheng and Guo 1997). Later, in Duysinx and Sigmund (1998) and Duysinx and Bendsøe (1998), the problem was extended to continuum problems.

Another method is the so-called qp-approach (Bruggi 2008) where the same idea presented by the classical 𝜖-relaxation scheme of smoothing the design space is modified to interact with the SIMP approach. The relaxation of element stress is performed in the following way

$$ \sigma_{i} = {\bar{\tilde{\rho}}_{i}}^{q}\sigma_{vm,i} \text{,} $$
(32)

where σi is the relaxed stress measure, \(\bar {\tilde {\rho _{i}}}\) is the element physical density, q is a relaxation parameter, and σvm,i is the von Mises effective stress of the element (without SIMP penalization) obtained by the Cauchy stress tensor, as depicted in (24).

However, mainly for computational reasons, the local nature of stress in continuum media becomes another issue to overcome. Several approaches have been proposed to deal with pointwise constraints. One of them is the use of an augmented Lagrangian function to the formulation (Pereira et al. 2004), rewriting the problem and putting the element stress constraint into the objective function. A comparison study of local and global stress constraints for compliant mechanisms design can be found in Pereira and Cardoso (2018). Although effective, this approach can be computationally expensive, that is why we refrain from using local constraints in this work.

Another difficulty is that the set of active constraints can become large as approaching the optimum (Duysinx and Bendsøe 1998). To make the problem computationally manageable, a stress relaxation (32) along with an aggregation scheme proposed by Le et al. (2010) is applied.

Moreover, a global p-norm approach (Duysinx and Sigmund 1998) is used with the modification proposed by Le et al. (2010) to transform the pointwise constraint problem into a single one.

The global p-norm is applied as

$$ \sigma_{pn} = c\left( \sum\limits_{i\in \mathbb{N}_{\sigma}}v_{i}{\sigma_{i}}^{p}\right)^{\frac{1}{p}}, $$
(33)

where \(\mathbb {N}_{\sigma }\) is the set of elements to be constrained, vi is the elemental volume, σi is the element relaxed stress measure, and c is a corrector applied to give physical meaning to the stresses and it is better explained in the original work of Le et al. (2010). The parameter p is the stress norm value, which for linear problems this value should be used around 12 or greater (Zhou and Sigmund 2017). However, the higher this number, the higher the degree of nonlinearity imposed on the problem. In the framework applied in this work, a value that suited well was 8. It is important to mention that values greater than this can be applied to p parameter to better approximate the infinity norm (the real maximum value), but this investigation is not on the present scope.

Therefore, the function defined by (33) approximates the maximum stress of the domain, and its value is used in the stress constraint for the optimization problem depicted in (26) so that

$$ \max (\boldsymbol{\sigma}) \thickapprox \sigma_{pn} \rightarrow f_{s} = \sigma_{pn} , $$
(34)

As the goal of the present work is to impose a limit on the maximum stress in the mechanism, applying a global p-norm to represent the stress constraint works successfully.

4 Sensitivity analysis

To give the first-order information required by the mathematical algorithm to continuously update the design variables, a sensitivity analysis must be performed. It is important to remember that both the density filter and the projection technique applied in this work modify the element-wise physical density, and the chain rule must be computed to correctly recover the changes (Sigmund 2007). The density filter, projection function, and the volume constraint derivatives are straightforward and will be neglected here, for the sake of brevity.

The adjoint method is applied to calculate the gradient of the objective and stress functions.

4.1 Objective function gradient

The gradient of the objective function is computed using the adjoint method (Bruns and Tortorelli 2001) as:

$$ \frac{d f}{d \bar{\tilde{\rho}}_{i}} = \frac{d f}{d \mathbf{u}}\frac{d \mathbf{u}}{d \bar{\tilde{\rho}}_{i}} + \boldsymbol{\lambda}^{T}\left( \frac{d \mathbf{r}}{d \mathbf{u}}\frac{d \mathbf{u}}{d \bar{\tilde{\rho}}_{i}} + \frac{\partial \mathbf{r}}{\partial \bar{\tilde{\rho}}_{i}}\right) \text{,} $$
(35)

where r = fextfint is the residual and

$$ \frac{\partial \mathbf{f}_{\text{ext}}}{\partial \bar{\tilde{\rho}}_{i}} = \frac{\partial\mathbf{f}_{\text{ext}}}{\partial u_{i}} = 0 \text{,} $$
(36)

i.e., the external forces are independent of displacement and design variables. Therefore, the dependency of the residual is only on the internal nodal forces and can be easily obtained by

$$ \frac{\partial \mathbf{r}}{\partial u_{i}} = - \frac{\partial \mathbf{f}_{\text{int}}}{\partial u_{i}} = - \mathbf{K} \text{,} $$
(37)

where K is the structural stiffness matrix.

Therefore, (35) is rewritten as

$$ \frac{d f}{d \bar{\tilde{\rho}}_{i}} = \left( \frac{d f}{d \mathbf{u}} - \boldsymbol{\lambda}^{T}\mathbf{K}\right)\frac{d \mathbf{u}}{d \bar{\tilde{\rho}}_{i}} + \boldsymbol{\lambda}^{T}\frac{\partial \mathbf{r}}{\partial \bar{\tilde{\rho}}_{i}}, $$
(38)

and, excepting the derivative of displacement in respect to densities from the right-hand side, the other two derivatives are easy to compute. Making advantage of the adjoint method, we choose λ such that the computation of \(\displaystyle {d \mathbf {u}}/{d \bar {\tilde {\rho }}_{i}} \) is not necessary, i.e., making Kλ = l.

Then, after some algebraic manipulations, (35) becomes

$$ \frac{d f}{d \bar{\tilde{\rho}}_{i}} = -\boldsymbol{\lambda}^{T}k{\bar{\tilde{\rho}}_{i}}^{k-1}\left( E_{0}-E_{\min}\right)\mathbf{f}_{\text{int}}^{0} \text{,} $$
(39)

where \(\mathbf {f}_{\text {int}}^{0}\) is the internal forces vector computed without penalization, i.e., using Ei = E0.

4.2 Stress constraint gradient

As demonstrated earlier, the stress is evaluated as the p-norm of the vector containing the equivalent von Mises stresses; therefore, an adjoint problem is written as

$$ \frac{d f_{s}}{d \bar{\tilde{\rho}}_{i}} =c \left[\frac{d f_{s}}{d \mathbf{u}} \frac{d \mathbf{u}}{d \bar{\tilde{\rho}}_{i}} + \frac{\partial f_{s}}{\partial \bar{\tilde{\rho}}_{i}} + \boldsymbol{\lambda}_{\sigma}^{T}\left( \frac{d \mathbf{r}}{d \mathbf{u}} \frac{d \mathbf{u}}{d \bar{\tilde{\rho}}_{i}} + \frac{\partial \mathbf{r}}{\partial \bar{\tilde{\rho}}_{i}}\right)\right] \text{,} $$
(40)

rearranging the terms

$$ \frac{d f_{s}}{d \bar{\tilde{\rho}}_{i}} =c \left[{\frac{d \mathbf{u}}{d \bar{\tilde{\rho}}_{i}}}^{T} \left( \frac{d f_{s}}{d \mathbf{u}} - \boldsymbol{\lambda}^{T}_{\sigma}\mathbf{K}\right) + \frac{\partial f_{s}}{\partial \bar{\tilde{\rho}}_{i}} + \boldsymbol{\lambda}^{T}_{\sigma}\frac{\partial \mathbf{r}}{\partial \bar{\tilde{\rho}}_{i}}\right] \text{,} $$
(41)

here, the same idea is applied and we choose λσ such that \(\mathbf {K}\boldsymbol {\lambda }_{\sigma } = \frac {d f_{s}}{d \mathbf {u}}\).

The computation of \(\frac {d f_{s}}{d \mathbf {u}}\) is performed using the chain rule

$$ \frac{d f_{s}}{d \mathbf{u}} = \frac{\partial \sigma_{\text{pn}}}{\partial \sigma_{\text{sum}}}\frac{\partial \sigma_{\text{sum}}}{\partial \sigma_{\text{i}}} \frac{\partial \sigma_{\text{i}}}{\partial \sigma_{\text{vM}}} \frac{\partial \sigma_{\text{vM}}}{\partial \boldsymbol{\tau}}\frac{\partial \boldsymbol{\tau}}{\partial \mathbf{u}} \text{,} $$
(42)

and the following relation is written to help the calculus

$$ \sigma_{\text{sum}} = {\sum}_{i \in \mathbb{N}_{\sigma}}v_{i}{\sigma_{i}}^{p} = v_{1}{\sigma_{1}^{p}} + v_{2}{\sigma_{2}^{p}} + ... + v_{n}{\sigma_{n}^{p}} \text{.} $$
(43)

The computation of all terms in (42) is straightforward. The exception is the last term because of the base changes needed to obtain the Cauchy stress. The dependency of the Cauchy stress on the displacements is written as

$$ \begin{array}{@{}rcl@{}} \frac{\partial \boldsymbol{\tau}}{\partial u_{i}} &=& \frac{\partial J^{-1}}{\partial u_{i}}\mathbf{F}\mathbf{S}\mathbf{F}^{T} + J^{-1}\frac{\partial \mathbf{F}}{\partial u_{i}}\mathbf{S}\mathbf{F}^{T} \\ &&+J^{-1}\mathbf{F}\frac{\partial \mathbf{S}}{\partial u_{i}}\mathbf{F}^{T} + J^{-1}\mathbf{F}\mathbf{S}\frac{\partial \mathbf{F}^{T}}{\partial u_{i}} \text{.} \end{array} $$
(44)

Then, the complete vector to the adjoint problem is given by

$$ \begin{array}{@{}rcl@{}} {\frac{\partial f_{s}}{\partial \mathbf{u}_{i}}} &=& c\left( \sigma_{\text{sum}}^{\frac{1}{P}-1}v_{i}\sigma_{i}^{P-1}{\bar{\tilde{\rho}}_{i}}^{q}\frac{1}{\sigma_{\text{vM}_{i}}}\mathbf{V}\tau_{i}\right)^{T} \\ &&\times\left\lbrace \left[ \mathcal{A} \right] + \right. \left. 2J \left[ \mathcal{B} + \mathcal{C}\right] \right\rbrace^{T}, \end{array} $$
(45)

where

$$ \begin{array}{@{}rcl@{}} \mathcal{A} &=& \left( -J^{-1}\mathbf{C}^{-1}\mathbf{B}_{\text{L}}\right)^{T}\mathbf{F}\mathbf{S}\mathbf{F}^{T} \end{array} $$
(46)
$$ \begin{array}{@{}rcl@{}} \mathcal{B} &=& \left( \mathbf{F}^{-T}\mathbf{B}_{\text{L}}\right)^{T} \mathbf{S}\mathbf{F}^{T} + \frac{1}{2} \left( \mathbf{F}\mathbf{D}\mathbf{B}_{\text{L}}\right)^{T}\mathbf{F}^{T} \end{array} $$
(47)
$$ \begin{array}{@{}rcl@{}} \mathcal{C} &=& \left( \mathbf{F}\mathbf{S} \mathbf{F}^{-T}\mathbf{B}_{\text{L}} \right)^{T}. \end{array} $$
(48)

Since the stress is derived from the non-penalized strain energy function, there is no explicit dependency of von Mises stress on the design variables

$$ \frac{\partial f_{s}}{\partial \bar{\tilde{\rho}}_{i}} = c {\sigma_{\text{sum}}}^{\frac{1}{P}-1}v_{i}{\sigma_{i}}^{P-1}q{\bar{\tilde{\rho}}_{i}}^{q-1}\sigma_{\text{vm}_{i}} \text{.} $$
(49)

Once defined the derivatives and the adjoint vector, the sensitivity of the stress constraint with respect to the projected design variable is

$$ \begin{array}{@{}rcl@{}} \frac{d f_{s}}{d \bar{\tilde{\rho}}_{i}} = c \left( {\sigma_{\text{sum}}}^{\frac{1}{P}-1}v_{i}{\sigma_{i}}^{P-1}q{\bar{\tilde{\rho}}_{i}}^{q-1}\sigma_{\text{vM}_{i}} \right. \\ \left.+ \boldsymbol{\lambda}_{\sigma}^{T}k{\bar{\tilde{\rho}}_{i}}^{k-1}\left( E_{0}-E_{\min}\right)\mathbf{f}_{\text{int}}^{0}\right) \text{,} \end{array} $$
(50)

and this term, as well as the objective function and volume constraint, must be multiplied by the sensitivity of the density filter and projection on the physical densities, according to the chain rule.

5 Numerical examples and discussion

For compliant mechanisms design using topology optimization, some benchmark problems are largely applied to test the formulation efficiency. In this work, two types of compliant mechanisms will be shown: the inverter displacement and the gripper mechanism. Figure 2 shows a sketch of the design domain for the two examples, where the black areas indicate passive elements, i.e., elements that remain solid (ρ = 1) during the optimization and do not enter in the stress computations \((\notin \mathbb {N}_{\sigma })\). In the inverter mechanism, they are defined next to points where input and output forces act, and in the gripper mechanism, a larger area of passive elements is imposed on the region defined to accommodate the workpiece. In both examples, the finite mesh is composed by quadrilateral regular elements of dimension 1 by 1, what means that the mesh is formed by 11,250 elements for the inverter mechanism and 10,350 elements for the gripper.

Fig. 2
figure 2

Sketches of the case problems studied in this work

The material properties are common to both mechanisms, and the Silicon is chosen to model the solid phase. According to Cook (2006), this material has a yield strength around 1 GPa depending, for instance, on the surface polishing among other features. The elastic modulus is set as E0 = 180 (GPa), the void phase is \(E_{\min \limits } = 1\times 10^{-9}E_{0}\), the SIMP penalization parameter is k = 3, ν = 0.3 is the Poisson ratio, and the domain has a length L = 150 (μm). For the Newton-Raphson scheme, a convergence tolerance is obtained when the 2-norm of the residual vector reaches r ≤ 1 × 10− 4. For the incremental analysis, the input force is divided into 4 step-loads.

The projection filter parameters are η = 0.5 and a continuation scheme is applied to β, starting with 1 and doubling until 32 at each 25 iterations. At each β updating, the MMA is restarted and initialized using (31) to set distances. The move limits are set to 0.65 and 1.05 for tightening or expanding asymptotes during optimization, respectively.

Regarding the stress penalization parameter q, 1 is used until the problem convergence; then, it is updated to 0.5. For all examples, the thickness of the mechanisms is set to 7 μm. The radius of the density filter is R = 5.6 (μm) in all examples unless when it is explicitly stated in the text.

5.1 Displacement inverter mechanism

The displacement inverter shown in Fig. 2a is the test case that will be extensively studied. Several tests are performed to check the formulation effectiveness.

5.1.1 Effect of material nonlinearity in FE mesh

The first test is to check the influence of the Neo-Hookean material in the optimization procedure. The extra stiffness obtained may help the Newton-Raphson method to be more robust. The application of material nonlinearity to geometrical nonlinear problems in topology optimization is not new, it has been applied in several works as in Bruns and Tortorelli (2001) and Wang et al. (2014). The goal of this test is to check the influence of the Neo-Hookean material in preventing hinges.

To do this, a problem with no density filtering technique is used. The idea is to investigate whether a stiffer mesh can avoid the checkerboard pattern alone, without the density filter resort. In order to prevent the stress constraint to shadow conclusions, the example is presented with \(\sigma ^{*} = \infty \).

By the result obtained in Fig. 3, it can be seen that the Neo-Hookean material plays no effective role in preventing one-node-connected elements in the mesh.

Fig. 3
figure 3

Topology obtained with the hyperelastic polyconvex model (6) without density filtering

It is clear that springs have a direct influence in the mechanism kinematics, in some cases preventing the appearance of hinges. Setting stiffer springs in the output port results in mechanisms that deliver high forces but small displacements. This approach results in hinge-free designs, as it is discussed in Pedersen et al. (2001). However, the output kinematics is very limited. This is the reason why some formulations based on global stiffness measures found in literature prevent hinges successfully. Moreover, setting a high stiffness for the input spring keeping the same input force limits the displacement. In our particular case, this is highly undesirable.

Therefore, a study on different input forces is performed to guarantee the optimized topologies that will be studied have good kinematic performance. For all examples, the input and output springs are set to kin = 2 × 10− 3 (N/μm) and kout = 2 × 10− 4 (N/μm), respectively.

Figures 4 and 5 show results for deformed and stress plots for several input forces. These results do not have stress constraint applied and were used to evaluate the displacements and maximum stress levels when increasing the input force.

Fig. 4
figure 4

Deformed meshes for several input forces. The volume constraint of 20% is active in all designs

Fig. 5
figure 5

Stress plots for several input forces. The volume constraint of 20% is active in all designs

Based on the results, the boundary conditions applied in Figs. 4b and 5b will be used to perform the proposed investigation on the stress constraint effect in this work.

5.1.2 Effect of the stress constraint

Figure 6 shows the optimized designs for several values of the stress constraint. From Fig. 6 a–e the only difference in the problem is the stress limit imposed (σ). It can be seen that as the limit of maximum stress is lowered, the most noticeable difference occurs in the hinge areas, which are being elongated to accommodate the stress limit imposed by the problem.

Fig. 6
figure 6

Optimized design topologies for several stress thresholds (σ). The volume constraint of 20% is active in all designs

Figure 7 a–e show the plots of von Mises stress for the optimized topologies. It can be seen the effect of the imposed stress thresholds in the problems, where the hinge areas are becoming more flexible. As the limit imposed to the stress is lowered the hinge is stretched to accommodate the strength requirement.

Fig. 7
figure 7

Equivalent von Mises plots for several stress thresholds (σ). The volume constraint of 20% is active in all designs

It is worthy to notice that the volume constraint remains active for all examples. Optimized designs where the final volume is below the imposed limit are not observed, as it is described in other works dealing with topology optimization with stress constraint (De Leon et al. 2015; Da Silva et al. 2019). However, the examples shown in this work are not enough to draw any conclusions on whether this feature is because of the nonlinear analysis or not.

Figure 8 shows the convergence history from one of the problems. It can be seen stress peaks during the β updating. Due to the strategy explained before, of restarting MMA and tightening the asymptotes each time this parameter is updated in the projection step, the algorithm is capable of converging to very good optimized designs. This behavior is maintained in all examples. The procedure of tightening asymptotes clearly slows the convergence but results in a very stable problem.

Fig. 8
figure 8

Optimization history for the mechanism in Fig. 6e

5.2 Gripper mechanism

The second example is the gripper mechanism. In this case, an input spring is set as kin = 5 × 10− 2(N/μm), an output spring is set as kout = 1 × 10− 4(N/μm). The amount of volume allowed in the optimized design is 25% of the total domain. In the gripper case, the optimization problem presented in (26) is a minimization of −luT, since a positive quantity is desired for the output displacement in this example.

Following the idea presented in the inverter problem, several input forces were applied to guarantee that the study is applied to kinematically efficient grippers and taking advantage of the geometrically nonlinear analysis.

In all tested cases the volume constraint is active, following what is observed in the displacement inverter example.

Figure 9 shows deformed meshes for three different input forces, in all examples other boundary conditions are the same.

Fig. 9
figure 9

Deformed meshes for several input forces. The volume constraint of 25% is active in all optimized designs

Figure 10 shows the stress plots for the input forces investigation. Boundary conditions as shown in Fig. 10(b) will be used to perform the remaining study.

Fig. 10
figure 10

Stress plots for several input forces. The volume constraint of 25% is active in all optimized designs

For the remaining tests with the gripper, unless clearly stated, the input force applied to the problem is fin = 3 × 10− 3 N (as in Figs. 9b and 10b).

As in the inverter example, only the lower half part of the gripper is shown.

In Fig. 11, several optimized topologies are shown. The main challenge imposed by the gripper is that compliance is much more concentrated at the lever points. It can be seen that all the conclusions drawn in the displacement inverter can be repeated here, which means that the stress limit is capable of spreading compliance efficiently.

Fig. 11
figure 11

Optimized topologies for several stress thresholds. The volume constraint of 25% is active in all optimized designs

Figure 12 shows the stress plot for the gripper designs. Here, the effect of the stress limit is not so pronounced as in the displacement inverter. As explained before, the mobility of this kind of mechanism is more concentrated at the lever point. Nevertheless, the algorithm is efficient in controlling the stress level by reducing the performance of the mechanism.

Fig. 12
figure 12

Stress plots for optimized grippers. The volume constraint of 25% is active in all optimized designs

5.3 Linear × nonlinear framework

As stated before, the main goal of using a nonlinear material is to give an extra stiffness to the model, preventing the Newton-Raphson scheme to lose the path for convergence. The side effect is that elements forming the hinges in the mechanism could be stiffer than the linear material, possibly lowering its kinematic performance. Although it can be seen from Fig. 1 that for small strains the two material models have a similar performance, for large strains the two models behave completely different. For large tractions forces, the Neo-Hookean model can be more flexible than Kirchhoff - Saint Venant model. On the other hand, for large compressions the opposite effect is observed.

To investigate this behavior, a comparison between the present formulation and the linear approach for material and geometry is performed. Figure 13 shows results of an optimized topology using the present formulation (geometrical and material nonlinearities) and a linear approach using the same boundary conditions, volume constraint, input forces, etc.

Fig. 13
figure 13

Optimized design topologies using (a) and (c) linear and (b) and (d) nonlinear framework. The cost functions values (f) are in μ m. In cases (a) and (b) the input force is fin = 5 × 10− 3 N, in cases (c) and (d) the input force is fin = 3 × 10− 3 N

To study the effect of the nonlinear material in the optimized topologies shown in Fig. 13, these designs are analyzed using the Newton-Raphson scheme for equilibrium but with the Hooke law modeling the stress-strain behavior.

Two tests are performed to study the effect of nonlinearities in the optimized topologies:

  1. 1.

    the optimized topologies obtained using linear geometry and material (Fig. 13a and c) are analyzed using the Newton-Raphson scheme for equilibrium but with linear material;

  2. 2.

    the optimized topologies obtained using nonlinear geometry and nonlinear material (Fig. 13b and d) are analyzed using the Newton-Raphson scheme for equilibrium but with linear material;

Here, all tests are performed with no stress constraint (\(\sigma ^{*} = \infty \)).

Table 1 shows output displacements and maximum stresses for all examples.

Table 1 Equilibrium analyses of optimized mechanisms of Fig. 13

For the first test case one can notice a significant difference in the mechanisms performance when a geometrically nonlinear framework is used to find equilibrium. The only difference in the synthesized mechanisms for the test is that Newton-Raphson is applied. Obviously a large difference in the maximum stress is observed as well.

For the test case 2, the Neo-Hookean material used in the optimization is replaced with the linear law. No relevant change neither in mechanism performance or maximum stress are observed. The output displacement result indicates that, for the optimized topology the Neo-Hookean material does not decrease the mechanism kinematic performance. The maximum stress are almost the same, what can indicate that, at least for the non-void elements, no large strains or rotations are observed. A first conclusion could be that the Neo-Hookean model does not play an important role in the response of the topologies obtained in the optimization problem proposed in this work.

However, we notice a more stable convergence when deformation occurs in void areas. This is not directly investigate in this work, but it is the goal of several works in literature (Klarbring and Strömberg 2013; Lahuerta et al. 2013), where it is conclude that hyperelastic polyconvex models improve the convergence problem.

5.4 Nonlinear material in stress constraint problems

In the previous subsection, a quantitative study was performed to investigate the effect of nonlinearities in the formulation. A first conclusion is that, for problems where a constraint in the stress is not imposed, a linear law for material behavior is enough and the main role of nonlinearities is making the problem more stable.

However, it is important to investigate the effectiveness of a nonlinear material when a stress limit is imposed to the problem.

To do this, the synthesized mechanism obtained in Fig. 6e, where the stress constraint is active at several elements, is taken to be studied. The optimized topology was obtained using a nonlinear law for both geometry and material.

The next task is to investigate this mechanism applying the Hooke law (linear material) and using two approaches: Newton-Raphson scheme and a linear relation for equilibrium. Table 2 shows the results obtained.

Table 2 Performance comparison for the stress constrained inverter using linear material behavior

It can be seen that the Neo-Hookean model performs superior, resulting in larger displacement output and lower maximum stress, if a constraint is imposed to the maximum stress. These results can be explained by the behavior of the model in traction, once very strained elements in the mechanisms are in the right most arm. The algorithm allows larger stretches in elements since the material model predicts lower values for stress. This feature is very important to the mechanism kinematic. When the material model is replaced by the Hooke law, lower displacements and higher maximum stresses are observed.

5.5 Important remarks

In the works of Pedersen et al. (2001), Bruns and Tortorelli (2001), and Bruns and Sigmund (2004), a geometrically nonlinear problem is applied for synthesizing compliant mechanisms. The results show parts of the mechanisms exhibiting one-node-connect elements. It indicates that the use of a geometrical nonlinear formulation by itself does not prevent the appearance of hinges. In the present work, a very simple example shows material nonlinearities are not capable of preventing hinges as well. Therefore, it is a noticeable influence of the stress in avoiding this behavior. As in the linear case, the stress constraint plays the role of stretching the hinge, spreading the compliance along the arm, fulfilling the strength requirement.

Moreover, it is important to mention that convergence problems were observed in some cases using large input forces. However, for the range of the applied input loads shown in this work, no convergence issues were observed.

Therefore, the implementation of a polyconvex hyperelastic model by itself does not prevent ill-convergence problems. The use of strategies like those cited in the literature review must be used to circumvent the ill-convergence issue, like in Bruns and Tortorelli (2003).

Furthermore, the application of, for instance, arc-length based methods (Crisfield 1996) to replace the Newton-Raphson scheme is also advised.

6 Conclusions

In this work, a geometrically nonlinear analysis is performed for synthesizing compliant mechanisms using topology optimization. To make the algorithm stable and overcome very known issues caused by large displacements, a compressible hyperelastic material model is applied. The results show that this approach successfully produces mechanisms near real-world applications, and it enhances the importance of taking into account nonlinear geometrical assumptions for such designs. The long-standing issue of the appearance of hinges in the optimized designs is alleviated by using a stress constraint in a nonlinear formulation for both material and geometry. Beyond that, the mechanism kinematic behavior changes significantly.

Besides the stability improvement issue, the addition of material nonlinearity is also applied to compute the stress in very strained elements in the mesh more accurately. This approach worked successfully for the tested cases, but convergence problems were still observed using larger kinematic requirements.

The formulation presented here produces designs with good performance and fulfilling strength criteria. This feature is mandatory in devices where their strain is used to provide mobility.

Complete research regarding the design of compliant mechanisms is a work in progress, which includes important considerations that were not covered here. For instance, fatigue life and buckling effects analyses are very important disciplines to be taken into account.