## 2 Topology Optimization for the Synthesis of Compliant Mechanisms
### Formulation of Topology Optimization
#### 2.2.5 Stress Constraint  
Although large displacements, deformations and rotations are present and even desired, permanent, i.e., plastic deformation is to be avoided. Compliant mechanisms are often designed for cases that induce cyclic loading that may require consideration of the fatigue strength (though outside the scope of the present work). Therefore, stress constraints must be considered in topology optimization to guarantee the integrity of a compliant device. As shown by [PERSON] et al. [28], stress constraints also prevent--in part--so-called one-node joints (or hinges). This is a common problem in topology optimization for compliant structures as one-node joints allow for large displacements in the simulation, but are not feasible in real world continuous (hingeless) structures. One can say that one-node joints are analogous to checkerboarding in more traditional topology optimization for minimum compliance. Stress constraints hinder the topology optimization from moving in this direction. They can prevent the appearance of one-node hinges by limiting the stresses in two neighboring low-density elements evolving next to the center node. A complete elimination of one-node hinges solely by the use of the stress constraint formulation introduced below is, though, not possible as these elements can show deformation without notable resulting stress (cf. Equation (20)). If stress constraints are applied, the design problem limits the stress in the entire design domain, including those of voids. To avoid having exaggerated and nonphysical high stresses in elements of low element density, which then dominate the optimization problem, we define the relaxed stress of the von Mises equivalent stress \(\sigma_{M}\) for each element \(i\) as introduced by [PERSON] and [PERSON] (2017); [PERSON] et al. (2018),  
\[\widetilde{\sigma}_{i}=\bar{x}_{i}^{q}\sigma_{M,i}, \tag{20}\]  
which uses a relaxation constant \(q\). In contrast to [PERSON] et al. (2018), in which best convergence is achieved using a constant parameter of \(q\) = 0.5, the most stable convergence behavior for the examples presented here was obtained starting with \(q=1\) and reducing this parameter gradually to its final value of \(q=0.5\) early in the optimization. This is done starting from the 20 th iteration from which \(q\) is reduced by 0.05 at every 10 th iteration. The von Mises stresses \(\underline{\sigma}_{M}\) are obtained from the elemental Cauchy stress vectors \(\underline{\sigma}_{C}\) (evaluated at the element centroids) by  
\[\sigma_{M,i}=\sqrt{\underline{\sigma}_{C,i}^{\mathrm{T}}\underline{\underline{ \underline{\underline{\underline{\underline{\underline{\underline{\underline{ \underline{\underline{\underline{\underline{\underline{\underline{\underline{\underline \leftleftleftleftleftleft|}\right|}}\right. \right.}}}}}}}}\underline{\underline{\sigma}_{C,i}}, \tag{21}\]  
where the expression \(\underline{\underline{\underline{\underline{\underline{\underline{ \underline{\underline{\underline{\underline{\underline{\underline{\underline{ \underline{\underline{\underline{\leftleftleftleftleft|}\right|}}\right. \right. }}}}}}}}}}\) is the auxiliary matrix of the form  
\[\underline{\underline{\underline{\underline{\underline{\underline{ \underline{\underline{\underline{\underline{\underline{\underline{\underline{ \underline{\underline{\underline{\underline{\leftleftleftleft|}\right|}} \right. }}}}}}}}}}}}=\left[ \begin{array}{ccc}1&-0.5&0\\ -0.5&1&0\\ 0&0&3\end{array} \right]. \tag{22}\]  
As a low number of stress constraints is needed for algorithm efficiency, the maximum stress is constrained globally in a single aggregated constraint function. The aggregation is carried out via a continuous approximation of the maximum operator, the so-called p-norm [PERSON] and [PERSON] (2018); [PERSON] et al.