You do not have permission to edit this page, for the following reason:
You can view and copy the source of this page.
==Acknowledgements==
I would like to thank to all the people that in one way or other have helped me to complete my PhD.
First of all, I would like to express my gratitude to my supervisor Prof. Xavier Oliver for his support and availability from the beginning and for his inexhaustible energy devoted to achieving the results of this dissertation. Today, I can say that if I feel the profession of scientist as my own is undoubtedly because of him.
I really appreciate the confidence and patience of my co-advisor Juan Carlos Cante. I would like to thank all the fruitful scientific and personal discussions. I admire his ability to understand.
I would like also to express my gratitude to Alfredo Huespe. Not only for his availability and patience but also for his way on dealing with research. The enthusiasm with which you face new topics, at your age, is my role model.
My sincere thanks also go to Sebastián Giusti, who contributed to achieve the results of this dissertation. On top of a colleague, I get from this experience a friend.
I would like to sincerely thank Prof. Samuel Amstutz for his kind treatment in my stay in Avignon. All our discussions undoubtedly contributed to increasing my confidence and expertise in the topic. I personally believe that our collaboration will bring significant contribution in the topic in the near future.
I would like to thank the Spanish Ministry of Economy and Competitiveness for the FPI fellowship I has granted during my PhD. The research leading to these results has received also funding from the European Research Council under the European Unions Seventh Framework Programme (FP/2007-2013) / ERC Grant Agreement n. 320815 (ERC Advanced Grant Project Advanced tools for computational design of engineering materials COMP-DES-MAT).
I would like to express my gratitude to the Universitat Politècnica de Catalunya (UPC-BarcelonaTech), in which I could develop all my PhD studies. I would also thank CIMNE, where I feel at home. In addition, I would like to thanks ESEIAAT (UPC-BarcelonaTech) for giving me the opportunity of exploring my teaching vocation. It has been one of the most rewarding experiences.
My heartfelt gratitude to Chiara for all the conversations and for his readiness to help. My sincerely thank to Anna for how well she has behaved with me from the first moment. To my officemates throughout these years: Stefano, Lucia, Manuel, Vicent, Emmanuel and Marcelo for creating such an enjoyable environment inside and outside the office. To Joan, Ernesto and Arnau for all the conversations we daily enjoyed at lunch time. To Fermín and Ester for all our coffee conversations, for sharing all our PhD lamentations and hardships and for making this period a wonderful experience. You guys are awesome!
I would like to sincerely thank Celia, for her support throughout these years. It has been an incredible period, I will always bring you inside me.
I would like to give an special thank to my father, for his small gestures that show an enormous love. To my mother and Luis and the way they raised me, stood by me, and opened me to the world. To my sisters, Claudia, Julia and Marta for being there on my side and for the emotional support you provided to me.
=Abstract=
The present dissertation aims at addressing multiscale topology optimization problems. For this purpose, the concept of topology derivative in conjunction with the computational homogenization method is considered.
In this study, the topological derivative algorithm, which is non standard in topology optimization, and the optimality conditions are first introduced in order to a provide a better insight. Then, a precise treatment of the interface elements is proposed to reduce the numerical instabilities and the time-consuming computations that appear when using the topological derivative algorithm. The resulting strategy is examined and compared with current methodologies collected in the literature by means of some numerical tests of different nature.
Then, a closed formula of the anisotropic topological derivative is obtained by solving analytically the exterior elastic problem. To this aim, complex variable theory and symbolic computation are considered. The resulting expression is validated through some numerical tests. In addition, different anisotropic topology optimization problems are solved to show the macroscopic topological implications of considering anisotropic materials.
Finally, the two-scale topology optimization problem is tackled. As a first approach, an structural stiffness increase is achieved by considering the microscopic topologies as design variables of the problem. An alternate direction algorithm is proposed to address the high non-linearity of the problem. In addition, to mitigate the unaffordable time-consuming computations, a reduction technique is presented by means of pre-computing the optimal microscopic topologies in a computational material catalogue. As an extension of the first approach, besides designing the microscopic topologies, the macroscopic topology is also considered as design variables, leading to even more optimal solutions. In addition, the proposed algorithms are modified in order to obtain manufacturable optimal designs. Two-scale topology optimization examples display the potential of the proposed methodology
=Resum=
Aquest treball té com a objectiu abordar els problemes d'optimització de topologia de múltiples escales. Amb aquesta finalitat, es consideren els conceptes de derivada topologica juntament amb el mètode d'homogeneïtzació computacional.
En aquest estudi, es presenten primer les condicions d'optimalitat i l'algorisme d'optimització utilitzant la derivada topològica. A continuació, es proposa un tractament més precís dels elements de la interfície per reduir les inestabilitats numèriques i els elevats costos computacionals que apareixen quan s'utilitza l'algorisme de la derivada topològica. L'estratègia resultant s'examina i es compara amb les metodologies actuals, que es poden trobar sovint recollides a la literatura, mitjançant alguns assaigs numèriques.
A més, s'obté una fórmula tancada de la derivada topològica anisotròpica quan es resol analíticament el problema exterior d'elasticitat. Per aconseguir-ho, es considera la teoria de variable complexa i la computació simbòlica. L'expressió resultant es valida a través d'algunes proves numèriques. A més, es resolen diferents problemes d'optimització topològica anisotròpica per mostrar les implicacions de la topològia macroscòpica a considerar materials anisòtrops.
Finalment, s'aborda els problemes d'optimització topològica en dues escales. Com a primera estratègia, es consideren les topologies microestructurals com a variables de disseny del problema per obtenir un augment de la rigidesa de l'estructura. Es proposa un algoritme de direcció alternada per fer front a l'alta no linealitat del problema. A més, per mitigar els elevats càlculs computacionals, es presenta una tècnica de reducció per mitjà d'un precalcul de les topologies microestructural òptimes, que posteriorment són recollides en un catàleg de materials. Com a una extensió de la primera estratègia, a més del disseny de les topologies microestructurals, també es considera la topologia macroscòpica com una variable de disseny, obtenint així solucions encara més òptimes. A més, els algoritmes proposats es modifiquen per tal d'obtenir dissenys que puguin ser posteriorment fabricats. Alguns exemples numèrics d'optimització topològica en dues escales mostren el potencial de la metodologia proposada.
=1 Introduction=
==1.1 Motivation==
Topology optimization is an emerging field that aims to automate the design process of any structural domain. It seeks to propose optimal topological designs by means of the most leading computational tools. Certainly, topology optimization attempts to complement the design engineer work rather than replace it. On the one hand, due to the knowledge intensively developed in the last years, it can provide designs that offer equal, or even greater, performances. On the other hand, it presents optimal topologies that are often far from being intuitive. It contributes to expanding our creative design capabilities taking us to places often inaccessible to our mind. Admittedly, the possibility of designing complex topologies may seem to be unrealistic to manufacture. However, owing to the recent additive manufacturing techniques, they can be nowadays afforded in a reasonable time and cost.
As an exercise to exhibit the topological optimization scope, one could pose the following question: ''from a full-domain object, under certain loads and boundary conditions, which would be the best removing material strategy without undermining the structural response capacity?'' Topology optimization deals with giving the response to this question. In this sense, topology optimization problem can be properly addressed following the motivation quote of work <span id='citeF-1'></span>[[#cite-1|[1]]]:
''“The art of structure is where to put the holes”''
Robert Le Ricolais, 1894-1977
Undoubtedly, material reduction is of particular interest in automotive and aeronautical industry. In the former, a decrease on the final structural mass results in a significant economic saving. In the latter, even more evidently, a decrease on the structural mass entails a considerable reduction on the fuel consumption. In order to present an order of magnitude of the economic saving impact, reference [Ipad] asserts that
''American Airlines expected to save <math>$ </math> million a year replacing <math>16kg</math> flight bags by 0.7 kg iPads.''
In other words, a <math display="inline">\sim{0.02}%</math> of Airbus-A320 structural weight reduction leads to a <math display="inline">$ </math> million saving per year. In addition, from the environment point of view, the fuel consumption reduction entails a considerable decrease on the <math display="inline">CO_{2}</math> emission impact.
Certainly, apart from designing the topology, weight reduction can be achieved by means of other techniques. The use of composite materials stands for a first example. These kind of materials, usually modeled by multiscale techniques, provide a reduced weight by appropriately arrange the microstructure with a stiff but heavy material (fibers) and a lighter but softer material (matrix). At this point, in terms of arrangement of fiber-matrix, ''is it possible to propose novel optimal configurations?'' Or even more stimulating, ''is it possible to devise optimal micro-structures by properly putting holes on the stiff material?'' It naturally leads us to wonder if, on top of designing the macroscopic topology, when the microscopic topology in each macroscopic point is also designed (by means of computational multiscale and topology optimization techniques), an outstanding impact on the mass reduction is achieved.
==1.2 Goals==
The aim of this study is to address multi-scale topology optimization problems. Under this perspective, through the computational homogenization and topological derivative techniques, the main goal consists in developing the necessary numerical tools to achieve a reduction of the cost function by designing the microscopic and/or macroscopic topologies.
Regarding the optimization problem, at the very onset, a robust and efficient strategy must be established for solving the topology optimization problem when considering the topological derivative. The strategy must intend, on the one side, to mitigate the spurious local minima that appear in the line-search method, and on the other side, to reduce the time-consuming re-meshing techniques.
Apart from the algorithm, computing the closed form of the anisotropic topological derivative yields crucial in this study to achieve the desired results. Since the homogenization of the constitutive tensor of a microscopic topology confers, in general, macroscopic anisotropic response, the current isotropic topological derivative must be extended to anisotropic materials. It stands as one of the main objective of the study. In addition, it is intended to examine the difference between the optimal macroscopic topologies in terms of using either isotropic or anisotropic materials.
As a final goal, this study aims at proposing algorithms and appropiate numerical strategies to significantly decrease the cost function when designing microscopic topologies. Similarly, it is intended to obtain reductions in the cost function not only by designing microscopic topologies but also by designing both simultaneous macroscopic and microscopic topologies. This objective will also result in efficient strategies to tackle the unaffordable multiscale topology optimization problem. In addition, since this study has a practical purpose, developing optimal manufacturable multiscale topologies is the last goal.
==1.3 Outline==
This dissertation is organized as follows:
==Chapter [[#2 Background and review of the state of the art|2]]==
The state of the art of the multiscale method is first described. In addition, the background of the computational homogenization method is presented by the variational multiscale framework including the Hill-Mandel principle, the boundary conditions and the homogenization of the constitutive tensor. Then, in a similar fashion, a brief revision of the topological optimization state of the art is described. The non-existence of solutions and numerical instabilities is addressed. In addition, a concise summary of the different methodologies to tackle topology optimization problems is presented, including the SIMP, shape optimization and topology optimization methods. The latter is devoted in more detail since it represents a core element of this study.
==Chapter [[#3 Topological derivative and topology optimization|3]] ==
This chapter is devoted to present the necessary numerical tools to address topological optimization problems when using topological derivative. First, an intuitive and mathematical description of the topological derivative concept is introduced. Then, the topological derivative for the two most relevant shape functions are examined. The optimality conditions in general and tailored to the use of a level-set function, are further explained. In addition, the Slerp algorithm, in the case of equality and inequality constraints, is pointed out. On top of that, a novel numerical technique to treat with the interface in these problems is then proposed and compared with the ones collected in the literature. Some numerical examples account for the proposed interface numerical technique.
==Chapter [[#4 Topological derivative extension to anisotropic elastic materials |4]] ==
This chapter embraces a full analytical computation of the closed anisotropic topological derivative expression. First, the formulation of the problem is posed and the topological derivative is stated. A summary of the necessary steps to solve analytically the crucial isotropic and anisotropic exterior problems is presented. Full details are collected in Appendices [[#7 Analytical solution of the isotropic exterior problem|7]] and [[#8 Analytical solution of the anisotropic exterior problem|8]]. In addition, the remainders are estimated and the topological derivative is numerically validated. Finally, a wide number of numerical tests are computed for homogeneous and heterogeneous anisotropic materials.
==Chapter [[#5 Two-scale topology optimization|5]] ==
This chapter concerns multi-scale topology optimization problems. First, the stiffness of the structure is intended to be increased by means of designing the microstructure in each macroscopic point. For this purpose, adequate algorithms and reduction techniques are proposed and validated by some numerical examples. Likewise, a similar approach is proposed to fulfill manufacturability requirements and additional numerical examples are computed. On top of that, a two-scale topology optimization problems is then addressed. An extension of the material design strategies are proposed to achieve the desired results. Some numerical results exhibits the capability of the presented strategies.
==Chapter [[#6 Conclusions|6]] ==
The conclusions of the study are collected in this last chapter. The achievements are first pointed out. Then, the chapter is focused in drawing the final conclusions and outlining the future work lines.
Note that, although a motivation section is devoted in this chapter, an specific motivation section is included at the beginning of each chapter so that each chapter lends itself to become self-contained. Likewise, a conclusion section, related to the specific content of each chapter, is presented.
==1.4 Research dissemination==
The work developed in this research gives rise to the following scientific publications:
'''A Ferrer, J Oliver JC Cante, and JA Hernández'''. Two-scale topology optimization: an efficient integrated structural optimization and material design approach. Draft, 2016.
'''SM Giusti, A Ferrer and J Oliver''. Topological sensitivity analysis in heterogeneous anisotropic elasticity problem. Theoretical and computational aspects. Computer Methods in Applied Mechanics and Engineering, 2016. [http://www.sciencedirect.com/science/article/pii/S0045782516303577 http://dx.doi.org/10.1016/j.cma.2016.08.004]
'''A Ferrer, J Oliver JC Cante, and O Lloberas'''. Vademecum-based approach to multi-scale topological material design. Advanced Modeling and Simulation in Engineering Sciences, 2016. [http://link.springer.com/article/10.1186/s40323-016-0078-4 doi:10.1186/s40323-016-0078-4]
Additionally, the work has been presented in the following conferences and workshops:
'''JC Cante, A Ferrer, J Oliver'''. Numerical tools for Multi-scale material design and structural topology optimization. In ECCOMAS VII European Congress on Computational Methods in Applied Sciences and Engineering, Creta, 2016.
'''A Ferrer, J Oliver, JC Cante'''. Multi-scale topological design: a Vademecum-based approach. In New Challenges in Computational Mechanics (A Conference Celebration the 70th Birthday of Pierre Ladevèze), Paris, 2016.
'''J Oliver, JC Cante, A Ferrer'''. Computational design of engineering materials: An integrated multi-scale approach to structural topological optimization. In XIII International Conference on Computational Plasticity. Fundamentals and Applications. COMPLAS 2015, Barcelona 2015.
'''A Ferrer, JC Cante, J Oliver'''. An efficient tool for multi-scale material design and structural topology optimization. In XIII International Conference on Computational Plasticity. Fundamentals and Applications. COMPLAS 2015, Barcelona, 2015.
'''A Ferrer, JC Cante, J Oliver'''. On Multi-scale structural topology optimization and material design. In CMN-2016: Congress on numerical methods in Engineering, Lisbon, 2015.
'''A Ferrer, JC Cante, J Oliver'''. Towards real time analysis in multi-scale computational design of engineering materials. In CSMA-SEMNI Numerical techniques for computation speedup, Biarritz, 2015.
'''A Ferrer, J Oliver, A Huespe, JA Hernandez, JC Cante'''. On macrostructure and microstructure optimization techniques in multiscale computational material design. In 11th World Congress on Computational Mechanics, Barcelona 2014.
'''A Huespe, J Oliver, A Ferrer, A Huespe, JA Hernandez, JC Cante'''. Hierarchical multiscale optimization of microstructure arrangement and macroscopic topology in computational material design. In XII International Conference on Computational Plasticity. Fundamentals and Applications. COMPLAS 2013, Barcelona, 2013.
Finally, the work of this dissemination has been complemented by the developments achieved in the following research stay:
'''Université dAvignon''', 4-month doctoral research stay. Worked under the supervision of Prof. Samuel Amstutz in the Laboratoire de Mathématiques dAvignon, Avignon, France. May-September 2016.
=2 Background and review of the state of the art=
Since the aim of this work is to solve multiscale topology optimization problems, this chapter is focused on describing the bases of the multi-scale and topology optimization techniques. On the one hand, the theoretical background is briefly summarized. On the other hand, as a state-of-the-art review, different theories are presented and their major advantages and disadvantages are highlighted.
First, the computational homogenization theory is introduced by detailing the foundations of the multi-scale variational framework, the Hill-Mandel Principle, the equilibrium and boundary conditions and finally the necessary steps for computing the constitutive tensor.
Second, the mathematical foundations of the the topology optimization problem are presented. The non-existence results and the numerical instabilities of that usually appear in topology optimization problems are . We also describe the most used topology optimization techniques, including the SIMP methodology and the shape derivative approach, and finally as a core element of this thesis, we feature the topological derivative for topology optimization problems applied to the macroscopic and microscopic domain.
==2.1 Computational homogenization (FE)==
In continuum mechanics, it is necessary to define the dependency between the stresses <math display="inline">\sigma </math> and strains <math display="inline">\varepsilon </math> in order to solve the standard problem of solid mechanics.
Usually, the main difficulty of the constitutive law (<math display="inline">\sigma{-\varepsilon}</math> relation) lies on how to model the non-linear behavior of the material. However, this is not the case of this work. Since the primary objective is to design materials and structures, we consider, throughout all this work, linear elasticity. That is, the stress tensor <math display="inline">\sigma </math> depends linearly on the deformation tensor at each point. Namely,
<span id="eq-2.1"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\sigma (x)=\mathbb{\mathbb{C}}:\varepsilon (x), </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.1)
|}
where <math display="inline">\mathbb{C}</math> is the fourth order constitutive tensor.
Apart from the non-linearity of the material, it is worth wondering if the constitutive law provides enough information on the material behavior. The answer would depend on the accuracy that we require. Since precisely we focus on designing materials, a high level accuracy on the constitutive law (through the <math display="inline">\mathbb{\mathbb{C}}</math> relation) is required. Thus, the technique for setting the constitutive law must be powerful enough to provide an accurate <math display="inline">\sigma{-\varepsilon}</math> relation. The existing approaches for modeling the constitutive law can be basically grouped in two currents, phenomenological techniques and multi-scale homogenization techniques.
In some applications, phenomenological constitutive laws are powerful enough to model the material and to define the <math display="inline">\sigma{-\varepsilon}</math> relation. However, in highly demanding applications, it is necessary to make use of more sophisticated techniques such as the multi-scale homogenization method, in order to capture the complexity of the materials <span id='citeF-2'></span>[[#cite-2|[2]]]. Phenomenological constitutive approaches are only able to capture these small variations, in the Finite Element (FE) context, with unaffordable fine meshes. By contrast, the computational homogenization method, usually called <math display="inline">FE^{2}</math>, through the definition of two different scales, is able to capture such small variations with a reasonable computational effort.
Regarding the computational homogenization method, in the last decades, it has gained considerable popularity in the computational mechanics community. Admittedly, providing an accurate <math display="inline">\sigma{-\varepsilon}</math> relation with a reasonable computational effort represents a significant advantage. In addition, and more significantly, since the approach basically requires standard Finite Element (FE) techniques, the computational homogenization method suits naturally in the computational mechanics context from the formulation point of view and the implementation point of view.
In order to set up the corresponding mathematical framework of the computational homogenization method, different theories have been developed in the last years <span id='citeF-3'></span><span id='citeF-4'></span>[[#cite-3|[3,4]]]. Apparently, asymptotic expansion and variational multi-scale approach are, nowadays, the most successful approaches in the context of computational mechanics. Although the asymptotic expansion approach is a rigorous mathematical theory and it has been used for a long time, the variational multi-scale theory seems more appropiate to extend to non-linear problems. Furthermore, variational approaches usually fit more naturally in the context of the Finite Element method.
The main concepts of the computational homogenization method, which holds for both the asymptotic expansion approach and variational multi-scale method, are first described. Further ahead, we describe the essential concepts of variational multi-scale method that are needed for achieving the results of all this work.
Since the computational homogenization method aims at considering small heterogeneities and small variations of the variables, it proposes to define, firstly, a macroscopic scale (characterized by the length scale <math display="inline">l</math>) which corresponds usually with the length of the domain and, secondly, a microscopic scale (characterized by the length scale <math display="inline">l_{\mu }</math>), which typically is of a smaller order of magnitude. It is assumed that the microscopic scale <math display="inline">l_{\mu }</math> fulfills
<span id="eq-2.2"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>l_{\mu } \ll l. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.2)
|}
Accordingly, one can define a macroscopic coordinate <math display="inline">x</math> (macroscopic point) related to the macroscopic scale <math display="inline">l</math> and a microscopic coordinate <math display="inline">y=\frac{x}{\epsilon }</math> (microscopic point) related with its counterpart scale <math display="inline">l_{\mu }</math>. The parameter
<span id="eq-2.3"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\epsilon \sim \frac{l_{\mu }}{l}\ll{1} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.3)
|}
usually measures the jump between the scales. Note that if the <math display="inline">y</math> coordinate is neglected, the standard one scale problems is recovered.
Thus, with the definition of these two different scales in mind, and with the idea of considering heterogeneities on the small scale, the constitutive tensor is modeled as a function of both macroscopic coordinate <math display="inline">x</math> and the microscopic coordinate <math display="inline">y</math> as
<span id="eq-2.4"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathbb{C}(x,y)=\mathbb{C}(x,\frac{x}{\epsilon }). </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.4)
|}
Since the variables (stresses <math display="inline">\sigma </math>, strains <math display="inline">\varepsilon </math>) of a standard elasticity problem depend implicitly on the constitutive tensor <math display="inline">\mathbb{C}(x,y)</math> through the equilibrium equation, in principle, they are also function of both macroscopic coordinate <math display="inline">x</math> and the microscopic coordinate <math display="inline">y</math>, that is
<span id="eq-2.5"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\sigma (x,y)=\mathbb{\sigma }(x,\frac{x}{\epsilon })\quad \mbox{and }\varepsilon (x,y)=\varepsilon (x,\frac{x}{\epsilon }). </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.5)
|}
Conceptually, the main idea of the computational homogenization method is to collect the variation of the variables with respect the microscopic coordinate <math display="inline">y</math> through an homogenization process. On the one hand, that allows capturing heterogeneities of the microscopic scale. On the other hand, after applying the homogenization process, the standard variables (stresses <math display="inline">\sigma </math>, strains <math display="inline">\varepsilon </math>) of a macroscopic continuum mechanical problem may be retrieved. In mathematical terms, the explicit <math display="inline">y</math>-dependence of the variables disappears after applying the homogenization process, this is
<span id="eq-2.6"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathbb{C}(x,y)\rightarrow \mathbb{C}^{h}(x),\quad \mathbb{\sigma }(x,y)\rightarrow \sigma (x)\quad \hbox{and}\quad \varepsilon (x,y)\rightarrow \varepsilon (x) </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.6)
|}
where <math display="inline">\mathbb{C}^{h}</math> corresponds to the homogenization constitutive law. In order to describe this homogenization process, the RVE (Representative Volume Element) concept is first introduced. It is usually defined as the microscopic domain <math display="inline">\Omega _{\mu }</math> (of order of magnitude <math display="inline">l_{\mu }</math> ) in which the variations of the material properties are sufficiently representative. That allows associating the macroscopic variable <math display="inline">x</math> to the coordinates of the macroscopic domain <math display="inline">\Omega </math> and the microscopic variable <math display="inline">y</math> to the coordinates of the microscopic domain <math display="inline">\Omega _{\mu }</math>. When the jump between the scales is large enough, each integration/sampling point <math display="inline">x</math> of the continuum macroscopic domain is associated to an RVE. A sketch of this concept is presented in Figure [[#img-1|1]].
<div id='img-1'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-Figure1.png|400px|Representation of the macroscopic domain Ω and the microscopic domain Ω<sub>μ</sub>. In each macroscopic coordinate x, the associated RVE (Representative Volume Element) allows considering heterogeneities on the micro-scale through the microscopic coordinate y. ]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 1:''' Representation of the macroscopic domain <math>\Omega </math> and the microscopic domain <math>\Omega _{\mu }</math>. In each macroscopic coordinate <math>x</math>, the associated RVE (Representative Volume Element) allows considering heterogeneities on the micro-scale through the microscopic coordinate <math>y</math>.
|}
Due to the definition of both coordinates <math display="inline">x</math> and <math display="inline">y</math>, the heterogeneities of the material on the macroscopic domain and on the microscopic domain can be considered. At this point, the computational homogenization method proposes to replace the heterogeneous microscopic domain by an equivalent homogeneous microscopic domain, hence its name. See, in Figure [[#img-2|2]], an sketch of this concept.
<div id='img-2'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-Computational homogenization.png|600px|Computational homogenization representation. The variational multi-scale technique considers the heterogeneities on the microscopic scale through the coordinate y. However, after applying the homogenization process, the macroscopic variables σ(x), ɛ(x) and \mathbbC<sup>h</sup>(x) come to depend only to the macroscopic coordinate x. ]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 2:''' Computational homogenization representation. The variational multi-scale technique considers the heterogeneities on the microscopic scale through the coordinate <math>y</math>. However, after applying the homogenization process, the macroscopic variables <math>\sigma (x)</math>, <math>\varepsilon (x)</math> and <math>\mathbb{C}^{h}(x)</math> come to depend only to the macroscopic coordinate <math>x</math>.
|}
The methodology of replacing the heterogeneous RVE by its homogeneous counterpart is what the variational multiscale method proposes. Note that, although the heterogeneous micro-scale becomes an homogeneous material, the macroscopic material can still be considered an heterogeneous material, i.e., it no longer depend on variable <math display="inline">y</math> but it may still depend on variable <math display="inline">x</math>.
As a first attempt of this homogenization process, one could think naturally on using the rule of mixtures. However, more sophisticated approaches may be employed <span id='citeF-5'></span>[[#cite-5|[5]]], for instance, the multi-scale variational framework.
===2.1.1 Multi-scale variational framework===
The multi-scale variational approach has been extensively used in the last years <span id='citeF-4'></span>[[#cite-4|[4]]] as a mathematical framework for the computational homogenization. On the one hand, it takes use of the powerful tools of calculus of variations and, on the other hand, it develops and presents the concepts nimbly. The methodology is based on: first, defining the kinematics, second, taking variations on the strain space of functions and, finally, postulating the Hill-Mandel principle. Henceforth, the variables related with the micro-scale are endowed by the sub-index <math display="inline">\mu </math>.
Regarding the kinematics, the multi-scale variational approach asserts that the microscopic strain <math display="inline">\varepsilon _{\mu }(x,y)</math> can be written as the sum of two terms, a macroscopic strain <math display="inline">\varepsilon (x)</math> and a fluctuation strain <math display="inline">\tilde{\varepsilon }_{\mu }(x,y)</math>, i.e,
<span id="eq-2.7"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\varepsilon _{\mu }(x,y)=\varepsilon (x)+\tilde{\varepsilon }_{\mu }(x,y). </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.7)
|}
The macroscopic strain is defined commonly as <math display="inline">\varepsilon (x)=\nabla ^{s}u</math>, where <math display="inline">u</math> represents the displacements, and it depends only on the macroscopic coordinate <math display="inline">x</math>, while the fluctuation strain <math display="inline">\tilde{\varepsilon }_{\mu }(x,y)</math> depends on both coordinates <math display="inline">x</math> and <math display="inline">y</math> and must fulfill the constraint of zero mean value over the microscopic domain <math display="inline">\Omega _{\mu }</math>, that is,
<span id="eq-2.8"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\int _{\Omega _{\mu }}\tilde{\varepsilon }_{\mu }(x,y)=0. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.8)
|}
Thus, both the splitting on two terms of the strain and the zero mean value constraint on the fluctuation strain are considered axioms of the multi-scale variational approach. Note that, this choice allows us to guarantee that the average of the microscopic strain will be the macroscopic strain, more specifically,
<span id="eq-2.9"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\varepsilon (x)=\frac{1}{\Omega _{\mu }}\int _{\Omega _{\mu }}\varepsilon _{\mu }(x,y). </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.9)
|}
This relation corresponds to the homogenization process shown in Figure [[#img-2|2]] applied to the strain field. Thus, the microscopic strain <math display="inline">\varepsilon _{\mu }(x,y)</math>, which takes values over all the domain and depends on both <math display="inline">x</math> and <math display="inline">y</math> coordinates, is defined as the sum of its mean value over the microscopic domain and a fluctuation part, which is in charge of measuring the deviation over such mean value. As a remark, in the case where the fluctuations are canceled, the standard macroscopic problem is recovered.
Once the kinematic is defined, we move to the definition of the space of function of the strains. First, the space of function of the macroscopic and fluctuation strains are defined as
<span id="eq-2.10"></span>
<span id="eq-2.11"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathbb{V}_{\varepsilon } = \{ \varepsilon (x)\in T^{2}(\mathbb{R}^{d},\mathbb{R})\} ,</math>
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.10)
|-
| style="text-align: center;" | <math> \mathbb{V}_{\tilde{\varepsilon }_{\mu }} = \{ \tilde{\varepsilon }_{\mu }(x,y)\in \mathbb{V}_{\varepsilon }|\int _{\Omega _{\mu }}\tilde{\varepsilon }_{\mu }(x,y)=0\} </math>
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.11)
|}
|}
where <math display="inline">T^{2}(\mathbb{R}^{d},\mathbb{R})</math> stands for the symmetric second order tensor spaces. The macroscopic strain are only asked to belong to the symmetric second order spaces while fluctuation strains are additionally asked to satisfy the zero mean value constraint over the microscopic domain. Then, the space for the microscopic strain is defined as
<span id="eq-2.12"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathbb{V}_{\varepsilon _{\mu }} = \{ \varepsilon _{\mu }(x,y)\in \mathbb{V}_{\varepsilon }|\varepsilon _{\mu }(x,y)=\varepsilon (x)+\tilde{\varepsilon }_{\mu }(x,y)\} , </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.12)
|}
with <math display="inline">\varepsilon \in \mathbb{V}_{\varepsilon }</math> and <math display="inline">\tilde{\varepsilon }_{\mu }\in \mathbb{V}_{\tilde{\varepsilon }_{\mu }}</math>.
===2.1.2 Hill- Mandel principle===
Taking variations in such spaces, the variational multi-scale approach makes use of the Hill-Mandel principle. Based on energy concepts, it postulates that the internal energy of a macroscopic point <math display="inline">x</math> is equivalent to the average of the microscopic internal energy of the microscopic domain. In physical terms, it states that two different entities (the infinitesimal point of coordinate <math display="inline">x</math> and the microscopic domain) are equivalent and replaceable if they are endowed with the same value of the internal energy. In mathematical terms, this statement is expressible as
<span id="eq-2.13"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\sigma :\delta \varepsilon =\frac{1}{|\Omega _{\mu }|}\int _{\Omega _{\mu }}\sigma _{\mu }:\delta \varepsilon _{\mu }\forall \delta \varepsilon _{\mu }\in \mathbb{V}_{\varepsilon _{\mu }}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.13)
|}
where <math display="inline">\sigma (x)</math> corresponds to the macroscopic stress and <math display="inline">\sigma _{\mu }(x,y)</math> to the microscopic stress. By virtue of ([[#eq-2.12|2.12]]), a variation of the microscopic strain is given by the variation of the macroscopic and fluctuation strain as
<span id="eq-2.14"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\delta \varepsilon _{\mu }=\delta \varepsilon{+\delta}\tilde{\varepsilon }_{\mu }. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.14)
|}
Inserting such variation on the Hill-Mandel principle equation ([[#eq-2.13|2.13]]), we obtain the following equation
<span id="eq-2.15"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>(\sigma -\frac{1}{|\Omega _{\mu }|}\int _{\Omega _{\mu }}\sigma _{\mu }):\delta \varepsilon +\frac{1}{|\Omega _{\mu }|}\int _{\Omega _{\mu }}\sigma _{\mu }:\delta \tilde{\varepsilon }_{\mu }=0\forall \delta \varepsilon \in \mathbb{V}_{\varepsilon },\forall \delta \tilde{\varepsilon }_{\mu }\in \mathbb{V}_{\tilde{\varepsilon }_{\mu }}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.15)
|}
Since equation ([[#eq-2.15|2.15]]) holds for all <math display="inline">\forall \delta \tilde{\varepsilon }_{\mu }\in \mathbb{V}_{\tilde{\varepsilon }_{\mu }}</math>, it also holds for <math display="inline">\delta \tilde{\varepsilon }_{\mu }=0</math>. In consequence, the homogenization of the stress appears naturally as,
<span id="eq-2.16"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\sigma =\frac{1}{|\Omega _{\mu }|}\int _{\Omega _{\mu }}\sigma _{\mu }. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.16)
|}
Clearly, this relation is, in stresses, the analogous equation of the strain equation ([[#eq-2.9|2.9]]). As in the strain case, equation ([[#eq-2.16|2.16]]) corresponds to the homogenization process shown in Figure [[#img-2|2]], but in this case, applied to the stress field. Note that the strain and stress homogenization differ basically on how they have been stated, the former as an axiom, the latter as a consequence of the Hill-Mandel principle.
Similarly, since equation ([[#eq-2.15|2.15]]) holds for all <math display="inline">\forall \delta \varepsilon \in \mathbb{V}_{\varepsilon }</math>, it also holds for <math display="inline">\delta \varepsilon=0</math>. Inserting this condition into equation ([[#eq-2.15|2.15]]), the weak form of the micro-structure equilibrium equation is obtained as
<span id="eq-2.17"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\int _{\Omega _{\mu }}\sigma _{\mu }:\delta \tilde{\varepsilon }_{\mu }=0. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.17)
|}
In view of equation ([[#eq-2.17|2.17]]), the fluctuation strain <math display="inline">\tilde{\varepsilon }_{\mu }(x,y)</math> does not produce internal energy on the RVE.
===2.1.3 Micro-scale equilibrium equation and boundary conditions===
The Hill-Mandel principle leads to solve the equilibrium equation ([[#eq-2.17|2.17]]) for each macroscopic point <math display="inline">x</math>. This means that, through a discretization in <math display="inline">FE</math>, the macroscopic and a microscopic scale problem (in each macroscopic point) must be solved.
Regarding the micro-scale equilibrium equation, we first express the <math display="inline">\sigma{-\varepsilon}</math> relation on the micro-scale, i.e, <math display="inline">\sigma _{\mu }-\varepsilon _{\mu }</math> relation. Since the aim of the work is based on material design and structural optimization, we restrict the constitutive law to the elastic regime of materials. Thus, the macroscopic stress <math display="inline">\sigma _{\mu }(x,y)</math> depends linearly on the strain <math display="inline">\varepsilon _{\mu }(x,y)</math> through the micro-scale constitutive tensor <math display="inline">\mathbb{C_{\mu }}(x,y)</math> as
<span id="eq-2.18"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\sigma _{\mu }(x,y)=\mathbb{\mathbb{C}}_{\mu }(x,y):\varepsilon _{\mu }(x,y). </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.18)
|}
Therefore, the micro-scale equilibrium equation ([[#eq-2.17|2.17]]) is rewritten as
<span id="eq-2.19"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\int _{\Omega _{\mu }}\varepsilon _{\mu }:\mathbb{\mathbb{C}}_{\mu }:\delta \tilde{\varepsilon }_{\mu }=0\forall \delta \tilde{\varepsilon }_{\mu }\in \mathbb{V}_{\tilde{\varepsilon }_{\mu }}, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.19)
|}
and considering the split of the microscopic strain <math display="inline">\varepsilon _{\mu }(x,y)</math> in equation ([[#eq-2.7|2.7]]), the equilibrium equation results
<span id="eq-2.20"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\int _{\Omega _{\mu }}\tilde{\varepsilon }_{\mu }:\mathbb{\mathbb{C}}_{\mu }:\delta \tilde{\varepsilon }_{\mu }=-\int _{\Omega _{\mu }}\varepsilon :\mathbb{\mathbb{C}}_{\mu }:\delta \tilde{\varepsilon }_{\mu }\forall \delta \tilde{\varepsilon }_{\mu }\in \mathbb{V}_{\tilde{\varepsilon }_{\mu }}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.20)
|}
This last equation stands for the equilibrium equation in strain terms. To write it in terms of displacements, we must first apply the Gauss theorem to the fluctuation strain condition ([[#eq-2.8|2.8]]), that is,
<span id="eq-2.21"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\int _{\Omega _{\mu }}\tilde{\varepsilon }_{\mu }=\int _{\Omega _{\mu }}\nabla ^{s}\tilde{u}_{\mu }=\int _{\partial \Omega _{\mu }}\tilde{u}_{\mu }\otimes _{s}n=0, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.21)
|}
where the fluctuation displacement <math display="inline">\tilde{u}_{\mu }</math> has been introduced through the standard relation <math display="inline">\tilde{\varepsilon }_{\mu }=\nabla ^{s}\tilde{u}_{\mu }</math>. Similarly, the micro-scale displacement <math display="inline">u_{\mu }(x,y)</math> can be defined from <math display="inline">\varepsilon _{\mu }=\nabla ^{s}u_{\mu }</math>. Consequently, integrating the splitting equation ([[#eq-2.7|2.7]]), the micro-scale displacement <math display="inline">u_{\mu }(x,y)</math> can be written in terms of the macroscopic strain <math display="inline">\varepsilon (x)</math> and the fluctuation displacement <math display="inline">\tilde{u}_{\mu }</math> as,
<span id="eq-2.22"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>u_{\mu }(x,y)=\varepsilon (x)y+\tilde{u}_{\mu }(x,y). </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.22)
|}
Then, we can define the space function of the fluctuation displacement <math display="inline">\tilde{u}_{\mu }</math> as
<span id="eq-2.23"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathbb{V}_{\tilde{u}_{\mu }} = \{ \tilde{u}_{\mu }\in H^{1}(\Omega _{\mu })|\int _{\partial \Omega _{\mu }}\tilde{u}_{\mu }\otimes _{s}n=0\} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.23)
|}
Unlike the macroscopic displacement field, the fluctuation field is requested not only to enjoy standard regularity of elliptic problems but also to fulfill condition ([[#eq-2.23|2.23]]).
Thus, the equilibrium equation ([[#eq-2.20|2.20]]) can be re-expressed in terms of the fluctuation displacement <math display="inline">\tilde{u}_{\mu }</math> as,
<span id="eq-2.24"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\int _{\Omega _{\mu }}\nabla ^{s}\tilde{u}_{\mu }:\mathbb{\mathbb{C}}_{\mu }:\nabla ^{s}\delta \tilde{u}_{\mu }=-\int _{\Omega _{\mu }}\varepsilon :\mathbb{\mathbb{C}}_{\mu }:\nabla ^{s}\delta \tilde{u}_{\mu }\forall \delta \tilde{u}_{\mu }\in \mathbb{V}_{\tilde{u}_{\mu }}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.24)
|}
This last equation corresponds to the equilibrium equation that must be solved in each micro-structure. Note that, the equilibrium equation ([[#eq-2.24|2.24]]) suggests that the micro-scale equilibrium could be interpreted as a standard macro-scale equilibrium problem where the fluctuation <math display="inline">\tilde{u}_{\mu }</math> plays the role of the unknown and the macroscopic strain <math display="inline">\varepsilon (x)</math> the role, after integration, of the right hand side.
Next step is to describe how the microscopic boundary conditions may be fulfilled. There are different approaches to satisfy these boundary conditions of the RVE. In literature, see <span id='citeF-4'></span>[[#cite-4|[4]]], the most frequently used can be classified in ''Taylor, Linear, Periodic'' and ''Minimal'' condition.
'''Taylor boundary conditions'''. Frequently, this model is commonly termed, in other contexts, rule of mixtures <span id='citeF-5'></span>[[#cite-5|[5]]]. Intuitively, it homogenizes the properties by its volumetric contribution. In our terms, it turns into imposing zero fluctuation over all the domain (including the boundary), that is
<span id="eq-2.25"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\tilde{u}_{\mu }(x,y)=0\qquad \forall y\in \Omega _{\mu }\cup \partial \Omega _{\mu } </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.25)
|}
Thus, the equilibrium equation is not necessary to be solved since the unknown is already known. Obviously, by definition, condition ([[#eq-2.21|2.21]]) fulfills, i.e.,
<span id="eq-2.26"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\tilde{u}_{\mu }(x,y) = 0\qquad \forall y\in \Omega _{\mu }\cup \partial \Omega _{\mu }\Rightarrow \int _{\partial \Omega _{\mu }}\tilde{u}_{\mu }\otimes _{s}n=0. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.26)
|}
'''Linear boundary conditions'''. In comparison to the fluctuation on the ''Taylor conditions'', the linear boundary conditions are imposed to be zero only on the boundary, i.e,
<span id="eq-2.27"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\tilde{u}_{\mu }(x,y)=0\qquad \forall y\in \partial \Omega _{\mu }. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.27)
|}
According to ([[#eq-2.22|2.22]]), the total displacement has, in this case, only the contribution of the macroscopic strain:
<span id="eq-2.28"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>u_{\mu }(x,y) = \varepsilon (x)y\forall y\in \partial \Omega _{\mu } </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.28)
|}
Thus, in the ''Linear boundary conditions'', the micro-scale displacement depends linearly on the boundary with respect to coordinate <math display="inline">y</math>, hence its name. In this case, if the fluctuation is zero over all the boundary, the integral of the symmetric open product between the fluctuation and the normal is also zero, that is,
<span id="eq-2.29"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\tilde{u}_{\mu }(x,y) = 0\quad \forall y\in \partial \Omega _{\mu }\quad \Rightarrow \quad \int _{\partial \Omega _{\mu }}\tilde{u}_{\mu }\otimes _{s}n=0. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.29)
|}
Since less conditions are imposed, ''Linear boundary conditions'' are less stiffer than the ''Taylor boundary conditions.'' However, there is still room to impose softer ones.
'''Periodic boundary conditions'''. Alternatively, the periodic boundary conditions are the ones with better reputation in the multi-scale field. In the literature, there are numerical studies that suggest its use in periodic material <span id='citeF-6'></span>[[#cite-6|[6]]]. The main advantage lies on the fact that, the size of the micro-structure in which the material is statistically representative, is the smaller size in comparison to the rest of boundary conditions. Thus, the condition on the jump of scales is easier to satisfy.
The periodic boundary conditions satisfy the fluctuation condition as follows. For some specific micro-scale geometries like square cells (hexagonal cells and others can be easily extended), the boundary is divided in <math display="inline">\Gamma _{1}^{+}</math>, <math display="inline">\Gamma _{1}^{-}</math>, <math display="inline">\Gamma _{2}^{+}</math> and <math display="inline">\Gamma _{2}^{-}</math> with outward unit normal such that
<span id="eq-2.30"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>n_{1}^{+}=-\mathbf{\mathit{n}}_{1}^{-}\;,\;\mathbf{\mathrm{\mathit{n}}_{\mathrm{2}}^{\mathrm{+}}}=-\mathbf{\mathit{n}}_{2}^{-}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.30)
|}
<div id='img-3'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-Figure2.png|400px|RVE periodic domain, square cell. ]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 3:''' RVE periodic domain, square cell.
|}
The different parts <math display="inline">\Gamma _{1}^{+}</math>, <math display="inline">\Gamma _{1}^{-}</math>, <math display="inline">\Gamma _{2}^{+}</math> and <math display="inline">\Gamma _{2}^{-}</math> of the boundary are represented in Figure [[#img-3|3]]. Considering the division on the boundary, we can re-express the fluctuation condition as
<span id="eq-2.31"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{cccccc} \int _{\partial \Omega _{\mu }}\tilde{u}_{\mu }\otimes _{s}n & = & \int _{\Gamma _{1}^{+}}\tilde{u}_{\mu }^{(1)^{+}}\otimes _{s}n_{1}^{+} & + & \int _{\Gamma _{2}^{+}}\tilde{u}_{\mu }^{(2)^{+}}\otimes _{s}n_{2}^{+} & +\\ & & \int _{\Gamma _{1}^{-}}\tilde{u}_{\mu }^{(1)^{-}}\otimes _{s}n_{1}^{-} & + & \int _{\Gamma _{2}^{-}}\tilde{u}_{\mu }^{(2)^{-}}\otimes _{s}n_{2}^{-} & =0, \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.31)
|}
where <math display="inline">\tilde{u}_{\mu }^{(1)^{+}}</math> and <math display="inline">\tilde{u}_{\mu }^{(1)^{-}}</math> represents the fluctuations in <math display="inline">\Gamma _{1}^{+}</math> and <math display="inline">\Gamma _{1}^{-}</math>. Similarly, <math display="inline">\tilde{u}_{\mu }^{(2)^{+}}</math> and <math display="inline">\tilde{u}_{\mu }^{(2)^{-}}</math>stands for the fluctuations in <math display="inline">\Gamma _{2}^{+}</math> and <math display="inline">\Gamma _{2}^{-}</math>.
Finally, considering the opposite direction on the normals defined in Figure [[#img-3|3]], we end up with the periodic boundary conditions
<span id="eq-2.32"></span>
<span id="eq-2.33"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\tilde{u}_{\mu }^{(1)^{+}} = \tilde{u}_{\mu }^{(2)^{+}}</math>
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.32)
|-
| style="text-align: center;" | <math> \tilde{u}_{\mu }^{(1)^{-}} = \tilde{u}_{\mu }^{(2)^{-}}. </math>
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.33)
|}
|}
More specifically, the fluctuation on the left part of the square cell <math display="inline">\Gamma _{2}^{+}</math> must be equal to the fluctuation on the right part <math display="inline">\Gamma _{2}^{-}</math> and, similarly, on the up and bottom part. Physically, this feature permits considering other micro-cell surrounding the RVE, and thus, the fluctuation will vary periodically along the micro-cell, hence its name.
'''Minimal boundary conditions'''. The minimum boundary conditions appear as the last alternative. They are considered the weaker boundary conditions since, in contrast to other boundary conditions, they assume no extra condition, hence its name. For this purpose, the fluctuation conditions ([[#eq-2.21|2.21]]) are imposed directly.
Note that fluctuation condition ([[#eq-2.21|2.21]]) leads to impose that the integral over the boundary of the open product between the fluctuation and the outward unit normal is zero. That implies to impose six conditions in 3D problems and three conditions in 2D problems.
'''Selected boundary condition and implementation strategy'''. The choice of the boundary condition is a priori arbitrary, and it would depend on the addressed problem. In our study, and throughout all this work, we select the periodic boundary conditions since they can ensure a representative volume with the smaller length scale <math display="inline">l_{\mu }</math>.
Regarding the way to impose the boundary conditions, there are two options. On the one hand, it can be imposed directly in the equilibrium problem and consequently the Lagrange multipliers appear as extra unknowns. On the other hand, it is possible to condensate some unknowns on the system through the boundary conditions.
The first option seems reasonable for small number of conditions like minimum conditions, however, for other kind of conditions, it enlarges the system of equations considerably. The option of condensing the unknowns in periodic and linear seems reasonable. As a difficulty, if iterative solvers are used, specially for large 3D problems, the condensation process confers worse conditioning to the matrix, lengthening the convergence process. If direct solvers are used, with the condensation technique, the matrix becomes less sparse bringing problems with memory. This features that the appropiate approach will depend on the specific problem to be solved. In our case, and through all this work, since not computationally high demanding meshes are required, the condensation process is considered.
'''Strong form of the microscopic equilibrium equation'''. Once the boundary conditions have been introduced, the strong form of the microscopic equilibrium equation can be stated. From the equilibrium equation in weak form ([[#eq-2.17|2.17]]), and undoing the steps of integration by parts (and assuming some regularity), the equilibrium equation requires divergence free of the microscopic stresses. This is,
<span id="eq-2.34"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\nabla \cdot \sigma _{\mu }=0. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.34)
|}
To extend the formulation of the variational multi-scale method to microscopic equilibrium with body forces, the reader is refereed to work <span id='citeF-7'></span>[[#cite-7|[7]]]. Thus, the strong form of the equilibrium equation jointly with the microscopic constitutive law ([[#eq-2.18|2.18]]) and the boundary conditions (periodic in our case) form the set of necessary equation of the micro-structural problem. Mathematically, it reads
<span id="eq-2.35"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\left\{\begin{array}{cccccc}\nabla \cdot \sigma _{\mu }(\tilde{u}_{\mu }) & = & 0 & & \hbox{ in} & \Omega _{\mu }\\ \sigma _{\mu }(\tilde{u}_{\mu }) & = & \mathbb{C}_{\mu }:\nabla ^{s}\tilde{u}_{\mu }\\ \tilde{u}_{\mu }^{(1)^{+}} & = & \tilde{u}_{\mu }^{(2)^{+}} & & \hbox{ on} & \Gamma _{1}^{+}\cup \Gamma _{2}^{+}\\ \tilde{u}_{\mu }^{(1)^{-}} & = & \tilde{u}_{\mu }^{(2)^{-}} & & \hbox{ on} & \Gamma _{1}^{-}\cup \Gamma _{2}^{-}. \end{array}\right. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.35)
|}
===2.1.4 Homogenized constitutive tensor===
Once the microscopic equilibrium equation is presented, it is worth mentioning that the main aim of the multi-scale problem consists in obtaining the homogenized constitutive tensor rather than the microscopic fluctuations, microscopic strains and microscopic stresses. In fact, computing the homogenized constitutive tensor is the essential part of the computational homogenization method. Henceforth, it is denoted by <math display="inline">\mathbb{C}^{h}.</math> As in other fields of mechanics, it is commonly defined as the variation of the stresses <math display="inline">\sigma </math> with respect to the strain <math display="inline">\varepsilon </math>, this is
<span id="eq-2.36"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathbb{C}^{h}:=\frac{\partial \sigma }{\partial \varepsilon }. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.36)
|}
Taking into account that the macroscopic stresses <math display="inline">\sigma </math> are related with its microscopic counterpart <math display="inline">\sigma _{\mu }</math> through the homogenization equation ([[#eq-2.16|2.16]]), and making use of the linear elasticity assumption ([[#eq-2.18|2.18]]), the constitutive tensor reads
<span id="eq-2.37"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathbb{C}^{h}:=\frac{\partial \sigma }{\partial \varepsilon }=\frac{1}{\bigl|\Omega _{\mu }\bigr|}\int _{\Omega _{\mu }}\frac{\partial \sigma _{\mu }}{\partial \varepsilon }=\frac{1}{\bigl|\Omega _{\mu }\bigr|}\int _{\Omega _{\mu }}\mathbb{C_{\mu }}:\frac{\partial \varepsilon _{\mu }}{\partial \varepsilon }. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.37)
|}
The microscopic strain is related with the macroscopic strain through the assumption of the kinematics described in equation ([[#eq-2.7|2.7]]). By taking derivatives with respect to the macroscopic strain in equation ([[#eq-2.7|2.7]]), we obtain the following relation
<span id="eq-2.38"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\frac{\partial \varepsilon _{\mu }}{\partial \varepsilon }=\frac{\partial \varepsilon }{\partial \varepsilon }+\frac{\partial \tilde{\varepsilon }_{\mu }}{\partial \varepsilon }=\mathbb{I}+\frac{\partial \nabla ^{s}\tilde{u}_{\mu }}{\partial \varepsilon }=\mathbb{I}+\mathbb{A}(y) </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.38)
|}
where <math display="inline">\mathbb{I}</math> and <math display="inline">\mathbb{A}</math> stand for the identity fourth-order tensor and the so-called fourth-order localization tensor <span id='citeF-8'></span>[[#cite-8|[8]]]. Unlike the homogenized fourth order constitutive tensor <math display="inline">\mathbb{C}^{h}</math>, both fourth order tensors <math display="inline">\mathbb{I}</math> and <math display="inline">\mathbb{A}</math> are dimensionless. Regarding this fourth-order localization tensor <math display="inline">\mathbb{A}(y)</math>, note that, in the weak form of the equilibrium equation ([[#eq-2.24|2.24]]), the symmetric gradient of the fluctuations <math display="inline">\nabla ^{s}\tilde{u}_{\mu }</math> depends linearly (due to the assumption of linear material behavior) on macroscopic strain <math display="inline">\varepsilon </math>. Thus, we can relate <math display="inline">\nabla ^{s}\tilde{u}_{\mu }</math> with <math display="inline">\varepsilon </math> by writing the definition of the localization tensor <math display="inline">\mathbb{A}(y)</math> as follows,
<span id="eq-2.39"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathbb{A}(y)=\frac{\partial \nabla ^{s}\tilde{u}_{\mu }}{\partial \varepsilon }\rightarrow \quad \nabla ^{s}\tilde{u}_{\mu }=\mathbb{A}(y):\varepsilon{.} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.39)
|}
Since the localization tensor <math display="inline">\mathbb{A}</math> stands for a linear operator, its components can be obtained by solving, for each canonical base of <math display="inline">\varepsilon </math> <span id='citeF-2'></span>[[#cite-2|[2]]], the symmetric gradient of the fluctuation <math display="inline">\nabla ^{s}\tilde{u}_{\mu }</math> from the weak form of the equilibrium equation ([[#eq-2.24|2.24]]). Once the <math display="inline">\mathbb{A}(y)</math> is known, replacing equation ([[#eq-2.38|2.38]]) on the definition of the constitutive tensor, the homogenized constitutive tensor <math display="inline">\mathbb{C}^{h}</math> is reduced to
<span id="eq-2.40"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathbb{C}^{h}=\frac{1}{|\Omega _{\mu }|}\int _{\Omega _{\mu }}\mathbb{\mathbb{C_{\mu }}}:(\mathbb{I}+\mathbb{A})=\bar{\mathbb{C}}+\tilde{\mathbb{C}}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.40)
|}
being <math display="inline">\bar{\mathbb{C}}</math> and <math display="inline">\tilde{\mathbb{C}}</math> the volume average of the microscopic constitutive tensor and the fluctuation constitutive tensor. By definition, they take the following form
<span id="eq-2.41"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\bar{\mathbb{C}}=\frac{1}{|\Omega _{\mu }|}\int _{\Omega _{\mu }}\mathbb{\mathbb{C_{\mu }}}\qquad \tilde{\mathbb{C}}=\frac{1}{|\Omega _{\mu }|}\int _{\Omega _{\mu }}\mathbb{\mathbb{C_{\mu }}}:\mathbb{A}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.41)
|}
Note that when the fluctuations are null (for example with Taylor boundary conditions), the localization tensor <math display="inline">\mathbb{A}</math> is canceled. Consequently, the homogenized constitutive tensor <math display="inline">\mathbb{C}^{h}</math> depends only to the volume average of the microscopic constitutive tensor <math display="inline">\bar{\mathbb{C}}</math>. That explains why <math display="inline">\bar{\mathbb{C}}</math> is commonly called the Taylor counterpart of the homogenized constitutive tensor. At this point, it is worth stressing that the whole homogenization process presented in this section is basically reduced to the homogenization of the constitutive tensor described in equation ([[#eq-2.40|2.40]]).
Note that all the formulation of the variational multi-scale method has been introduced under elastic regime assumptions. To extend this formulation to non-linear problem the reader is referred to <span id='citeF-4'></span>[[#cite-4|[4]]].
==2.2 Topology optimization==
In the last decades, topology optimization has been a wide active research topic. Nowadays, it is widely applied to Aeronautical <span id='citeF-9'></span>[[#cite-9|[9]]], automotive and civil engineering industry. In addition, topology optimization tools are nowadays included in more than thirty commercial software packages [Http://www.topology-opt.com/], e.g. Abaqus <span id='citeF-10'></span>[[#cite-10|[10]]], Altair HyperWorks <span id='citeF-11'></span>[[#cite-11|[11]]]. As an example, the design of the ''A380 ribs'' shown in Figure RealRib through topological optimization techniques represents a prominent application of the method in the Aeronautical industry.
<div id='img-4'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-real_rib_top_opt.png|183px|]]
|[[Image:draft_Samper_118254298-real_rib_top_opt2.png|139px|]]
|-
| colspan="2"|[[Image:draft_Samper_118254298-TopOptRib.png|600px|Topology optimization applications on aeronautical industry. The topology optimization fields is useful and developed enough for giving answers to real industry problems. ]]
|- style="text-align: center; font-size: 75%;"
| colspan="2" | '''Figure 4:''' Topology optimization applications on aeronautical industry. The topology optimization fields is useful and developed enough for giving answers to real industry problems.
|}
During these years of research and industrial development, different theories have been proposed. SIMP, shape optimization and topological derivative method are considered ones of the most convincing approaches.
The arguably most popular method, SIMP <span id='citeF-1'></span>[[#cite-1|[1]]], is based on an heuristic regularization which leads to an appropriate (in terms of practical results) penalization. The root of this approach can be traced back to the seminal work <span id='citeF-12'></span>[[#cite-12|[12]]] developed by ''Kikuchi'' and ''Bendsoe''. In addition, due to this regularization, gradient-based methods can be used. However, although it can be sometimes interpreted in physical terms (micro-structures), intermediate values still appear and the selection of the penalization parameter is still an open issue <span id='citeF-13'></span>[[#cite-13|[13]]]. This method has been successfully applied to material design in work <span id='citeF-14'></span>[[#cite-14|[14]]] and to multi-scale topology optimization problems in the seminal work <span id='citeF-15'></span>[[#cite-15|[15]]]. A more recent example can be found in work <span id='citeF-16'></span>[[#cite-16|[16]]].
Boundary variation methods, based on classical shape sensitivity analysis, have appeared as a powerful alternative. Although shape differentiation has been long studied, the bases were established in the reference book <span id='citeF-17'></span>[[#cite-17|[17]]]. The idea of using a level set method <span id='citeF-18'></span>[[#cite-18|[18]]] for representing the topology is one of the strengths of the approach. The shape derivative is then used as a descend direction in a Hamilton-Jacobi equation which makes the level set evolves. Moreover, although strong mathematical theories have been developed, the inability of nucleating holes makes this approach limited.
Complementary, in the last years, due to the ever increase of the available computational power, discrete and evolutionary algorithms, like BESO <span id='citeF-19'></span>[[#cite-19|[19]]], appeared as a clear way of defining interfaces in topology optimization. These methods, based in heuristics, offer the advantage that they are simple to code. However, they are limited to small cases and they are not computationally very efficient. For these reasons, they lack a great reputation in the topological optimization community <span id='citeF-13'></span>[[#cite-13|[13]]].
In the last years, techniques based on topological derivative has become a significant tool for solving topology optimization problems. Its main merit is to provide sensitivity of the cost function when a small hole is created. The basis of topological derivative theory was first established in <span id='citeF-20'></span>[[#cite-20|[20]]] by using the shape sensitivity results and then consolidated in the reference book <span id='citeF-21'></span>[[#cite-21|[21]]]. Works <span id='citeF-22'></span>[[#cite-22|[22]]] and <span id='citeF-23'></span>[[#cite-23|[23]]] deserve also special attention. One of its main drawbacks, however, lies on the difficulty of obtaining such topological derivative, which can become in some cases burdensome. In fact, up to now, for some specific cost functions, topological derivatives are still missing. However, large advances have been achieved in the last years.
Owing to the landmark work <span id='citeF-24'></span>[[#cite-24|[24]]], topological derivative can be used as a descent direction in a level-set algorithm. Slerp (spherical linear interpolation) algorithm has been used as an efficient strategy for solving topology optimization. It provides clear boundary of the topology and, in contrast with shape optimization techniques, the nucleation of the holes appears naturally.
===2.2.1 The topology optimization problem===
In the following, the topology optimization problem is stated under the assumptions of linear elasticity and small strains. Generally speaking, the aim consists of obtaining an optimal topology such that it minimizes a desired functional and satisfies some particular constraints.
The description of the topology is determined by the characteristic function <math display="inline">\chi </math> as follows
<span id="eq-2.42"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\chi =\begin{array}{ccc}1 & & x\in \Omega ^{+}\\ 0 & & x\in \Omega ^{-} \end{array}</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.42)
|}
where the domain <math display="inline">\Omega </math> has been split into two parts <math display="inline">\Omega =\Omega ^{+}\cup \Omega ^{-}</math>. The sub-domains <math display="inline">\Omega ^{+}</math> and <math display="inline">\Omega ^{-}</math> are made of different materials, thus, the characteristic function is in charge of determining in the whole domain <math display="inline">\Omega </math> what part corresponds to either material. Such kind of problems are normally termed bi-material topology optimization problems. However, in most of the application, instead of dealing with two materials, the material corresponding to the domain <math display="inline">\Omega ^{-}</math> is made of a very small stiffness characterizing the behavior of a void. The name of topological optimization problems usually refers to this case.
Regarding the cost functional, hereafter termed as <math display="inline">J(\chi )</math>, different options are possible. The compliance is widely used in the context of topology since it measures the stiffness of the structure. Other possibilities found in the literature are, for instance, the least square objective function <span id='citeF-25'></span>[[#cite-25|[25]]], which attempt to achieve a certain displacement of the structure in <math display="inline">L^{2}</math> norm.
Regarding the constraints, it is common to fix a desired volume <math display="inline">V</math> of one of the materials, typically the strong one. In addition, it can be found, in works <span id='citeF-26'></span>[[#cite-26|[26]]] and <span id='citeF-27'></span>[[#cite-27|[27]]] of the literature, constraints imposing a threshold on the stresses. Perimeter constraints can also be found in order to alleviate numerical instabilities <span id='citeF-28'></span>[[#cite-28|[28]]].
Concerning our work, we are interested in using the compliance as the cost function and the volume as the constraint. Accordingly, we state the topological optimization problem as follows,
<span id="eq-2.43"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{cc}\underset{\chi }{\hbox{minimize}} & \mathcal{J}(\chi )\\ \hbox{ subjected to:} & \frac{\hbox{1}}{\bigl|\Omega \bigr|}\int _{\Omega }\chi =V \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.43)
|}
where <math display="inline">J:L^{\infty }(\Omega ,\{ 0,1\} )\rightarrow \mathbb{R}</math> is a general cost function (normally the compliance), <math display="inline">V</math> the volume value to achieve, and <math display="inline">\chi \in L^{\infty }(\Omega ,\{ 0,1\} )</math> the characteristic function. The cost function, in the case of the compliance, has the form
<span id="eq-2.44"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>J(\chi )=l(u_{\chi }) </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.44)
|}
where <math display="inline">l(\cdot )</math> and <math display="inline">u_{\chi }\in H^{\hbox{1}}(\Omega ,\mathbb{R^{d}})</math> represents the left hand side and the displacements solution of the following equilibrium equation
<span id="eq-2.45"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>a(\chi ,u_{\chi },v) = l(v) \forall v\in H_{0}^{\hbox{1}}(\Omega ,\mathbb{R^{d}}) </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.45)
|}
where <math display="inline">a(\chi ,\cdot ,\cdot )</math> represents the bilinear form obtained by taking the weak form of the standard elastic problem
<span id="eq-2.46"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\left\{\begin{array}{rclcl}\nabla \cdot \sigma & = & 0 & \hbox{ in} & \Omega ,\\ \sigma & = & \mathbb{C}(\chi ):\nabla ^{s}u,\\ u & = & u_{0} & \hbox{ on} & \Gamma _{D}.\\ \sigma \cdot n & = & t & \hbox{ on} & \Gamma _{N}. \end{array}\right. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.46)
|}
The field <math display="inline">\sigma </math> stands for the stresses and <math display="inline">\mathbb{C}(\chi )</math> stands for the constitutive fourth order tensor, usually defined in the bi-material problem as
<span id="eq-2.47"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathbb{C}\mbox{( }\chi \mbox{)}=\begin{array}{ccc}\mathbb{C\hbox{+}} & & \chi=1,\\ \mathbb{C}^{-} & & \chi=0, \end{array}</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.47)
|}
or, more explicitly, as
<span id="eq-2.48"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathbb{C}(\chi )=\chi \mathbb{C}^{+}+(1-\chi )\mathbb{C}^{-}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.48)
|}
where <math display="inline">\mathbb{C}^{+}</math> and <math display="inline">\mathbb{C}^{-}</math> are the constitutive tensor of the strong material and the weak material respectively.
===2.2.2 Non-existence and numerical instabilities===
In the topology optimization problems, some difficulties appear not only on the theoretical aspects but also on the numerical implementation. Regarding the theoretical aspects, we briefly describe the non-existence of optimal solutions by giving a representative example and we comment the standard remedies found in the literature. Regarding the numerical difficulties, we discuss the lack of unicity of the solution and the checkerboard instability.
====Lack of existence of solutions====
The existence of solution in topology optimization has been largely studied <span id='citeF-29'></span>[[#cite-29|[29]]]. The question can be stated as: ''is there an optimal topology that minimizes the cost function <math>J(\chi )</math> and satisfies the constraints? ''This question is fully addressed <span id='citeF-30'></span>[[#cite-30|[30]]] in the literature by providing some examples that show the non-existence of optimal solution. In the following, we are going to outline the counter-example described in book <span id='citeF-29'></span>[[#cite-29|[29]]].
The aim lies on finding a topology that minimizes the compliance of a square domain under unit-axial loads.
<div id='img-5'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-NonExistence.png|600px|]]
|[[Image:draft_Samper_118254298-NonExistence2.png|600px|Counter-example of non existence of solution for the topology optimization problem. Although the applied loads and the volume of the stiff material are the same, the example on the right is stiffer, i.e., it exhibits smaller compliance. Since there is no limit on increasing the number of inclusions, no optimal solution exists.]]
|- style="text-align: center; font-size: 75%;"
| colspan="2" | '''Figure 5:''' Counter-example of non existence of solution for the topology optimization problem. Although the applied loads and the volume of the stiff material are the same, the example on the right is stiffer, i.e., it exhibits smaller compliance. Since there is no limit on increasing the number of inclusions, no optimal solution exists.
|}
Intuitively, the main idea consists in proposing a sequence of topologies with an increasing number of horizontal elliptic inclusions, smaller every time to preserve the volume. It can be seen that such sequence entails smaller compliance values. Since the sequence does not converge, the compliance value may always decrease. Thus, the optimal solution does not exist.
One remedy is to modify the problem by adding constraints. In several cases, it is very common to add a Perimeter constraint. In <span id='citeF-28'></span>[[#cite-28|[28]]], it is shown how the Perimeter constraint may be used to limit the size of the inclusion. In addition, it can be proved with this Perimeter constraint, the existence of solutions is recovered. See works <span id='citeF-31'></span>[[#cite-31|[31]]] and <span id='citeF-28'></span>[[#cite-28|[28]]] for further information. Alternatively, it is also possible to introduce restrictions based on manufacturing issues to limit the size of the inclusions.
====Lack of unicity====
Besides the problems of existence, there are lack of unicity of solutions. In work <span id='citeF-1'></span>[[#cite-1|[1]]], it is shown that one can get unicity of solutions if some specific regularizations of the problem are considered. However, most of the times, the obtained topology is full of gray regions and no physical meaning may be retrieved <span id='citeF-13'></span>[[#cite-13|[13]]]. If this specific regularization is not considered, depending of the initial guess, several local minima may appear. This feature is due to the non-convexity of the problem. Thus, the initial value of the optimization problem influences on the optimal solution.
====Checkerboard====
In the context of topology optimization, it is well-known that, depending on the methodology, checkerboard solutions may appear. An intuitive way of understanding such phenomenon is writing the topology optimization problem ([[#eq-2.43|2.43]]) as a saddle point problem of two fields: the displacements <math display="inline">u</math> and the characteristic function <math display="inline">\chi </math>, this is
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \begin{array}{ccc} \underset{\chi }{\hbox{maximize}} & \underset{u\in H^{\hbox{1}}(\Omega ,\mathbb{R^{d}})}{\hbox{minimize}} & \frac{1}{2}a(\chi ,u,u)-l(u) \forall v\\ \hbox{ subjected to:} & & \frac{\hbox{1}}{\bigl|\Omega \bigr|}\int _{\Omega }\chi =V. \end{array} </math>
|}
|}
The checkerboard phenomenon usually appears, in other fields (e.g. Stokes flow), on <math display="inline">max-min</math> problems. In that case, the Babushka-Brezzi condition must be satisfied. Similarly, in the topology optimization problem, the use of an appropiate interpolation of the displacement field <math display="inline">u</math> and the characteristic function <math display="inline">\chi </math> may circumvent the checkerboard problem. Alternatively, an other remedy for avoiding checkerboards may be the use of filters. A deep study on this topic is collected in work <span id='citeF-32'></span>[[#cite-32|[32]]]. For further information, the reader is referred to works <span id='citeF-32'></span>[[#cite-32|[32]]] and <span id='citeF-33'></span>[[#cite-33|[33]]]. A representative example of the checkerboard phenomena is depicted in the standard Cantilever example of Figure [[#img-6|6]].
<div id='img-6'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-Checkerboeard.png|600px|Checkerboard phenomena in topology optimization problems (figure extracted from <span id='citeF-1'></span>[[#cite-1|[1]]])]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 6:''' Checkerboard phenomena in topology optimization problems (figure extracted from <span id='citeF-1'></span>[[#cite-1|[1]]])
|}
===2.2.3 Regularized topology optimization (SIMP)===
Regarding the different approaches to address the topology optimization problem, we start by describing the SIMP method. As it was mentioned before, the SIMP method is the most common approach in topology optimization. The origin of the methodology comes from the seminal paper of ''Kikuchi'' and ''Bendsoe''<span id='citeF-34'></span>[[#cite-34|[34]]]. It has been applied to many fields with success and it has produced hundreds of publications. Certainly, all the publications of ''Sigmund'' and its group has strongly contributed on giving useful solutions to real industry problems. The reference book <span id='citeF-1'></span>[[#cite-1|[1]]] of ''Bendsoe'' and ''Sigmund'', certifies that, nowadays, the SIMP method is considered by the topology optimization community, a consolidated theory.
The approach is based on regularizing the discontinuous characteristic function <math display="inline">\chi </math>. Instead of taking values zero or one, the characteristic function is allowed taking intermediate values. Schematically,
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \chi \in \left\{0,1\right\}\quad \Rightarrow \rho \in \left[0,1\right] </math>
|}
|}
where <math display="inline">\rho </math> denotes the regularized characteristic function and it is usually termed fictitious density.
In addition, in order to get black and white topologies, the definition on the constitutive tensor <math display="inline">\mathbb{C}</math> in equation ([[#eq-2.48|2.48]]) is modified as
<span id="eq-2.49"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathbb{C}(\chi )=\rho ^{p}\mathbb{C}^{+}+(1-\rho ^{p})\mathbb{C}^{-} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.49)
|}
where the parameter <math display="inline">p</math> is arbitrary and leads to penalize the intermediate fictitious densities. Typically, in linear elasticity, the penalization parameter is taken as <math display="inline">p=3.</math> However, no penalization is considered in the volume constraint. It reads
<span id="eq-2.50"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\frac{\hbox{1}}{\bigl|\Omega \bigr|}\int _{\Omega }\rho =V. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.50)
|}
The fact that the constitutive tensor is penalized with the power of law <math display="inline">p</math> and the volume is not penalized leads to stimulate the problem on choosing zero or one values of the fictitious density <math display="inline">\rho </math>. Intermediate values are expected to increase the value of the volume with a non strong increase on the stiffness. However, depending on the problem intermediate values could appear with the inconvenient that not clear interpretation can be done. There are attempts to interpret it as an homogenized microstructure made of both materials but not always is possible (since it falls outside the H-S bounds).
The SIMP method, as an advantage, entails a straightforward implementation and provides satisfactory results. In addition, due to the penalization parameter <math display="inline">p</math>, well-established and powerful continuous optimization algorithms can be used.
However the SIMP method also entails some inconveniences. The value of the heuristic parameter <math display="inline">p</math> is unclear. In addition, in many cases, checkerboards may appear and filters must be applied. Finally, in the optimal solution, the fictitious density takes frequently intermediate values. As a remedy, there are two different options: either thresholding techniques are applied to recover “black-white” solutions or the intermediate values are interpreted, when possible, in terms of micro-structures.
===2.2.4 Shape derivative for topology optimization===
Another very popular approach for topology optimization consists in using the shape derivative concept. Many works have been developed in the last decades, specially by the ''french school'' <span id='citeF-35'></span>[[#cite-35|[35]]] , <span id='citeF-36'></span>[[#cite-36|[36]]] and <span id='citeF-25'></span>[[#cite-25|[25]]]. The idea lies on collecting in the shape derivative the measure of the change of a functional when applying a deformation on the domain. In the case that, the deformation is applied on a boundary in the normal direction and with unitary modulus, the shape derivative can be straightforwardly computed, see <span id='citeF-29'></span>[[#cite-29|[29]]]. Shape derivative has been obtained for several functionals like the compliance, volume and least squares cost functions, among others.
After the computation of the shape derivative, the optimality conditions have also been defined in the literature <span id='citeF-29'></span>[[#cite-29|[29]]]. Since the change of the cost is collected by the shape derivative, it may be used as a descent direction in an optimization algorithm. This idea was pioneered by ''Allaire'' in the seminal work <span id='citeF-25'></span>[[#cite-25|[25]]]. The topology is defined by a level-set function and it evolves following a Hamilton-Jacobi scheme. With this methodology, encouraging results have been achieved.
Since this methodology is based on a level set function, it is a priori free of grays (intermediate values) and no checkerboards are expected to appear. In addition, it relies on a strong mathematical theory.
As a main drawback, the shape optimization problem is restricted, by construction, to boundary changes, and consequently, no new nucleations of holes (or inclusions) are accomplished. However, some remedies has been proposed in <span id='citeF-37'></span>[[#cite-37|[37]]] by combining the shape derivative and topological derivative.
===2.2.5 Topological derivative for topology optimization===
The field of topological derivative has gained an increasing popularity in the last decades. Although much of its success lies on the advances developed in the context of the shape derivative, it was not until the work of ''Solowski & Zochowski'' in 1999 <span id='citeF-20'></span>[[#cite-20|[20]]], where the basis of the topological derivative theory were rigorously established. In parallel, ''Masmoudi'' presented the basis of the shape and topological derivative in <span id='citeF-38'></span>[[#cite-38|[38]]]. Special attention deserves the previous works of Schumacher in <span id='citeF-39'></span>[[#cite-39|[39]]] and <span id='citeF-40'></span>[[#cite-40|[40]]] and ''Cea'' in <span id='citeF-41'></span>[[#cite-41|[41]]]. Some years later, Novotny and co-workers at <span id='citeF-42'></span>[[#cite-42|[42]]] presented and established a clear relation between the shape derivative and the topological derivative through the Eshelby tensor and connecting it with the configurational forces fully described in the reference book of ''Gurtin'' <span id='citeF-43'></span>[[#cite-43|[43]]]. As a consequence of that studies, the reference book ''Topological Derivatives in Shape Optimization'' <span id='citeF-21'></span>[[#cite-21|[21]]] emerged.
The topological derivative is based on the asymptotic analysis of shape functionals and the analytical solution of classical elastic problems of an infinite domain with an elliptic inclusion. The studies of ''Nazarov'' in <span id='citeF-44'></span>[[#cite-44|[44]]] helped to consolidate the theory of the asymptotic analysis. Regarding the analytical classical solution of elastic problems, the books of ''Little'' <span id='citeF-45'></span>[[#cite-45|[45]]], ''Muskhelishvili <span id='citeF-46'></span>[[#cite-46|[46]]], Lekhnitskii'' <span id='citeF-47'></span>[[#cite-47|[47]]] and Saad <span id='citeF-48'></span>[[#cite-48|[48]]] are classical references.
All the progress on topological derivative theory leads to an extended number of applications which could be summarized in the following list
* Topological optimization: <span id='citeF-49'></span>[[#cite-49|[49]]], <span id='citeF-26'></span>[[#cite-26|[26]]], <span id='citeF-50'></span>[[#cite-50|[50]]], <span id='citeF-51'></span>[[#cite-51|[51]]], <span id='citeF-52'></span>[[#cite-52|[52]]] and <span id='citeF-53'></span>[[#cite-53|[53]]].
* Inverse problems: <span id='citeF-54'></span>[[#cite-54|[54]]], <span id='citeF-55'></span>[[#cite-55|[55]]], <span id='citeF-56'></span>[[#cite-56|[56]]] and <span id='citeF-57'></span>[[#cite-57|[57]]].
* Image processing: <span id='citeF-58'></span>[[#cite-58|[58]]], <span id='citeF-59'></span>[[#cite-59|[59]]], <span id='citeF-60'></span>[[#cite-60|[60]]], <span id='citeF-61'></span>[[#cite-61|[61]]] and <span id='citeF-62'></span>[[#cite-62|[62]]].
* Fracture mechanics and Damage: <span id='citeF-63'></span>[[#cite-63|[63]]], <span id='citeF-64'></span>[[#cite-64|[64]]] and <span id='citeF-65'></span>[[#cite-65|[65]]].
From the author's point of view, topological derivative is an adequate, and probably, the most natural tool for solving topology optimization problems since it studies the sensibility of a shape functional when making a hole (or inserting an inclusion).
It is worth mentioning that there are two different and complementary procedures to compute the topological derivative. The first one is based on studying the shape functional on two different configurations, with and without and inclusion. Then, after few manipulations, the differences of such functional are related with the topological derivative. The second approach, according to the reference book <span id='citeF-66'></span>[[#cite-66|[66]]], takes advantage of the shape derivative by making use of standard continuum mechanics tools like the material derivative concept. In this approach, it appears naturally the Eshelby tensor and it has more the flavor of the configurational forces school. This approach helps to understand intuitively the physical meaning of the topological derivative.
A brief introduction to the shape derivative concept is the following (see Figure [[#img-7|7]]). Let's assume that a circular hole (or inclusion) on the unperturbed domain with a radius of <math display="inline">\epsilon </math> value is nucleated (or inserted). Then, the shape derivative of the desired objective function must by computed by taking the material derivative of the functional with zero velocity field on the boundary of the domain and with unitary and normal velocity field on the circular hole. This shape derivative could be seen as a limit of a small perturbation of the radius of the inclusion (limit in <math display="inline">\tau </math> in Figure [[#img-7|7]]).
Then, once the shape derivative is obtained (which itself involves a limit), we expressed it in terms of <math display="inline">\epsilon </math>, or more specifically, in terms of powers of <math display="inline">\epsilon </math>, mimicking a standard Taylor expansion. It is worth mentioning that the most relevant part of computing the topological derivative remains on obtaining this shape derivative in terms of <math display="inline">\epsilon </math> power. This procedure is well-explained and detailed in chapter [[#4 Topological derivative extension to anisotropic elastic materials |4]] and in Appendices [[#7 Analytical solution of the isotropic exterior problem|7]] and [[#8 Analytical solution of the anisotropic exterior problem|8]], for both isotropic and anisotropic materials. Finally, by taking the <math display="inline">\epsilon </math> limit, we recover the topological derivative expression.
In Figure [[#img-7|7]], we sketch these ideas of taking limits respect to the radius variation <math display="inline">\tau </math> (interpretation of the shape derivative) and respect to the radius itself (interpretation of the topological derivative).
<div id='img-7'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-topologicalDerivativeSketch.png|600px|Illustration of the topological derivative interpretation by passing the shape (variation of the radius of the inclusion τ) and the topology (radius of the inclusion ϵ) to the limit.]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 7:''' Illustration of the topological derivative interpretation by passing the shape (variation of the radius of the inclusion <math>\tau </math>) and the topology (radius of the inclusion <math>\epsilon </math>) to the limit.
|}
In mathematical terms, the topological derivative is defined, more precisely, as the linear operator that fulfills the following expansion
<span id="eq-2.51"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathcal{J}(\Omega _{\epsilon })=\mathcal{J}(\Omega )+D_{T}\mathcal{J}(\hat{x})|B(\hat{x},\varepsilon )|+o(|B(\hat{x},\varepsilon )|) </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.51)
|}
where <math display="inline">\Omega _{\epsilon }</math> and <math display="inline">\Omega </math> represent the domain with an without an inclusion. The term <math display="inline">B(\hat{x},\varepsilon )</math> represents a circular inclusion in the point <math display="inline">\hat{x}</math> with a radius of value <math display="inline">\epsilon </math>. Concerning the shape function <math display="inline">\mathcal{J}</math>, most of the times, it is taken similarly to the SIMP and shape optimization methods, i.e., the volume of the domain, the compliance of the structure or the <math display="inline">L^{2}</math> norm difference between the displacement of a specific point of the domain with a displacement target value. However, the compliance functional plays usually a crucial role in the topological optimization problems. For this reasons, obtaining topological derivative of the compliance was an important stride in the topic of topological derivative. Specifically, the compliance shape functional is usually defined as
<span id="eq-2.52"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathcal{J}(\Omega )={\displaystyle \int _{\Omega }}\sigma :\nabla ^{s}u </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.52)
|}
where <math display="inline">\sigma </math> and <math display="inline">u</math> represent the stresses and displacements solution of the standard elastic problem ([[#eq-2.46|2.46]]). Following Novotny in work <span id='citeF-21'></span>[[#cite-21|[21]]], the topological derivative of the compliance is typically <span id='citeF-21'></span>[[#cite-21|[21]]] presented in the following terms
<span id="eq-2.53"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>D_{T}\mathcal{J}(\hat{x})=\mathbb{P}\sigma (u)(\widehat{x})\cdot \nabla ^{s}u(\widehat{x}) </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2.53)
|}
where <math display="inline">\mathbb{P}</math> stands for the fourth order polarization tensor. The expression of such polarization tensor, for the isotropic and anisotropic case, and the procedure to relate it with the topological derivative <math display="inline">D_{T}\mathcal{J}(\hat{x})</math> is fully explained in chapter [[#4 Topological derivative extension to anisotropic elastic materials |4]].
=3 Topological derivative and topology optimization=
==3.1 Motivation==
As mentioned in Chapter [[#2 Background and review of the state of the art|2]], different methodologies are available to address the topology optimization problem. Certainly, the different formulations impact meaningfully on the numerical strategy proposed to solve the problem. For instance, the regularization of the characteristic function introduced in the SIMP method allows computing a continuous gradient. However, when using topological derivative, no continuous gradient is available. This difference results according to two significant considerations: on the one hand, standard KKT conditions are no longer imposed as optimality conditions; on the other hand, the usual continuous optimization algorithms (steepest descent, Newton Raphson, ...) must be replaced by alternative algorithms.
Regarding the optimality conditions, it is convenient to provide first an intuitive description of the topological derivative concept and, then, formalize it in mathematical terms. From that descriptions, the optimality conditions arise naturally.
The (non standard) topological derivative algorithm is also convenient to be described. The level-set updating, built to satisfy the optimality conditions, is not straightforward. In addition, this topological derivative algorithm becomes more complex when imposing constraints in the minimization problem, specially with inequality constraints.
Furthermore, the topological derivative algorithm presents two drawbacks of different nature. On the one hand, determining the line search parameter is not an easy task; significant oscillations appear leading to spurious local minima. On the other hand, for a threshold of the stopping criteria, the algorithm may not converge leading to time-consuming re-meshing processes. To alleviate both inconveniences, novel numerical strategies must be proposed.
==3.2 Optimality conditions when using topological derivative==
Once the topology optimization problem ([[#eq-2.43|2.43]]) has been stated in Chapter [[#2 Background and review of the state of the art|2]], the following question arises: ''how the optimality condition in the topology optimization problem must be imposed when using the topological derivative? ''Note that, strictly speaking, the topological derivative does not correspond to a continuous gradient, and consequently, non standard KKT conditions can be imposed.
===3.2.1 Qualitative description of inserting an inclusion===
For this purpose, an qualitative description of inserting an inclusion is first provided.
<div id='img-8a'></div>
<div id='img-8'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-InclusionA.png|600px|]]
|[[Image:draft_Samper_118254298-InclusionB.png|600px|Representation of the initial topology and the update topology for a strong-to-weak material modification (Case A) and for a weak-to-strong material modification (Case B).]]
|- style="text-align: center; font-size: 75%;"
| colspan="2" | '''Figure 8:''' Representation of the initial topology and the update topology for a strong-to-weak material modification (Case A) and for a weak-to-strong material modification (Case B).
|}
Let's assume the domain <math display="inline">\Omega </math> is divided into two sub-domains: <math display="inline">\Omega ^{+}</math>, endowed with a ''strong'' material (or material <math display="inline">+</math>) and <math display="inline">\Omega ^{-}</math>, endowed with a ''weak'' material (or material –). In Figure [[#img-8|8]], the strong material is represented in gray and the weak material in white. The main idea is based on studying how a shape functional (compliance, volume, ...) is modified when a circle of one material (strong or weak) is replaced by a circle of the other material (weak or strong). In an attempt to give a qualitative idea of this relation, the following two cases are introduced:
* '''Case A:''' when a small circle of the strong material is replaced by a small circle of the weak material, see Figure StrongToWeak.
* '''Case B:''' when a small circle of the weak material is replaced by a small circle of the strong material, see Figure [[#img-8a|8a]].
In this work, the shape functional is restricted to the compliance, denoted by <math display="inline">fu</math>, and to the volume (or mass in general), denoted by <math display="inline">m</math>. In addition, we denote the shape functionals with <math display="inline">(\hbox{·)+}</math> and <math display="inline">(\hbox{·)-}</math> when the center of the inclusion <math display="inline">\hat{x}</math> is inserted in <math display="inline">\Omega ^{+}</math> or <math display="inline">\Omega ^{-}</math>respectively. Thus, the change of the shape functionals in both cases is as follows:
* '''Case A:''' Since the small circle made of the strong material is replaced by the weak material, i.e., <math display="inline">\mathbb{C\hbox{+}}</math> to <math display="inline">\mathbb{C}\hbox{-}</math>, the structure must behave less stiffer and, consequently, the compliance should increase as follows
<span id="eq-3.1"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>
0\leq (fu\hbox{)+}\leq (fu\hbox{)-}\rightarrow \triangle (fu)=(fu\hbox{)-}-(fu\hbox{)+}\geq{0}
</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.1)
|}
On the contrary, when <math display="inline">\rho ^{+}</math> is replaced by <math display="inline">\rho \hbox{-}<\rho ^{+}</math> , the mass of the domain should decrease. This is,
<span id="eq-3.2"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>
0\leq m\hbox{+}\leq m^{-}\rightarrow \triangle m=m\hbox{-}-m\hbox{+}\leq{0}
</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.2)
|}
* '''Case B:''' Since the small circle made of the weak material is replaced by the strong material, i.e., <math display="inline">\mathbb{C\hbox{-}}</math> to <math display="inline">\mathbb{C}\hbox{+}</math>, the structure must behave stiffer and the compliance should decrease as follows
<span id="eq-3.3"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>
0\leq (fu\hbox{)+}\leq (fu\hbox{)-}\rightarrow \triangle (fu)=(fu\hbox{)+}-(fu\hbox{)-}\leq{0}
</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.3)
|}
On the contrary, when <math display="inline">\rho ^{-}</math> is replaced by <math display="inline">\rho ^{+}</math>, the mass of the domain should increase. This is,
<span id="eq-3.4"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>
0\leq m^{-}\leq m\hbox{+}\rightarrow \triangle m=m^{+}-m^{-}\geq{0}
</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.4)
|}
Thus, it can be inferred from this analysis the opposite response of the compliance and volume functionals when inserting an inclusion. In practice, this is translated to obtain solution different from the trivial one (full domain of strong material or full domain of weak material). In addition, this trend of the inequalities will incur on understanding the sign of the topological derivative.
===3.2.2 Mathematical description of inserting an inclusion===
Let's analyze, more formally, the mathematical formulation of inserting an inclusion. The circular inclusion is represented by means of the ball <math display="inline">B(\hat{x},\epsilon )</math> defined as
<span id="eq-3.5"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>B(\hat{x},\epsilon )=\{ x\in \Omega \quad |\quad |x-\hat{x}|<\epsilon \} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.5)
|}
where <math display="inline">\hat{x}</math> and <math display="inline">\varepsilon </math> stands for the center and the radius of the ball. The characteristic function on the ball <math display="inline">B(\hat{x},\epsilon )</math> centered in <math display="inline">\hat{x}</math> with radius <math display="inline">\epsilon </math> as
<span id="eq-3.6"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\chi _{B(\hat{x},\varepsilon )}(x)=1 x\in B(\hat{x},\epsilon ),</math>
|-
| style="text-align: center;" | <math> 0 x\notin B(\hat{x},\epsilon ), </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.6)
|}
and the sign function <math display="inline">s(x)</math> as
<span id="eq-3.7"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>s(x)=-1 x\in \Omega ^{+},</math>
|-
| style="text-align: center;" | <math> 1 x\notin \Omega \hbox{ - }. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.7)
|}
Bearing this in mind, a general description of the constitutive tensor from the initial topology to the modified topology (by only inserting one hole) can be mathematically expressed as
<span id="eq-3.8"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathbb{C}(x)\Rightarrow \mathbb{C}(x)+(\mathbb{C}\hbox{+ - }\mathbb{C}\hbox{-})s(\hat{x})\chi _{B(\hat{x},\epsilon )}(x). </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.8)
|}
Note that if <math display="inline">\hat{x}\in \Omega ^{+}</math> (case A), the constitutive tensor changes from <math display="inline">\mathbb{C}^{+}</math> to <math display="inline">\mathbb{C}^{-}</math> in the circular inclusion and remains the same in the rest of the domain. An opposite behavior occurs in case B. Similarly, we express the change of the density from the initial topology to the modified one as
<span id="eq-3.9"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\rho (x)\Rightarrow \rho (x)+(\mathbb{\rho }\hbox{+ - }\mathbb{\rho }\hbox{-})s(\hat{x})\chi _{B(\hat{x},\epsilon )}(x). </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.9)
|}
===3.2.3 Topological derivative of the volume ===
Let's express first the mass of the domain as the integral of the density over all the domain, i.e
<span id="eq-3.10"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathcal{J}(\rho )={\displaystyle \int _{\Omega }\rho (x)} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.10)
|}
Note that, in fact, it represents the mass of the domain before inserting the inclusion. Equivalently, the mass of the domain after inserting the inclusion corresponds to
<span id="eq-3.11"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{ccc}\mathcal{J}(\rho{+}(\mathbb{\rho }\hbox{+ - }\mathbb{\rho }\hbox{-})s(\hat{x})\chi _{B(\hat{x},\epsilon )}) & = & \int _{\Omega }\rho (x)+(\mathbb{\rho }\hbox{ + - }\mathbb{\rho }\hbox{-})s(\hat{x})\int _{\Omega }\chi _{B(\hat{x},\epsilon )}(x)\\ & = & \mathcal{J}(\rho )+(\mathbb{\rho }\hbox{ + - }\mathbb{\rho }\hbox{-})s(\hat{x})|B(\hat{x},\epsilon )|. \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.11)
|}
By definition, see <span id='citeF-67'></span>[[#cite-67|[67]]], the topological derivative <math display="inline">D_{t}\mathcal{J}</math> holds in the following expansion,
<span id="eq-3.12"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathcal{J}(\rho{+}(\mathbb{\rho }\hbox{+ - }\mathbb{\rho }\hbox{-})s(\hat{x})\chi _{B(\hat{x},\epsilon )})-J(\rho )=D_{T}\mathcal{J}(\hat{x})|B(\hat{x},\epsilon )|+o(|B(\hat{x},\epsilon )|). </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.12)
|}
Hence, by identifying terms, we obtain straightforwardly the expression of the topological derivative for the mass (or volume) shape functional as
<span id="eq-3.13"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>D_{T}\mathcal{J}(\hat{x})=(\mathbb{\rho }\hbox{+ - }\mathbb{\rho }\hbox{-})s(\hat{x}). </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.13)
|}
Note that, for cases A and B, the topological derivative takes the following values,
<span id="eq-3.14"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\hat{x}\in \Omega ^{+}:D_{T}\mathcal{J}(\hat{x})=-(\mathbb{\rho }\hbox{+ - }\mathbb{\rho }\hbox{-})<0\qquad \hbox{'''(Case''' '''A)'''} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.14)
|}
<span id="eq-3.15"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\hat{x}\in \Omega ^{-}:D_{T}\mathcal{J}(\hat{x})=(\mathbb{\rho }\hbox{+ - }\mathbb{\rho }\hbox{-})>0\qquad \hbox{'''(Case''' '''B)'''} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.15)
|}
===3.2.4 Topological derivative of the compliance===
In contrast to the volume functional, the compliance clearly depends on the constitutive tensor <math display="inline">\mathbb{C}</math> and is quite commonly expressed as
<span id="eq-3.16"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathcal{J}(\mathbb{C})={\displaystyle \int _{\Gamma _{N}}fu(\mathbb{C})} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.16)
|}
where <math display="inline">f\in H^{-1/2}(\Gamma _{N})</math> stands for the external boundary forces and <math display="inline">u\in H_{0}^{1}(\Omega )</math> represents the displacements, solution of the weak form of the equilibrium equation ([[#eq-2.46|2.46]]), i.e.,
<span id="eq-3.17"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\int _{\Omega }\nabla ^{s}u:\mathbb{C}:\nabla ^{s}\eta =\int _{\Gamma _{N}}f\cdot \eta \qquad \forall \eta \in H_{0}^{1}(\Omega{).} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.17)
|}
Note that the body forces are neglected for the sake of simplicity. Expression ([[#eq-3.16|3.16]]) corresponds in fact to the compliance of the initial topology of the domain. The difference between the modified topology and the initial topology is typically written, see work <span id='citeF-21'></span>[[#cite-21|[21]]] and <span id='citeF-68'></span>[[#cite-68|[68]]], in terms of the polarization tensor <math display="inline">\mathbb{P}</math>, as follows
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \begin{array}{ccc} \mathcal{J}(\mathbb{C}+(\mathbb{\mathbb{C}\hbox{+}}\hbox{ - }\mathbb{C}\hbox{-})s(\hat{x})\chi _{B(\hat{x},\varepsilon )}) & = & \mathbb{P}\sigma (u)(\widehat{x})\cdot \nabla ^{s}u(\widehat{x})|B(\hat{x},\epsilon )|+o(|B(\hat{x},\epsilon )|)\end{array} </math>
|}
|}
where <math display="inline">\sigma </math> are the stresses, solution of ([[#eq-2.46|2.46]]). In the context of linear elasticity, they are described as <math display="inline">\sigma (u)=\mathbb{C}:\nabla ^{s}u</math>. Thus, by identifying terms, the topological derivative is reduced to
<span id="eq-3.18"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>D_{T}\mathcal{J}(\hat{x})=\mathbb{P}\sigma (u)(\widehat{x})\cdot \nabla ^{s}u(\widehat{x}). </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.18)
|}
At this point, it is worth stressing that the polarization tensor has the following properties
<span id="eq-3.19"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>x\in \Omega ^{+}:D_{T}\mathcal{J}(\hat{x})=\mathbb{P}\sigma (u)(\widehat{x})\cdot \nabla ^{s}u(\widehat{x})\geq{0},\qquad \hbox{'''(Case''' '''A)'''} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.19)
|}
<span id="eq-3.20"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>x\in \Omega ^{-}:D_{T}\mathcal{J}(\hat{x})=\mathbb{P}\sigma (u)(\widehat{x})\cdot \nabla ^{s}u(\widehat{x})\leq{0.}\qquad \hbox{'''(Case''' '''B)'''} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.20)
|}
The full expressions of the polarization tensor for both isotropic and anisotropic material are obtained in Chapter [[#4 Topological derivative extension to anisotropic elastic materials |4]]
As a summary of the variables and properties described so far, in Table [[#table-1|1]], we show the initial and modified topology properties, the shape functional increments and the topological derivative for the Case A and B in a compact form.
{| class="floating_tableSCP wikitable" style="text-align: center; margin: 1em auto;min-width:50%;"
|+ style="font-size: 75%;" |<span id='table-1'></span>Table. 1 Interpretation of the topological derivative interpretations
|-
| colspan='1' style="border-right: 2px solid;border-left: 2px solid;border-right: 2px solid;" |
| colspan='1' style="border-right: 2px solid;border-left: 2px solid;border-right: 2px solid;" | Case A (Strong to weak)
| colspan='1' style="border-right: 2px solid;border-left: 2px solid;border-right: 2px solid;" | Case B (Weak to strong)
|- style="border-top: 2px solid;"
| style="border-left: 2px solid;border-right: 2px solid;" | ''<math>\begin{array}{c} \hbox{Properties before}\\ \hbox{ the inclusion} \end{array}</math>''
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\begin{array}{ccccc} \\ \mathbb{C\hbox{+,}} & \rho ^{+}, & (fu)^{+} & \hbox{ and} & m^{+}\\ \\ \end{array}</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\begin{array}{ccccc} \\ \mathbb{C}^{-}, & \rho ^{-}, & (fu)^{-} & \hbox{ and} & m^{-}\\ \\ \end{array}</math>
|- style="border-top: 2px solid;"
| style="border-left: 2px solid;border-right: 2px solid;" | ''<math>\begin{array}{c} \hbox{Properties after}\\ \hbox{ the inclusion} \end{array}</math>''
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\begin{array}{ccccc} \\ \mathbb{C}^{-}, & \rho ^{-}, & (fu)^{-} & \hbox{ and} & m^{-}\\ \\ \end{array}</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\begin{array}{ccccc} \\ \mathbb{C\hbox{+}}, & \rho ^{+}, & (fu)^{+} & \hbox{ and} & m^{+}\\ \\ \end{array}</math>
|- style="border-top: 2px solid;"
| style="border-left: 2px solid;border-right: 2px solid;" | ''<math>\begin{array}{c} \hbox{Volume and compliance}\\ \hbox{ increments} \end{array}</math>''
| colspan='1' style="border-right: 2px solid;border-left: 2px solid;border-right: 2px solid;" | <math>\begin{array}{ccc} \\ \triangle (fu)\geq{0} & \hbox{ and} & \triangle m\leq{0}\\ \\ \end{array}</math>
| colspan='1' style="border-right: 2px solid;border-left: 2px solid;border-right: 2px solid;" | <math>\begin{array}{ccc} \\ \triangle (fu)\leq{0} & \hbox{ and} & \triangle m\geq{0}\\ \\ \end{array}</math>
|- style="border-top: 2px solid;border-bottom: 2px solid;"
| style="border-left: 2px solid;border-right: 2px solid;" | ''<math>\begin{array}{c} \hbox{Topological}\\ \hbox{ derivatives} \end{array}</math>''
| colspan='1' style="border-right: 2px solid;border-left: 2px solid;border-right: 2px solid;" | <math>\begin{array}{l} \\ \mathbb{P}\sigma (u)(\widehat{x})\cdot \nabla ^{s}u(\widehat{x})\geq{0}\\ \\ -(\mathbb{\rho }\hbox{+ - }\mathbb{\rho }\hbox{-})\leq{0}\\ \\ \end{array}</math>
| colspan='1' style="border-right: 2px solid;border-left: 2px solid;border-right: 2px solid;" | <math>\begin{array}{l} \\ \mathbb{P}\sigma (u)(\widehat{x})\cdot \nabla ^{s}u(\widehat{x})\leq{0}\\ \\ -(\mathbb{\rho }\hbox{+ - }\mathbb{\rho }\hbox{-})\geq{0}\\ \\ \end{array}</math>
|}
===3.2.5 Optimality conditions===
Once the topological derivatives are described for the volume and compliance and the topological optimization problem is stated, we present the optimality conditions of the topological optimization problem when using topological derivative. Let's assume that a shape functional <math display="inline">\mathcal{J}</math> (the compliance or the volume in our case) depends on a material parameter <math display="inline">\alpha </math> (the constitutive tensor or density) that takes <math display="inline">\alpha ^{+}</math> values on <math display="inline">\Omega ^{+}</math> and <math display="inline">\alpha ^{-}</math> on <math display="inline">\Omega ^{-}</math>. Defining an arbitrary direction as
<span id="eq-3.21"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\tilde{\alpha }=\sum _{i}^{N}(\alpha ^{+}-\alpha ^{-})s(\hat{x_{i}})\chi _{B(\hat{x_{i}},\epsilon )}(x) </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.21)
|}
where <math display="inline">i</math> determine an specific hole and <math display="inline">N</math> the number of holes, we say, by definition, that <math display="inline">\alpha </math> is a local minimizer if, for any direction <math display="inline">\tilde{\alpha }</math> (and for any number of holes <math display="inline">N</math>), the shape function will always increase, this is
<span id="eq-3.22"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathcal{J}(\alpha +\tilde{\alpha })-\mathcal{J}(\alpha )\geq{0}\qquad \forall \tilde{\alpha{.}} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.22)
|}
If <math display="inline">\mathcal{J}</math> can be expanded asymptotically (the topological derivative exists), the difference of the shape functional is expressed, by definition, as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \mathcal{J}(\alpha +\tilde{\alpha })-\mathcal{J}(\alpha )=D_{T}\mathcal{J}(\hat{x})|B(\hat{x},\varepsilon )|+o(|B(\hat{x},\varepsilon )|), </math>
|}
|}
Thus, for small enough values <math display="inline">\epsilon </math> , the necessary optimality conditions are set by imposing positivity on the topological derivative, i.e.,
<span id="eq-3.23"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>D_{T}\mathcal{J}(\hat{x})\geq{0}\qquad \forall \hat{x}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.23)
|}
Accordingly, the topological optimization algorithm must fulfill condition ([[#eq-3.23|3.23]]). A similar description of the optimality conditions can be found in work <span id='citeF-67'></span>[[#cite-67|[67]]].
==3.3 The Slerp algorithm==
The lack of continuous gradient, and consequently, of standard continuous algorithms (steepest descent, Newton...) gave rise to propose, as an alternative, the Slerp algorithm for solving topology optimization problems when using the topological derivative. We recall that it was resourcefully achieved by ''Amstutz'' and co-workers in the seminal work <span id='citeF-49'></span>[[#cite-49|[49]]].
===3.3.1 The level-set function===
The methodology lies essentially on defining the topology via a continuous function, usually called level-set function. More specifically, the zero level of that function determines the characteristic function and, consequently, the topology. As a main advantage, this method allows obtaining complex and very different topologies by means of a slight continuous change of the level set function, as we can observe in Figure [[#img-9|9]].
<div id='img-9'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-Level-set image.png|600px|Level-set function representation and its relation with the characteristic function (topology) [LevelSet2016]. Slight variations of the level-set function (assuming a small “off-set”) entail large differences on the topology. ]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 9:''' Level-set function representation and its relation with the characteristic function (topology) [LevelSet2016]. Slight variations of the level-set function (assuming a small “off-set”) entail large differences on the topology.
|}
More formally, the characteristic function <math display="inline">\chi \in L^{\infty }(\Omega ,\{ 0,1\} )</math> is defined on the domain <math display="inline">\Omega </math> usually by the level-set function <math display="inline">\psi \in C(\Omega ,\mathbb{R})</math> as
<span id="eq-3.24"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\chi =1-H(\psi )=\begin{array}{ccc}1 & & \psi{<0},\\ 0 & & \psi{>0.} \end{array}</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.24)
|}
where <math display="inline">H(\psi )</math> represents the Heaviside function. Note that, owing to this definition, the design variable of the topology optimization problem switches, in practice, from <math display="inline">\chi </math> to <math display="inline">\psi </math>.
===3.3.2 Optimality condition when using a level-set function===
Let's now relate the level-set function with the optimality condition ([[#eq-3.23|3.23]]). The function <math display="inline">g(\hat{x})</math> is defined as the scalar function satisfying
<span id="eq-3.25"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>D_{T}\mathcal{J}(\hat{x})=g(\hat{x})s(\hat{x}). </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.25)
|}
Hereafter, we will use <math display="inline">D_{T}J(\hat{x})</math> or <math display="inline">g(\hat{x})</math> indistinctly when referring to the topological derivative. Thus, with this definition in mind, the necessary optimality condition ([[#eq-3.23|3.23]]) becomes as follows
<span id="eq-3.26"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{c}\hbox{if}\hat{x}\in \Omega ^{+}\quad \Rightarrow \quad g(\hat{x})\leq{0}\\ \hbox{if}\hat{x}\in \Omega ^{-}\quad \Rightarrow \quad g(\hat{x})\geq{0} \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.26)
|}
Consequently, both the level-set function (by definition) and the topological derivative function <math display="inline">g(\hat{x})</math> (in order to fulfill optimality conditions) satisfies
<span id="eq-3.27"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\left\{\begin{array}{cc}\psi (\hat{x})\leq{0} & \hat{x}\in \Omega ^{+}\\ \psi (\hat{x})\geq{0} & \hat{x}\in \Omega ^{-} \end{array}\right.\quad \hbox{and}\left\{\begin{array}{cc}g(\hat{x})\leq{0} & \hat{x}\in \Omega ^{+}\\ g(\hat{x})\geq{0} & \hat{x}\in \Omega ^{-}. \end{array}\right. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.27)
|}
In view of this result, one can set the optimality condition for the level-set function as
<span id="eq-3.28"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\hbox{sign}(g(\hat{x}))=\hbox{sign}(\psi (\hat{x}))\quad \forall \hat{x}\in \Omega </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.28)
|}
Note that, since the topological derivative depends on the topology, and consequently on the level set, the above equation is highly non-linear.
===3.3.3 Slerp algorithm for unconstrained optimization problems===
From the optimality conditions of the level-set function, one can naturally impose parallelism between the level-set function and the topological derivative at the minimum, that is
<span id="eq-3.29"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\psi (\hat{x})=\alpha _{g}g(\hat{x}) </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.29)
|}
where <math display="inline">\alpha _{g}>0</math>. Note that this relation fulfills automatically the optimality condition ([[#eq-3.28|3.28]]) for the level-set function. One could think on using equation ([[#eq-3.28|3.28]]) in a fix-point algorithm to get the optimality conditions. However, since <math display="inline">\alpha _{g}</math> is an arbitrary parameter, the level set function can increase unlimitedly and, consequently, the algorithm may not converge. In order to mitigate such inconvenient, one could fix <math display="inline">\alpha _{g}</math> such that the level-set function is enforced to have unitary norm. Thus, by taking <math display="inline">\alpha _{g}=\frac{1}{\bigl\Vert g(\hat{x})\bigr\Vert}</math>, equation ([[#eq-3.29|3.29]]) becomes
<span id="eq-3.30"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\psi (\hat{x})=\frac{g(\hat{x})}{\bigl\Vert g(\hat{x})\bigr\Vert}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.30)
|}
This relation satisfies equation ([[#eq-3.28|3.28]]) and can be understood as a fix-point algorithm: given a topology through a level-set function, compute its topological derivative and, by normalizing it, obtain the new level-set function and, consequently, the new topology. However, this fix point method could be highly aggressive leading to no descent direction during the iterations.
As a remedy, instead of updating the level-set in terms only of the new normalized topological derivative, one could combine it with the previous value of the level set, in such a way that the updated level-set function has unitary norm. This strategy is, in fact, what the slerp algorithm proposes.
The name of slerp arises from the computer graphics community and is shorthand for '''s'''pherical '''l'''inear int'''erp'''olation. ''Shoemake ''<span id='citeF-69'></span>[[#cite-69|[69]]] introduced this concept in the quaternion interpolation context for the propose of animating 3D rotation. In the topological optimization context, the slerp algorithm was proposed by ''Amstutz'' in work <span id='citeF-49'></span>[[#cite-49|[49]]]. Note that in the context of quaternion interpolations, the objects to be interpolated are vectors of dimension four while in the context of topology optimization, the objects to be interpolated are fields defined over the domain.
In general, the slerp algorithm can be understood as the interpolation of two different functions on the unit sphere. In Figure ([[#img-10|10]]), we show schematically the relation between the new level set function <math display="inline">\psi _{n+1}</math> , the actual level-set function <math display="inline">\psi _{n}</math> and the topological derivative <math display="inline">g_{n}</math>.
<div id='img-10'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-Slerp.png|600px|]]
|[[Image:draft_Samper_118254298-SlerpBetterExplained.png|600px|Representation of the slerp algorithm. The updated ψₙ₊₁ level-set function is computed by interpolating the actual level-set function ψₙ and the topological derivative gₙ on the unit sphere. The topological derivative gₙ plays the role of a descent direction on a steepest descent algorithm and the variable κₙ plays the role of a line-search parameter. ]]
|- style="text-align: center; font-size: 75%;"
| colspan="2" | '''Figure 10:''' Representation of the slerp algorithm. The updated <math>\psi _{n+1}</math> level-set function is computed by interpolating the actual level-set function <math>\psi _{n}</math> and the topological derivative <math>g_{n}</math> on the unit sphere. The topological derivative <math>g_{n}</math> plays the role of a descent direction on a steepest descent algorithm and the variable <math>\kappa _{n}</math> plays the role of a line-search parameter.
|}
According to the triangle relation described in Figure ([[#img-10|10]]), the following equation must hold
<span id="eq-3.31"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\psi _{n+1}=\alpha _{n}\psi _{n}+\beta _{n}\frac{g_{n}}{\left\Vert g_{n}\right\Vert _{L^{2}}}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.31)
|}
where the scalar numbers <math display="inline">\alpha _{n}</math> and <math display="inline">\beta _{n}</math> can be computed by imposing the following law of sinus
<span id="eq-3.32"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\frac{\beta _{n}}{\sin (\kappa \theta _{n})}=\frac{1}{\sin (\pi{-\theta}_{n})}=\frac{\alpha _{n}}{\sin ((1-\kappa )\theta _{n})}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.32)
|}
Note that this last relation is fulfilled due to the unitary norm of <math display="inline">\psi _{n+1}</math>, <math display="inline">\psi _{n}</math> and <math display="inline">\frac{g_{n}}{\left\Vert g_{n}\right\Vert }</math>. In Figure ([[#img-11|11]]), we depicted that trigonometric relation.
<div id='img-11'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-Backup_of_SlerpBetterExplainOnlyTriangleNorm.png|600px|On the left, the vector relation between the updated ψₙ₊₁ level-set function, the actual level-set function ψₙ and topological derivative gₙ . On the right, the triangular relation that leads to find the scalar values αₙ and βₙ. ]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 11:''' On the left, the vector relation between the updated <math>\psi _{n+1}</math> level-set function, the actual level-set function <math>\psi _{n}</math> and topological derivative <math>g_{n}</math> . On the right, the triangular relation that leads to find the scalar values <math>\alpha _{n}</math> and <math>\beta _{n}</math>.
|}
Thus, the new level set function <math display="inline">\psi _{n+1}</math> can be written as a combination of the actual level-set function <math display="inline">\psi _{n}</math> and the topological derivative <math display="inline">g_{n}</math> as follows
<span id="eq-3.33"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\psi _{n+1}=\frac{1}{\sin \theta _{n}}[\sin ((1-\kappa _{n})\theta _{n})\psi _{n}+\sin (\kappa _{n}\theta _{n})\frac{g_{n}}{\left\Vert g_{n}\right\Vert _{L^{2}}}], </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.33)
|}
where <math display="inline">\kappa _{n}\in [0,1]</math> is a line search-like parameter and <math display="inline">\theta _{n}</math> the angle between <math display="inline">\psi _{n}</math> and <math display="inline">g_{n}</math> which is written as
<span id="eq-3.34"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\theta _{n} = \hbox{ acos}\left[\frac{(\psi _{n},g_{n})}{\left\Vert \psi _{n}\right\Vert _{L^{2}}\left\Vert g_{n}\right\Vert _{L^{2}}}\right]. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.34)
|}
Note that, an alternative way of imposing parallelism between the level-set function and the topological derivative s achieved by requires zero vale of the angle <math display="inline">\theta _{n}</math>. In this respect, the stopping criteria of the algorithm can be set by imposing the tolerance <math display="inline">\epsilon _{\theta }</math> as a threshold of the angle <math display="inline">\theta </math>.
In addition, it is remarkable that, by using the slerp algorithm, the updated level-set function <math display="inline">\psi _{n+1}</math> has automatically unit norm. Note that since <math display="inline">\psi (x)\in C(\Omega ,\mathbb{R})</math>, we have chosen the <math display="inline">L^{2}</math> norm for both, the norm and the scalar product of equations ([[#eq-3.33|3.33]]) and ([[#eq-3.34|3.34]]). However, other norms (<math display="inline">H^{1}</math>or <math display="inline">L^{\infty }</math>) can be used.
Moreover, the line-search parameter <math display="inline">\kappa _{n}</math> allows controlling the size of the step. Initially, it is usually set to <math display="inline">1</math> and it is divided by 2 until the new topology provides a smaller cost function. Clearly, if <math display="inline">\kappa _{n}</math> takes unitary values, we recover the aggressive fix-point algorithm proposed in equation ([[#eq-3.30|3.30]]).
Thus, the slerp algorithm is a fix-point algorithm with a line-search parameter that interpolates in the unit sphere the actual level-set with the topological derivative. It is worth mentioning that the slerp algorithm can be seen in the optimization context as a standard steepest descent method with the particularity that the update variable must have unit norm. Consequently, the topological derivative plays the role of the gradient in the topology optimization problem, hence its importance. Although, in this work, an exhaustive numerical analysis has not been considered (see <span id='citeF-70'></span>[[#cite-70|[70]]] for this purpose), one can expect linear convergence of the algorithm.
===3.3.4 Slerp algorithm combined with an augmented Lagrangian scheme for constrained optimization problems ===
So far, we have described the slerp algorithm for unconstrained topology optimization problem. However, most of the applications require fulfilling some constraints. In this sub-section we present how to deal with the case of a volume constraint. To the author's knowledge, there is no a vast amount of algorithms to deal with constrained topology optimization problems when using topological derivative. The lack of continuous gradient undermine the possibility of using standard continuous optimization algorithms. However, the augmented Lagrangian algorithm is exempt of such limitation since it uncouples the update of the design variables (the topology in our case) and the update of the Lagrange multipliers <span id='citeF-71'></span>[[#cite-71|[71]]]. Thus, in view of this property, the slerp algorithm can be combined with an augmented Lagrangian scheme in constrained topology optimization problems. The reader is referred to works <span id='citeF-72'></span>[[#cite-72|[72]]], <span id='citeF-73'></span>[[#cite-73|[73]]] and <span id='citeF-74'></span>[[#cite-74|[74]]] for further information.
==Equality constraints==
Considering the level-set function as the design variable, the topology optimization problem with volume constraint ([[#eq-2.43|2.43]]) may be expressed as
<span id="eq-3.35"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{cc}\underset{\psi }{\hbox{minimize}} & \mathcal{J}(\chi (\psi ))\\ \hbox{ subjected to:} & c(\psi )=\int _{\Omega }\chi (\psi )-V=0. \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.35)
|}
According to the reference book <span id='citeF-71'></span>[[#cite-71|[71]]], and following the works <span id='citeF-75'></span><span id='citeF-72'></span><span id='citeF-74'></span>[[#cite-75|[75,72,74]]], the augmented Lagrangian scheme for equality constraints proposes to solve the minimization problem ([[#eq-3.35|3.35]]) by introducing the following saddle point problem
<span id="eq-3.36"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\underset{\lambda }{\hbox{max.} }\underset{\psi }{\hbox{min.}} \mathcal{L}(\psi ,\lambda )=\mathcal{J}(\chi (\psi ))+\lambda c(\psi )+\frac{1}{2}\rho c(\psi )^{2} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.36)
|}
where <math display="inline">\mathcal{L}(\psi ,\lambda )</math> is the Lagrangian functional, <math display="inline">\lambda </math> is the Lagrange multiplier and <math display="inline">\rho </math> the penalty parameter. The augmented Lagrangian scheme is based upon solving the primal-dual problem sequentially with the particularity that an extra term is added in order to convexify the problem <span id='citeF-71'></span>[[#cite-71|[71]]]. The algorithm considers first, a single (or multiple) <math display="inline">\psi </math> iteration for minimizing the cost function and then a single <math display="inline">\lambda </math> iteration as
<span id="eq-3.37"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\lambda _{n+1} = \lambda _{n}+\rho c(\psi _{n}) </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.37)
|}
for maximizing the cost function, i.e., an ''Usawa''-like scheme <span id='citeF-76'></span>[[#cite-76|[76]]]. Certainly, the augmented Lagrangian scheme has an impact in the slerp algorithm. On the one hand, the cost function is replaced by the Lagrangian functional when determining the line-search parameter <math display="inline">\kappa </math>. On the other hand, the topological derivative of the Lagrangian functional must be computed by considering an extended topological derivative <math display="inline">\hat{g}(x)</math> as
<span id="eq-3.38"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\hat{g}(x)=g(x)+\lambda{+\rho}c(\psi ) </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.38)
|}
where <math display="inline">g(x)</math> stands for the topological derivative of the cost function <math display="inline">\mathcal{J}(\chi (\psi )</math>). Note that, the topological derivative of the volume constraint is equal to <math display="inline">1</math> and has been consequently omitted. Hereafter, for simplicity, the extended topological derivative <math display="inline">\hat{g}(x)</math> is also called topological derivative.
==Inequality constraints==
The augmented Lagrangian scheme can be extended to minimization problems with inequality constraints. The main idea consists in retrieving the minimization problem with equality constraints by adding an extra variable <math display="inline">z</math>, often termed slack variable, to the minimization problem with inequality constraints. In mathematical terms, it reads as
<span id="eq-3.39"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{ccc}\left\{\begin{array}{cc}\underset{\psi }{\hbox{min.}} & \mathcal{J}(\psi )\\ \hbox{ s. t.} & c(\psi )\leq{0.} \end{array}\right.& \Rightarrow & \left\{\begin{array}{cc}\underset{\psi ,z}{\hbox{min.}} & \mathcal{J}(\chi (\psi ))\\ \hbox{ s. t.} & h(\psi ,z)=c(\psi )+z^{2}=0. \end{array}\right.\end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.39)
|}
where the constraint function <math display="inline">h(\psi ,z)</math> has been defined. Then, following the augmented Lagrangian scheme for equality constraints, the augmented Lagrangian <math display="inline">\mathcal{L}(\lambda ,\psi ,z)</math> is defined and the following saddle-point problem
<span id="eq-3.40"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\underset{\lambda }{\hbox{max.} }\underset{\psi }{\hbox{min.}} \underset{z}{\hbox{min.}} \mathcal{L}(\lambda ,\psi ,z)=\mathcal{J}(\psi )+\lambda h(\psi ,z)+\frac{1}{2}\rho h(\psi ,z)^{2} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.40)
|}
must be solved. The procedure consists in imposing one of the KKT conditions to isolate the slack variable <math display="inline">z^{*}(\psi ,\lambda )</math> in terms of the design variable <math display="inline">\psi </math> and the Lagrange multiplier <math display="inline">\lambda </math>, and then inserting its expression in the augmented Lagrangian <math display="inline">\mathcal{L}(\lambda ,\psi )=\mathcal{L}(\lambda ,\psi ,z^{*}(\psi ,\lambda ))</math>. For this purpose, we enforce that the partial derivative of the Lagrangian functional with respect to the slack variable must be canceled. This is,
<span id="eq-3.41"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\frac{\partial \mathcal{L}}{\partial z}=(\lambda{+\rho}h)\frac{\partial h}{\partial z}=(\lambda{+\rho}c(\psi )+\rho z^{2})2z=0. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.41)
|}
The two possible solution of the above equation are written as
<span id="eq-3.42"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>z_{1}^{2}=0\quad \hbox{and}\quad z_{2}^{2}=-(\frac{\lambda }{\rho }+c(\psi{)).} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.42)
|}
In order to determine the solution that leads to a smaller augmented Lagrangian value, we first insert <math display="inline">z_{1}^{2}</math> and <math display="inline">z_{2}^{2}</math> into the definition of the constraint function <math display="inline">h(\psi ,z)</math> as follows
<span id="eq-3.43"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>h(\psi ,z_{1})=c(\psi )\quad \hbox{and}\quad h(\psi ,z_{2})=-\frac{\lambda }{\rho } </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.43)
|}
and then to the Lagrangian functional as
<span id="eq-3.44"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathcal{L}(\lambda ,\psi ,z_{1})=\mathcal{J}(\psi )+\lambda c(\psi )+\frac{1}{2}\rho c(\psi ) </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.44)
|}
<span id="eq-3.45"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathcal{L}(\lambda ,\psi ,z_{2})=\mathcal{J}(\psi )-\frac{1}{2}\frac{\lambda ^{2}}{\rho } </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.45)
|}
Comparing both Lagrangian functionals
<span id="eq-3.46"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{rcl}\mathcal{L}(\lambda ,\psi ,z_{2})-\mathcal{L}(\lambda ,\psi ,z_{1}) & = & -\frac{1}{2}\frac{\lambda ^{2}}{\rho }-\lambda c(\psi )-\frac{1}{2}\rho c(\psi )^{2}\\ & = & -\frac{1}{2\rho }(\lambda{+\rho}c(\psi ))^{2}<0 \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.46)
|}
we obtain that <math display="inline">z_{2}</math> solution always provide a smaller value of the Lagrangian functional. Thus, the optimal slack variable <math display="inline">z^{*}</math> takes always <math display="inline">z_{2}</math> value, provided of course that <math display="inline">z_{2}</math> exists, this is when <math display="inline">z_{2}^{2}=-(\frac{\lambda }{\rho }+c(\psi ))\geq{0}</math>. Otherwise, the optimal slack variable <math display="inline">z^{*}</math> takes the other solution <math display="inline">z_{1}</math>. Therefore, it is useful to write the square of the optimal slack variable as
<span id="eq-3.47"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>(z^{*})^{2}=z_{1}^{2} c(\psi )>-\frac{\lambda }{\rho }</math>
|-
| style="text-align: center;" | <math> z_{2}^{2} c(\psi )<-\frac{\lambda }{\rho } </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.47)
|}
or, more compactly, as
<span id="eq-3.48"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>(z^{*})^{2}=\max (0,-\frac{\lambda }{\rho }-c(\psi{)).} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.48)
|}
By inserting this last result in the constraint function <math display="inline">h(\psi ,z)</math>, we obtain
<span id="eq-3.49"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>h(\psi ,z^{*})=c(\psi )+(z^{*})^{2}=\max (c(\psi ),-\frac{\lambda }{\rho })=r(\psi ,\lambda ) </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.49)
|}
where we have conveniently defined the <math display="inline">r(\psi ,\lambda )</math> constraint. Note that the problem no longer depends on the slack variable appears. Thus, the saddle-point problem for solving minimization problem with inequality constraints ([[#eq-3.40|3.40]]) becomes
<span id="eq-3.50"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\underset{\lambda }{\hbox{max.} }\underset{\psi }{\hbox{min.}} \mathcal{L}(\lambda ,\psi )=\mathcal{J}(\psi )+\lambda r(\psi ,\lambda )+\frac{1}{2}\rho r(\psi ,\lambda )^{2} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.50)
|}
which represents a standard saddle-point problem for solving minimization problem with equality constraints (see equation ([[#eq-3.36|3.36]])) with the particularity that the constraint <math display="inline">r(\psi ,\lambda )</math> depends explicitly on the Lagrange multiplier <math display="inline">\lambda </math>. At this point, it is convenient to examine if problem ([[#eq-3.50|3.50]]) can be treated as a standard minimization problem with equality constraints. For this purpose, the KKT
<span id="eq-3.51"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\left\{\begin{array}{cc}\frac{\partial \mathcal{L}}{\partial \psi }= & \frac{\partial \mathcal{J}}{\partial \psi }+(\lambda{+\rho}r)\frac{\partial r}{\partial \psi }=0\\ \\ \frac{\partial \mathcal{L}}{\partial \lambda }= & r+(\lambda{+\rho}r)\frac{\partial r}{\partial \lambda }=0 \end{array}\right. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.51)
|}
are first imposed with slight abuse of notation. The <math display="inline">\frac{\partial \mathcal{L}}{\partial \psi }</math> is not strictly imposed on the topology optimization problem when using topological derivative. Instead, the optimality conditions ([[#eq-3.23|3.23]]) are considered. In any case, from equation ([[#eq-3.49|3.49]]) the <math display="inline">\frac{\partial r}{\partial \lambda }</math> and <math display="inline">\frac{\partial r}{\partial \psi }</math> terms are determined as follows
<span id="eq-3.52"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\quad \frac{\partial r}{\partial \lambda }=0 c(\psi )>-\frac{\lambda }{\rho }</math>
|-
| style="text-align: center;" | <math> -\frac{1}{\rho } c(\psi )<-\frac{\lambda }{\rho } \quad \hbox{and}\quad \frac{\partial r}{\partial \psi }=\frac{\partial c}{\partial \psi } c(\psi )>-\frac{\lambda }{\rho },</math>
|-
| style="text-align: center;" | <math> 0 c(\psi )<-\frac{\lambda }{\rho } . </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.52)
|}
In addition, it can be shown that
<span id="eq-3.53"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\lambda{+\rho}r=\lambda{+\rho}r c(\psi )>-\frac{\lambda }{\rho }</math>
|-
| style="text-align: center;" | <math> 0 c(\psi )<-\frac{\lambda }{\rho } </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.53)
|}
and, consequently, the product between these last two equations leads to the following result
<span id="eq-3.54"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>(\lambda{+\rho}r)\frac{\partial r}{\partial \lambda }=0\quad \hbox{and}\quad (\lambda{+\rho}r)\frac{\partial r}{\partial \psi }=(\lambda{+\rho}r)\frac{\partial c}{\partial \psi } c(\psi )>-\frac{\lambda }{\rho },</math>
|-
| style="text-align: center;" | <math> 0 c(\psi )<-\frac{\lambda }{\rho }. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.54)
|}
Thus, the KKT condition of the augmented Lagrangian with inequality constraint becomes
<span id="eq-3.55"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\left\{\begin{array}{rcl}\frac{\partial \mathcal{L}}{\partial \psi } & = & \frac{\partial \mathcal{J}}{\partial \psi }+(\lambda{+\rho}r)\frac{\partial r}{\partial \psi }=0\\ \\ \frac{\partial \mathcal{L}}{\partial \lambda } & = & r=0 \end{array}\right. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.55)
|}
which coincide with the KKT condition of the augmented Lagrangian with equality constraint when the the constraint <math display="inline">c(\psi _{n})</math> is replaced by the constraint <math display="inline">r(\psi _{n},\lambda _{n})</math>. This is,
<span id="eq-3.56"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>c(\psi _{n})=0\quad \Rightarrow \quad r(\psi _{n},\lambda _{n})=\max (c(\psi _{n}),-\frac{\lambda _{n}}{\rho })=0 </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.56)
|}
This last consideration extends the augmented Lagrangian scheme with equality constraint neatly to the inequality-constrained case. Thus, the Lagrange multiplier is updated in the same manner, i.e.,
<span id="eq-3.57"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\lambda _{n+1}=\lambda _{n}+\rho r(\psi _{n},\lambda _{n}) </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.57)
|}
or, more explicitly,
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \lambda _{n+1}=\max (\lambda _{n}+\rho c(\psi _{n}),0). </math>
|}
|}
It is worth stressing that this last equation shows how the augmented Lagrangian cancels the Lagrange multiplier when the inequality is not active. Likewise, the extended topological derivative <math display="inline">\hat{g}(x)</math> is defined in the same manner of equation ([[#eq-3.38|3.38]]), i.e.,
<span id="eq-3.58"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\hat{g}(x)=g(x)+(\lambda{+\rho}r)\frac{\partial r}{\partial \psi } </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.58)
|}
As an advantage, this scheme allows using the same implementation for both cases; equalities or inequalities; by means of exchanging the constraint <math display="inline">c(\psi _{n})</math> with the constraint <math display="inline">r(\psi _{n},\lambda _{n})</math>. For further information, the reader is referred to the reference book <span id='citeF-71'></span>[[#cite-71|[71]]] for a rigorous description and work <span id='citeF-72'></span>[[#cite-72|[72]]] for applying to topological optimization problem.
==Penalty value and algorithm==
It is worth mentioning that giving an adequate value to the penalty variable is not an easy task. In the reference book <span id='citeF-71'></span>[[#cite-71|[71]]], it is suggested increasing the penalty during the iterations (when the constraint is not tightened enough). Similarly, in work <span id='citeF-77'></span>[[#cite-77|[77]]], it is proposed to increase the penalty every five iterations. However, our experience shows us that the penalty cannot increase unlimitedly. A very small value of the penalty will make the problem converge very slowly but if, on the contrary, is very high the solution oscillates with the risk of non-convergence. So, as it was mentioned before, the appropiate value of this parameter will depend on the problem and on the sensibility of the cost when varying the constraint. The numerical experiments, further presented, suggest to normalize the cost function and take a small value of the penalty.
A detailed scheme of the Augmented Lagrangian Slerp algorithm is presented in Algorithm [[#algorithm-1|1]].
{| style="margin: 1em auto;border: 1px solid darkgray;font-size:85%;"
|-
|
: '''Init:''' choose initial values of <math display="inline">\psi _0</math>, <math display="inline">\theta _{min}</math>, tol, <math display="inline">\kappa _{min}</math>, <math display="inline">\lambda _0</math> and <math display="inline">\rho </math>
: Compute <math display="inline">\sigma _0</math> and <math display="inline">u_0</math> from ([[#eq-2.46|2.46]]).
: Compute <math display="inline">r_0</math> from ([[#eq-3.56|3.56]]) with <math display="inline">c_0</math> from ([[#eq-3.10|3.10]]).
: Compute <math display="inline">\hat{g}_0</math> from ([[#eq-3.58|3.58]]) with <math display="inline">g</math> computed from ([[#eq-3.18|3.18]]).
: '''while''' <math>\theta _{n} \geq \theta _{min} \mathbf{or} r_n \geq tol</math> '''do'''
:: Set <math display="inline">\kappa = 1</math>, <math display="inline">k=1</math>, <math display="inline">\mathcal{L}_k = \mathcal{L}_n</math>, <math display="inline">\theta _k = \theta _n</math>.
:: '''while''' <math>\mathcal{L}_k \geq \mathcal{L}_n</math> (line search) '''do'''
::: Update <math display="inline">\psi _k</math> from ([[#eq-3.33|3.33]]) with <math display="inline">\kappa </math>, <math display="inline">\theta _k</math> and <math display="inline">\hat{g}_n</math>, and update <math display="inline">\chi _k</math> from ([[#eq-3.24|3.24]]).
::: Compute <math display="inline">\sigma _k</math> and <math display="inline">u_k</math> from ([[#eq-2.46|2.46]]).
::: Compute <math display="inline">\mathcal{L}_k</math> from ([[#eq-3.50|3.50]]), with <math display="inline">\mathcal{J}_k</math> from ([[#eq-3.16|3.16]]) and set <math display="inline">\kappa = \kappa /2</math> and <math display="inline">k = k+1</math>.
:: Set <math display="inline">\sigma _{n+1} = \sigma _k</math>, <math display="inline">u_{n+1} = u_k</math>, <math display="inline">\mathcal{L}_{n+1} = \mathcal{L}_k</math>, <math display="inline">\psi _{n+1}=\psi _k</math>
:: Compute <math display="inline">\theta _{n+1}</math> from ([[#eq-3.34|3.34]])
:: Compute <math display="inline">r_{n+1}</math> from ([[#eq-3.56|3.56]]) with <math display="inline">r_0</math> from ([[#eq-3.10|3.10]]).
:: Update <math display="inline">\lambda _{n+1}</math> from ([[#eq-3.57|3.57]]).
:: Compute <math display="inline">\hat{g}_{n+1}</math> from ([[#eq-3.58|3.58]]) with <math display="inline">g</math> computed from ([[#eq-3.18|3.18]]) and set <math display="inline">n = n+1</math>.
|-
| style="text-align: center; font-size: 75%;"|
<span id='algorithm-1'></span>'''Algorithm. 1''' Augmented Lagrangian slerp algorithm. The Lagrange multiplier is updated in every topology iteration, i.e.,'' Usawa''-like scheme is used.
|}
==3.4 Treatment of the interface ==
The stresses <math display="inline">\sigma _{n+1}</math> and the topological derivative <math display="inline">g_{n+1}</math> deserve special attention when dealing with the interface elements. In this section, we analyze an specific treatment of the interface elements in a bi-material elastic problem. Note that, although in topology optimization the aim is where to nucleate holes and where to leave material, in practice, the aim is how to distribute two materials, provided that the weak material takes significant lower stiff (usually <math display="inline">\sim{10}^{-3}</math> times less).
===3.4.1 Bi-material elastic problem===
We proceed to examine how to deal with the bi-material problem, from the continuous and discrete point of view, and how the different treatments of the interface affect the cost and the topological derivative.
==Formulation==
In the bi-material problem, the domain <math display="inline">\Omega </math> is first divided in two parts, one sub-domain with a strong material <math display="inline">\mathbb{C}^{+}</math> and the other sub-domain with a weak material <math display="inline">\mathbb{C}^{-}</math>. Then, the classical form of the elastic problem (without considering, for simplicity, the body forces) is written as
<span id="eq-3.59"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\left\{\begin{array}{rclcl}\nabla \cdot (\mathbb{C}:\nabla ^{s}u) & = & 0 & \hbox{ in} & \Omega ,\\ (\mathbb{C}:\nabla ^{s}u)\cdot n & = & \bar{t} & \hbox{ on} & \partial \Omega _{D}\\ u & = & \bar{u} & \hbox{ on} & \partial \Omega _{N}. \end{array}\right. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.59)
|}
and by multiplying times the test function <math display="inline">v</math> and integrating by parts, we obtain the weak form of the bi-material elastic problem as
<span id="eq-3.60"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>{\displaystyle \int _{\Omega ^{+}}}\nabla ^{s}v:\mathbb{C}^{+}:\nabla ^{s}u+{\displaystyle \int _{\Omega ^{-}}}\nabla ^{s}v:\mathbb{C}^{-}:\nabla ^{s}u={\displaystyle \int _{\partial \Omega _{N}.}}v\cdot (\bar{t}\cdot n)\quad \forall v\in H_{0}^{1}\hbox{( }\Omega \hbox{)} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.60)
|}
where the domain <math display="inline">\Omega </math> has been split into t <math display="inline">\Omega ^{+}</math>and <math display="inline">\Omega ^{-}</math>. Let's consider a a Finite Element discretization of equation ([[#eq-3.60|3.60]]). The domain <math display="inline">\Omega </math> is equipped with a conforming, triangular mesh <math display="inline">{\mathcal{T}}</math> composed of <math display="inline">K</math> triangles <math display="inline">T_{k}</math>, <math display="inline">k=1,...,K</math>, and <math display="inline">J</math> vertices <math display="inline">p_{j}</math>, <math display="inline">j=1,...,J</math>. Recalling the classical Finite element spaces, <math display="inline">V_{1}\subset H_{0}^{1}(\Omega )</math> is the finite-dimensional space of Lagrange <math display="inline">\mathbb{P}_{1}</math> Finite Element functions, i.e. of affine functions in restriction to each triangle <math display="inline">T_{k}\in {\mathcal{T}}</math>. A basis of <math display="inline">V_{1}</math> is composed of the functions <math display="inline">N_{j}</math>, <math display="inline">j=1,...,J</math>, where <math display="inline">N_{j}</math> is the unique element in <math display="inline">V_{1}</math> such that <math display="inline">N_{j}(p_{j^{\prime }})=1</math> if <math display="inline">j=j^{\prime }</math> and <math display="inline">0</math> otherwise. We take advantage of defining <math display="inline">V_{0}\subset L^{2}(D)</math> as the finite-dimensional space of Lagrange <math display="inline">\mathbb{P}_{0}</math> Finite Element functions on <math display="inline">{\mathcal{T}}</math>, i.e. of constant functions in restriction to each triangle <math display="inline">T_{k}\in {\mathcal{T}}</math>. A basis of <math display="inline">V_{0}</math> is composed of the functions <math display="inline">N_{k}^{0}</math>, <math display="inline">k=1,...,K</math>, where <math display="inline">N_{k}^{0}\equiv{1}</math> on <math display="inline">T_{k}</math> and <math display="inline">N_{k}\equiv{0}</math> on <math display="inline">T_{k^{\prime }}</math>, <math display="inline">k\neq k^{\prime }</math>.
Thus, defining <math display="inline">h</math> as the diameter of the triangles <math display="inline">T_{k}</math>, the discretized displacement <math display="inline">u_{h}\in V_{1}\subset C(\Omega )\subset H_{0}^{1}(\Omega )</math> is the unique solution of the discretized weak form
<span id="eq-3.61"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\sum _{k=1}^{K}{\displaystyle \int _{T_{k}}}\nabla ^{s}v_{h}:\mathbb{C}:\nabla ^{s}u_{h}=\sum _{k=1}^{K}{\displaystyle \int _{\partial T_{N_{k}}}}v_{h}\cdot (\bar{t}\cdot n)\qquad \forall v_{h}\in V_{1}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.61)
|}
Let's split the domain into three different sub-groups: the elements <math display="inline">T_{k}^{+}</math> (endowed with <math display="inline">\mathbb{C}^{+}</math> constitutive tensor), the elements <math display="inline">T_{k}^{-}</math> (endowed with <math display="inline">\mathbb{C}^{-}</math> constitutive tensor), and the elements intersecting the interface <math display="inline">T_{k}^{\Gamma }</math> that share both materials and are, for the time, denoted by the interface constitutive tensor <math display="inline">\mathbb{C}^{\Gamma }</math>. The different possible definitions of that interface constitutive tensor <math display="inline">\mathbb{C}^{\Gamma }</math> are further described and represents the main ingredient of the bi-material elastic problems. Bearing this in mind, we can define the regularized constitutive tensor <math display="inline">\mathbb{\tilde{C}}</math> as
<span id="eq-3.62"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathbb{\mathbb{\tilde{C}}}=\mathbb{C}^{+} \hbox{ in }T_{k}^{+}</math>
|-
| style="text-align: center;" | <math> \mathbb{C}^{-} \hbox{ in }T_{k}^{-}</math>
|-
| style="text-align: center;" | <math> \mathbb{C}^{\Gamma } \hbox{ in }T_{k}^{\Gamma } . </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.62)
|}
Consequently, the weak form equation ([[#eq-3.60|3.60]]), is re-written, after discretization, as
<span id="eq-3.63"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{rl}\sum _{k=1}^{K^{+}}{\displaystyle \int _{T_{k}^{+}}}\nabla ^{s}v_{h}:\mathbb{C}^{+}:\nabla ^{s}u_{h}+\sum _{k=1}^{K^{-}}{\displaystyle \int _{T_{k}^{-}}}\nabla ^{s}v_{h}:\mathbb{C}^{-}:\nabla ^{s}u_{h}+\\ +\sum _{k=1}^{K^{\Gamma }}{\displaystyle \int _{T_{k}^{\Gamma }}}\nabla ^{s}v_{h}:\mathbb{C}^{\Gamma }:\nabla ^{s}u_{h}=\sum _{k=1}^{K}{\displaystyle \int _{\partial T_{N_{k}}}}v_{h}\cdot (\bar{t}\cdot n)\qquad \forall v_{h}\in V_{1}. \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.63)
|}
The right side of the above equation has not been split into the elements because no it does not depend on the constitutive tensor.
Undoubtedly, the main difficulty of equation ([[#eq-3.63|3.63]]) relies on how to deal with the interface elements <math display="inline">T_{k}^{\Gamma }</math>. Since we use <math display="inline">\mathbb{P}_{1}</math> Finite Element, the strains <math display="inline">\nabla ^{s}u</math> are element-wise constant and, consequently, the integration of the last term of the left hand side of [[#eq-3.63|3.63]] requires the value of <math display="inline">\mathbb{C}^{\Gamma }</math> on the Gauss points <math display="inline">x_{g}</math> of the interface elements <math display="inline">T_{k}^{\Gamma }</math>, in terms of material <math display="inline">\mathbb{C}^{+}</math> and <math display="inline">\mathbb{C}^{-}</math>. From definition ([[#eq-2.48|2.48]]), the regularized constitutive tensor on the interface <math display="inline">\mathbb{C}^{\Gamma }</math> is expressed in terms of the characteristic function as
<span id="eq-3.64"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathbb{C}^{\Gamma }=\chi (x_{g})\mathbb{C}^{+}+(1-\chi (x_{g}))\mathbb{C}^{-}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.64)
|}
In view of equation ([[#eq-3.64|3.64]]), the description of the interface is based on the treatment of the characteristic function <math display="inline">\chi </math> in the Gauss Points of the interface elements and, in turn, on the treatment of the level-set function <math display="inline">\psi </math> . The characteristic function evaluated on the Gauss Points of the interface elements is, hereafter, termed as <math display="inline">\tilde{\chi }=\chi (x_{g})</math>. For this purpose, two different approaches are commonly used in topology optimization when using topological derivative <span id='citeF-49'></span><span id='citeF-78'></span>[[#cite-49|[49,78]]]: the ''In or Out'' approach and the ''P1-projection'' approach.
====In or Out approach====
The'' In or Out approach'' is based on taking the characteristic function on the interface <math display="inline">\tilde{\chi }_{io}</math> in terms of the level-set function evaluated on the Gauss point <math display="inline">x_{g}</math>. This is,
<span id="eq-3.65"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\tilde{\chi }_{io}=1-H(\psi (x_{g}))=\begin{array}{ccc}1 & & \psi (x_{g})<0\\ 0 & & \psi (x_{g})>0 \end{array}</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.65)
|}
Note that, in this case, the characteristic function on the Gauss point takes binary values, i.e.,
<span id="eq-3.66"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\tilde{\chi }_{io}\in \{ 0,1\} . </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.66)
|}
Consequently, the constitutive tensor is restricted to <math display="inline">\mathbb{C}^{+}</math> and <math display="inline">\mathbb{C}^{-}</math> , i.e., it belongs to
<span id="eq-3.67"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathbb{C}_{io}^{\Gamma }\in \{ \mathbb{C}^{+},\mathbb{C}^{-}\} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.67)
|}
and, in terms of the level-set function, is written as
<span id="eq-3.68"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathbb{C}_{io}^{\Gamma }=\begin{array}{ccc}\mathbb{C}^{+} & & \psi (x_{g})<0\\ \mathbb{C}^{-} & & \psi (x_{g})>0. \end{array}</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.68)
|}
====P1-projection approach====
Alternatively, a <math display="inline">\mathbb{P}_{1}</math>-projection approach can be considered. It consists on projecting the characteristic function from <math display="inline">L^{\infty }(\Omega ,\{ 0,1\} )</math> to the smaller finite-dimensional space <math display="inline">V_{1}\subseteq L^{\infty }(\Omega ,\{ 0,1\} )</math>, composed by the <math display="inline">\mathbb{P}_{1}</math> Finite Element functions <math display="inline">N_{i}^{1}</math>. In mathematical terms, the <math display="inline">\mathbb{P}_{1}</math>-projection reads as
<span id="eq-3.69"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\chi \in L^{\infty }(\Omega ,\{ 0,1\} )\quad \Rightarrow \quad \chi =\sum N_{i}^{1}\chi _{i}\in V_{1}\subseteq L^{\infty }(\Omega ,\{ 0,1\} ) </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.69)
|}
where the values on the nodes <math display="inline">\chi _{i}</math> are determined from the nodal level-set values <math display="inline">\psi _{i}</math>, i.e.,
<span id="eq-3.70"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\chi _{i}=1-H(\psi _{i}). </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.70)
|}
Thus, since we are dealing with <math display="inline">\mathbb{P}_{1}</math> Finite Element functions, the value of the characteristic function on the Gauss point <math display="inline">\tilde{\chi }_{p}</math> is reduced to
<span id="eq-3.71"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\tilde{\chi }_{p}=\frac{1}{3}[\chi _{1}+\chi _{2}+\chi _{3}] </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.71)
|}
where <math display="inline">\chi _{1}</math>, <math display="inline">\chi _{2}</math> and <math display="inline">\chi _{3}</math> are the values of the characteristic function on the nodes <math display="inline">1,</math><math display="inline">2</math> and <math display="inline">3</math> of the element <math display="inline">T_{k}^{\Gamma }</math>. In the following, depending on the values of the level-set function, we examine the four different cases that may appear. Without loose of generality, we order the nodal values of the level-set function as follows: <math display="inline">\psi (x_{3})\geq \psi (x_{2})\geq \psi (x_{1})</math> where <math display="inline">x_{1}</math>, <math display="inline">x_{2}</math> and <math display="inline">x_{3}</math> are the position of the the nodes <math display="inline">1,</math><math display="inline">2</math> and <math display="inline">3</math>.
'''Case A:''' <math>0\geq \psi (x_{3})\geq \psi (x_{2})\geq \psi (x_{1}).</math> All the values of the level-set function are negative and consequently all the values of the characteristic function are equal to <math>1</math>, including the value on the Gauss point. This is,
<span id="eq-3.72"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\chi _{1}=\chi _{2}=\chi _{3}=1\quad \Rightarrow \quad \tilde{\chi }_{p}=1. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.72)
|}
In fact, in this case, the element <math display="inline">T_{k}^{\Gamma }</math> is not considered an interface element.
'''Case B:''' <math>\psi (x_{3})\geq{0}\geq \psi (x_{2})\geq \psi (x_{1}).</math> The value of the level-set function in the node <math>3</math> is taken as positive whereas the nodes <math>1</math> and <math>2</math> remain negative. In this case, the value on the Gauss point becomes
<span id="eq-3.73"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\chi _{1}=\chi _{2}=1\quad \mbox{and}\quad \chi _{3}=0\quad \Rightarrow \quad \tilde{\chi }_{p}=\frac{2}{3}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.73)
|}
'''Case C:''' <math>\psi (x_{3})\geq \psi (x_{2})\geq{0}\geq \psi (x_{1}).</math> Similarly to Case B, the value of the level-set function in the nodes <math>3</math> and <math>2</math> are taken as positive whereas the node <math>1</math> remains negative. In this case, the value on the Gauss point becomes
<span id="eq-3.74"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\chi _{1}=1\quad \mbox{and}\quad \chi _{2}=\chi _{3}=0\quad \Rightarrow \quad \tilde{\chi }_{p}=\frac{1}{3}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.74)
|}
'''Case D:''' <math>\psi (x_{3})\geq \psi (x_{2})\geq \psi (x_{1})\geq{0.}</math> Similarly to Case A, the values of the level-set function in the nodes <math>1</math>, <math>2</math>, and <math>3</math> are taken as negative. In this case, the value on the Gauss point becomes
<span id="eq-3.75"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\chi _{1}=\chi _{2}=\chi _{3}=0\quad \Rightarrow \quad \tilde{\chi }_{p}=0. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.75)
|}
In this case, the element <math display="inline">T_{k}^{\Gamma }</math> is also not considered an interface element.
Note that, although the characteristic function has been regularized in all these cases projecting to <math display="inline">V_{1}</math>, in practice, it can only takes the following four values
<span id="eq-3.76"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\tilde{\chi }_{p}\in \{ 0,\frac{1}{3},\frac{2}{3},1\} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.76)
|}
and consequently, according to equation ([[#eq-3.64|3.64]]), the constitutive tensor on the interface <math display="inline">\mathbb{C}^{\Gamma }</math> is restricted to
<span id="eq-3.77"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathbb{C}_{p}^{\Gamma }\in \{ \mathbb{C}^{+},\frac{2}{3}\mathbb{C}^{+}+\frac{1}{3}\mathbb{C}^{-},\frac{1}{3}\mathbb{C}^{+}+\frac{2}{3}\mathbb{C}^{-},\mathbb{C}^{-}\} . </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.77)
|}
===3.4.2 Mixed formulation approach ===
The main objective is to propose a formulation in which the interface constitutive tensor <math display="inline">\mathbb{C}^{\Gamma }</math> can change continuously when evolving the interface.
==Formulation ==
The mixed formulation proposes to write both the equilibrium equation and the constitutive law separately in the weak form. Namely, find <math display="inline">u\in H_{0}^{1}(\Omega _{\Gamma })</math> and <math display="inline">\sigma \in L^{2}(\Omega _{\Gamma })</math> such that
<span id="eq-3.78"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{rcl}{\displaystyle \int _{\Omega }}v(\nabla \cdot \sigma ) & = & 0\quad \forall \nu \in H_{0}^{1}(\Omega _{\Gamma })\\ {\displaystyle \int _{\Omega }}\mu (\sigma -\mathbb{C}:\nabla ^{s}u) & = & 0\quad \forall \mu \in L^{2}(\Omega _{\Gamma }) \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.78)
|}
where <math display="inline">\mathbb{C}_{ij}\in L^{\infty }(\Omega _{\Gamma })</math> are the components of constitutive tensor and the body forces have been neglected for simplicity. The test functions <math display="inline">v</math> are taken in <math display="inline">V_{1}\subset L^{2}(\Omega _{\Gamma })</math> and the test functions <math display="inline">\mu </math> are taken in <math display="inline">V_{0}\subset L^{2}(\Omega _{\Gamma }).</math> Let's recall that the finite-dimensional space <math display="inline">V_{0}</math> and <math display="inline">V_{1}</math> are composed by the <math display="inline">\mathbb{P}_{0}</math> and <math display="inline">\mathbb{P}_{\hbox{1}}</math> Finite Element functions <math display="inline">N^{0}</math> and <math display="inline">N^{1}</math>. Regarding the unknowns <math display="inline">u</math> and <math display="inline">\sigma </math>, the displacements <math display="inline">u</math> are discretized in <math display="inline">\mathbb{P}_{1}</math> Finite Element functions as <math display="inline">u=u_{j}N_{j}^{1}</math> and consequently the strains <math display="inline">\varepsilon =\nabla ^{s}u</math> can be expressed as <math display="inline">\mathbb{P}_{0}</math> Finite Element functions <math display="inline">\varepsilon =\varepsilon _{k}N_{k}^{0}</math>. However, the stresses <math display="inline">\sigma \in </math><math display="inline">L^{2}(\Omega _{\Gamma })</math> are directly expressed in <math display="inline">\mathbb{P}_{0}</math> Finite Element functions as <math display="inline">\sigma =\sigma _{k}N_{k}^{0}</math>.
Thus, in the interface elements <math display="inline">T_{k}^{\Gamma }</math>, the second equation of ([[#eq-3.78|3.78]]) becomes
<span id="eq-3.79"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>{\displaystyle \int _{T_{k}^{\Gamma }}}N_{s}^{0}N_{k}^{0}\sigma _{k}={\displaystyle \int _{T_{k}^{\Gamma }}N_{s}^{0}}(\mathbb{C}:\varepsilon _{k}N_{k}^{0}). </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.79)
|}
Let's denote <math display="inline">\Omega _{\Gamma }</math> the volume of each interface triangular element <math display="inline">T_{k}^{\Gamma }</math> and <math display="inline">\Omega _{\Gamma }^{+}</math> and <math display="inline">\Omega _{\Gamma }^{-}</math> the subdivisions with strong and weak material obtained when the level-set function cuts the element, see Figure [[#img-12|12]].
<div id='img-12'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-Interface.png|400px|The volume Ω<sub>Γ</sub> of the interface triangular element Tₖ<sup>Γ</sup> is divided into the sub-domains Ω<sub>Γ</sub>⁺ and Ω<sub>Γ</sub>⁻ with material properties \mathbbC⁺ and \mathbbC⁻ respectively.]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 12:''' The volume <math>\Omega _{\Gamma }</math> of the interface triangular element <math>T_{k}^{\Gamma }</math> is divided into the sub-domains <math>\Omega _{\Gamma }^{+}</math> and <math>\Omega _{\Gamma }^{-}</math> with material properties <math>\mathbb{C}^{+}</math> and <math>\mathbb{C}^{-}</math> respectively.
|}
Since the <math display="inline">\mathbb{P}_{0}</math> Finite Element function <math display="inline">N_{s}^{0}</math> takes, by definition, unitary values on <math display="inline">T_{k}^{\Gamma }</math>, the above expression yields
<span id="eq-3.80"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\Omega _{\Gamma }\sigma _{k}=\left(\Omega _{\Gamma }^{+}\mathbb{C}^{+}+\Omega _{\Gamma }^{-}\mathbb{C}^{-}\right):\varepsilon _{k} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.80)
|}
where it has been considered that the domain <math display="inline">\Omega _{\Gamma }</math> is split into <math display="inline">\Omega _{\Gamma }^{+}</math> and <math display="inline">\Omega _{\Gamma }^{-}</math>. Isolating the stresses from equation ([[#eq-3.80|3.80]]), the elementary constitutive law reads as
<span id="eq-3.81"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\sigma _{k}=\left(\frac{\Omega _{\Gamma }^{+}}{\Omega _{\Gamma }}\mathbb{C}^{+}+\frac{\Omega _{\Gamma }^{-}}{\Omega _{\Gamma }}\mathbb{C}^{-}\right):\varepsilon _{k}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.81)
|}
Consequently, we can naturally define, in the mixed formulation approach, the constitutive tensor of an interface element as
<span id="eq-3.82"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathbb{C}_{m}^{\Gamma }=\frac{\Omega _{\Gamma }^{+}}{\Omega _{\Gamma }}\mathbb{C}^{+}+\frac{\Omega _{\Gamma }^{-}}{\Omega _{\Gamma }}\mathbb{C}^{-}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.82)
|}
Note that in the rest of elements <math display="inline">T_{k}^{+}</math> and <math display="inline">T_{k}^{-}</math>, the standard relation between stresses and strains are retrieved.
==Regularized characteristic function definition==
Then, we define the regularized characteristic function as the volume fraction of the strong material, i.e.
<span id="eq-3.83"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\tilde{\chi }_{m}=\frac{\Omega _{\Gamma }^{+}}{\Omega _{\Gamma }}\in [0,1]. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.83)
|}
where the value of <math display="inline">\frac{\Omega _{\Gamma }^{+}}{\Omega _{\Gamma }}</math> will be determined by the zero level-set function. As a consequence of definition ([[#eq-3.83|3.83]]), we can identify the constitutive tensor of the fictitious material defined in equation ([[#eq-3.82|3.82]]) as
<span id="eq-3.84"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathbb{C}_{m}^{\Gamma }=\tilde{\chi }_{m}\mathbb{C}^{+}+(1-\tilde{\chi }_{m})\mathbb{C}^{-}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.84)
|}
==Regularized characteristic function computation==
Following the description of the <math display="inline">\mathbb{P}_{1}</math>-projection, we again recognize, in the mixed formulation approach, the following four different cases for computing the regularized characteristic function:
'''Case A:''' <math>0\geq \psi (x_{3})\geq \psi (x_{2})\geq \psi (x_{1}).</math> Same as the <math>\mathbb{P}_{1}</math> projection approach. This is
<span id="eq-3.85"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \chi _{1}=\chi _{2}=\chi _{3}=1\quad \Rightarrow \tilde{\chi }_{m}=1. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.85)
|}
In this case, the element <math>T_{k}^{\Gamma }</math> is not considered an interface element.
'''Case B:''' <math>\psi (x_{3})\geq{0}\geq \psi (x_{2})\geq \psi (x_{1}).</math> We start by computing the position of the cutting points <math>x_{13}</math> and <math>x_{23}</math> of the zero level-set function on the edges <math>13</math> and <math>12</math> (see Figure [[#img-13|13]] ).
<div id='img-13'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-TriangleCoordinates.png|600px|Representation of a material discontinuity when using a level-set ψ described by \mathbbP₁ Finite Element functions. The level-set ψ cuts the triangle in the nodes x₁₃ and x₂₃ in Case B and in the nodes x₃₁ and x₂₁ in Case C.]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 13:''' Representation of a material discontinuity when using a level-set <math>\psi </math> described by <math>\mathbb{P}_{1}</math> Finite Element functions. The level-set <math>\psi </math> cuts the triangle in the nodes <math>x_{13}</math> and <math>x_{23}</math> in Case B and in the nodes <math>x_{31}</math> and <math>x_{21}</math> in Case C.
|}
Since the level-set function is also defined in <math>\psi \in V_{1}</math>, the shape functions <math>N_{i}^{1}</math> restricted to the edges become a standard 1D linear shape functions. It means that the level-set function over the edge <math>13</math> can be written as
<span id="eq-3.86"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \psi _{13}(x)=N_{13}(x)\psi (x_{1})+N_{31}(x)\psi (x_{3}) </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.86)
|}
where the linear shape functions <math>N_{13}(x)</math> and <math>N_{31}(x)</math> are defined as
<span id="eq-3.87"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> N_{13}(x)=\frac{x_{3}-x}{x_{3}-x_{1}}\quad \hbox{and}\quad N_{31}(x)=\frac{x-x_{1}}{x_{3}-x_{1}}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.87)
|}
The cutting point <math>x_{13}</math> is, by definition, the point in which the level-set function is zero and, consequently, from equation ([[#eq-3.86|3.86]]), it becomes
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \psi (x_{13})=0\quad \Rightarrow \quad x_{13}=\frac{\psi (x_{1})}{\psi (x_{1})-\psi (x_{3})}x_{3}+\frac{\psi (x_{3})}{\psi (x_{3})-\psi (x_{1})}x_{1}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.88)
|}
Thus, the vector <math>x_{13}-x_{3}</math> can be written as
<span id="eq-3.89"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> x_{13}-x_{3}=\frac{\psi (x_{3})}{\psi (x_{3})-\psi (x_{1})}(x_{1}-x_{3}). </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.89)
|}
Similarly, the vector <math>x_{23}-x_{3}</math> can be written as
<span id="eq-3.90"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> x_{23}-x_{3}=\frac{\psi (x_{3})}{\psi (x_{3})-\psi (x_{2})}(x_{2}-x_{3}). </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.90)
|}
The weighted values <math>\omega _{13}</math> and <math>\omega _{23}</math> are conveniently defined as
<span id="eq-3.91"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \omega _{13}=\frac{\psi (x_{3})}{\psi (x_{3})-\psi (x_{1})}\quad \hbox{and}\quad \omega _{23}=\frac{\psi (x_{3})}{\psi (x_{3})-\psi (x_{2})}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.91)
|}
Then, taking advantage of the cross product, the fraction volume of the weak part can be computed as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \frac{\Omega _{\Gamma }^{-}}{\Omega _{\Gamma }}=\frac{\frac{1}{2}|(x_{13}-x_{3})\times (x_{23}-x_{3})|}{\frac{1}{2}|(x_{1}-x_{3})\times (x_{2}-x_{3})|} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.92)
|}
and after introducing equation ([[#eq-3.89|3.89]]), ([[#eq-3.90|3.90]]) and ([[#eq-3.91|3.91]]) yields
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \frac{\Omega _{\Gamma }^{-}}{\Omega _{\Gamma }}=\frac{\frac{1}{2}\omega _{13}\omega _{23}|(x_{1}-x_{3})\times (x_{2}-x_{3})|}{\frac{1}{2}|(x_{1}-x_{3})\times (x_{2}-x_{3})|}=\omega _{13}\omega _{23} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.93)
|}
and, consequently, the fraction volume of the strong part results in
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \frac{\Omega _{\Gamma }^{+}}{\Omega _{\Gamma }}=1-\omega _{13}\omega _{23}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.94)
|}
Thus, we end up with the expression of the regularized characteristic function of the mixed formulation in terms of the level-set function as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \tilde{\chi }_{m}=1-\frac{\psi (x_{3})}{\psi (x_{3})-\psi (x_{1})}\frac{\psi (x_{3})}{\psi (x_{3})-\psi (x_{2})}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.95)
|}
'''Case C:''' <math>\psi (x_{3})\geq \psi (x_{2})\geq{0}\geq \psi (x_{1}).</math> In this case, we compute the regularized characteristic function in the same manner of Case B, only by exchanging node 3 by node 1 and the fraction volume of the strong material by the fraction volume of the weak material (see Figure [[#img-13|13]]). For this purpose, we can define conveniently the weights <math>\omega _{21}</math> and <math>\omega _{31}</math> as
<span id="eq-3.96"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \omega _{21}=\frac{\psi (x_{1})}{\psi (x_{1})-\psi (x_{2})}\quad \hbox{and}\quad \omega _{31}=\frac{\psi (x_{1})}{\psi (x_{1})-\psi (x_{3})}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.96)
|}
and the fraction volume of the strong part as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \frac{\Omega _{\Gamma }^{+}}{\Omega _{\Gamma }}=\omega _{21}\omega _{31}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.97)
|}
Thus, in this case the regularized characteristic function of the mixed formulation in terms of the level-set function becomes
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \tilde{\chi }_{m}=\frac{\psi (x_{1})}{\psi (x_{1})-\psi (x_{2})}\frac{\psi (x_{1})}{\psi (x_{1})-\psi (x_{3})}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.98)
|}
'''Case D:''' <math>\psi (x_{3})\geq \psi (x_{2})\geq \psi (x_{1})\geq{0}</math> Same as the <math>\mathbb{P}_{1}</math>-projection approach. The characteristic function takes zero value on the three nodes, i.e.,
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \chi _{1}=\chi _{2}=\chi _{3}=0\quad \Rightarrow \tilde{\chi }_{m}=0. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.99)
|}
In this case, the element <math>T_{k}^{\Gamma }</math> is not considered an interface element.
==Comparison with other approaches==
In comparison with other approaches (''In or Out'' or ''<math>\mathbb{P}_{1}</math>-projection'' approach), the characteristic function on the interface <math display="inline">\tilde{\chi }_{m}</math> in the mixed formulation approach evolves continuously when moving the level-set function. Thus, the characteristic function is now defined in
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\tilde{\chi }_{m}\in [0,1] </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.100)
|}
and, in trust, the constitutive tensor in the interface can also vary continuously from <math display="inline">\mathbb{C}^{-}</math> to <math display="inline">\mathbb{C}^{+}</math>, i.e.,
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathbb{C}_{m}^{\Gamma }\in [\mathbb{C}^{-},\mathbb{C}^{+}]. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.101)
|}
In Table [[#table-2|2]], we summarize and compare the treatment of the interface in terms of the characteristic function and constitutive tensor by the ''In or Out approach'', ''<math>\mathbb{P}_{1}</math>-projection approach'' and ''the Mixed formulation approach''.
{| class="floating_tableSCP wikitable" style="text-align: center; margin: 1em auto;min-width:50%;"
|+ style="font-size: 75%;" |<span id='table-2'></span>Table. 2 Summary of the different approaches used to treat with the interface elements. In the ''Mixed formulation approach'', in contrast to the others approaches, the fictitious constitutive tensor on the interface <math>\mathbb{C}^{\Gamma }</math> is allowed to evolve continuously when varying the level-set function.
|-
| colspan='1' style="border-right: 2px solid;border-left: 2px solid;border-right: 2px solid;" |
| style="border-left: 2px solid;border-right: 2px solid;" | '''In or Out'''
| style="border-left: 2px solid;border-right: 2px solid;" | '''<math>\mathbb{P}_{1}</math>-projection'''
| style="border-left: 2px solid;border-right: 2px solid;" | '''Mixed formulation '''
|- style="border-top: 2px solid;"
| style="border-left: 2px solid;border-right: 2px solid;" | ''<math>\begin{array}{c} \mathbf{\mathbf{\hbox{Case A}}}\\ 0\geq \psi (x_{3})\geq \psi (x_{2})\geq \psi (x_{1}) \end{array}</math>''
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\tilde{\chi }_{io}=1</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\tilde{\chi }_{p}=1</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\tilde{\chi }_{m}=1</math>
|- style="border-top: 2px solid;"
| style="border-left: 2px solid;border-right: 2px solid;" | ''<math>\begin{array}{c} \mathbf{\hbox{Case B}}\\ \psi (x_{3})\geq{0}\geq \psi (x_{2})\geq \psi (x_{1}). \end{array}</math>''
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\tilde{\chi }_{io}=1</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\tilde{\chi }_{p}=\frac{2}{3}</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\begin{array}{ccc} \tilde{\chi }_{m} & = & 1-\omega _{13}\omega _{23}\\ \omega _{13} & = & \frac{\psi (x_{3})}{\psi (x_{3})-\psi (x_{1})}\\ \omega _{23} & = & \frac{\psi (x_{3})}{\psi (x_{3})-\psi (x_{2})} \end{array}</math>
|- style="border-top: 2px solid;"
| style="border-left: 2px solid;border-right: 2px solid;" | ''<math>\begin{array}{c} \mathbf{\hbox{Case C}}\\ \psi (\chi _{3})\geq \psi (\chi _{2})\geq{0}\geq \psi (\chi _{1}) \end{array}</math>''
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\tilde{\chi }_{io}=0</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\tilde{\chi }_{p}=\frac{1}{3}</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\begin{array}{ccc} \tilde{\chi }_{m} & = & 1-\omega _{21}\omega _{31}\\ \omega _{21} & = & \frac{\psi (x_{1})}{\psi (x_{1})-\psi (x_{2})}\\ \omega _{31} & = & \frac{\psi (x_{1})}{\psi (x_{1})-\psi (x_{3})} \end{array}</math>
|- style="border-top: 2px solid;"
| style="border-left: 2px solid;border-right: 2px solid;" | ''<math>\begin{array}{c} \mathbf\hbox{Case D}\\ \psi (\chi _{3})\geq \psi (\chi _{2})\geq \psi (\chi _{1})\geq{0} \end{array}</math>''
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\tilde{\chi }_{io}=0</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\tilde{\chi }_{p}=0</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\tilde{\chi }_{m}=0</math>
|- style="border-top: 2px solid;"
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\tilde{\chi }\mathbf\hbox{ domain}</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\tilde{\chi }_{io}\in \{ 0,1\} </math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\tilde{\chi }_{p}\in \{ 0,\frac{1}{3},\frac{2}{3},1\} </math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\tilde{\chi }_{m}\in [0,1]</math>
|- style="border-top: 2px solid;border-bottom: 2px solid;"
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\mathbb{C}^{\Gamma }\mathbf\hbox{ domain}</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\mathbb{C}_{io}^{\Gamma }\in \{ \mathbb{C}^{-},\mathbb{C}^{+}\} </math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\begin{array}{cc} \mathbb{C}_{p}^{\Gamma }\in & \{ \mathbb{C}^{+},\frac{2}{3}\mathbb{C}^{+}+\frac{1}{3}\mathbb{C}^{-},\\ & \frac{1}{3}\mathbb{C}^{+}+\frac{2}{3}\mathbb{C}^{-},\mathbb{C}^{-}\} \end{array}</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\mathbb{C}_{m}^{\Gamma }\in [\mathbb{C}^{-},\mathbb{C}^{+}]</math>
|}
====Connections between the Mixed formulation approach and the Homogenization method====
By examining equation ([[#eq-3.84|3.84]]), the interface constitutive tensor <math display="inline">\mathbb{C}^{\Gamma }</math>, defined in terms of regularized characteristic function <math display="inline">\tilde{\chi }_{m}</math>, can be seen as a replacement of the black-white element by a gray element. More specifically, the material properties of the interface element is taken as a combination of the material properties of the strong and the weak material. Consequently, the interface element can be interpreted as an homogenized RVE with fraction volume <math display="inline">\tilde{\chi }_{m}</math>. This is, in fact, the approach widely used by ''Allaire'' and co-workers in the reference book <span id='citeF-3'></span>[[#cite-3|[3]]] for solving the topology optimization problem. Nevertheless, in that case, the regularized characteristic function is defined over all the domain. In order to avoid large gray areas, sophisticated techniques, like the perimeter constraint, must be considered in the homogenization approach. In contrast, we make use of the mixed formulation (or homogenization) only on the interface, with the advantage of getting black-white topologies in the major part of the elements and gray only in the interface elements <math display="inline">T_{k}^{\Gamma }</math>. Thus, the proposed mixed formulation approach can be understood as a combination of the topological derivative approach on the domain and the homogenization approach on the interface.
With this homogenization technique, the interface elements have fictitious properties and no more purely black-and-white problems holds. However, two different compelling arguments encourage its use. On the one hand, from the physical point of view, the fictitious material with constitutive tensor <math display="inline">\mathbb{C}^{\Gamma }</math> can be interpreted as an homogenization of a micro-structure with fraction volume <math display="inline">\tilde{\chi }</math> when Taylor boundary conditions are applied. See the multiscale sub-section [[#2.1.3 Micro-scale equilibrium equation and boundary conditions|2.1.3]] for further information. Thus, the regularized constitutive tensor corresponds to the homogenized constitutive tensor, i.e, <math display="inline">\mathbb{C}^{\Gamma }=\mathbb{C}^{h}</math>, which can be understood in physical terms. On the other hand, from the numerical point of view, since the homogenization is only applied on the interface, as the mesh becomes finner, the gray interface measure tends to zero.
====Connection between the Mixed formulation with the SIMP method====
In addition, at this point, it is possible to relate the mixed formulation with the popular SIMP method. Instead of relating the regularized constitutive tensor <math display="inline">\mathbb{C}^{\Gamma }</math> with the regularized characteristic function <math display="inline">\tilde{\chi }_{m}</math> linearly, as stated in equation ([[#eq-3.84|3.84]]), a polynomial relation can be used. Following the notation of ''Sigmund'' book <span id='citeF-1'></span>[[#cite-1|[1]]], it is expressed as
<span id="eq-3.102"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathbb{C}^{\Gamma }=\tilde{\chi }_{m}^{p}\mathbb{C}^{+}+(1-\tilde{\chi }_{m}^{p})\mathbb{C}^{-} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.102)
|}
where the heuristic penalization parameter is usually set to <math display="inline">p=3</math>.
From the physical point of view, the SIMP method does not always fulfill the Hashim-Strikman bounds <span id='citeF-1'></span>[[#cite-1|[1]]] and, consequently, the regularized constitutive tensor <math display="inline">\mathbb{C}^{\Gamma }</math> can not be interpreted always as a homogenized constitutive tensor <math display="inline">\mathbb{C}^{\Gamma }\ne \mathbb{C}^{h}</math>.
===3.4.3 Treatment of the cost function and the topological derivative on the interface===
At this point, the following question arises: ''how does the Mixed formulation affects the optimization problem, and more specifically, the cost and the gradient?''
==Implications of the mixed formulation on the cost function==
Regarding the cost function <math display="inline">\mathcal{J}</math>, we examine the implications of the mixed formulation when considering the compliance function. It can usually be written as the work produced by the external forces, i.e.,
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathcal{J}={\displaystyle \int }_{\Gamma _{N}}f\tilde{u}={\displaystyle \int }_{\Omega }\nabla ^{s}\tilde{u}:\mathbb{\tilde{\mathbb{C}}}:\nabla ^{s}\tilde{u}, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.103)
|}
where the displacements <math display="inline">\tilde{u}\in H_{0}^{1}(\Omega )</math> are the solution of the standard equilibrium equation
<span id="eq-3.104"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>{\displaystyle \int }_{\Gamma _{N}}fv={\displaystyle {\displaystyle \int }}_{\Omega }\nabla ^{s}\tilde{u}:\mathbb{\tilde{\mathbb{C}}}:\nabla ^{s}v\quad \forall v\in H_{0}^{1}(\Omega ) </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.104)
|}
and <math display="inline">\tilde{\mathbb{C}}</math> represents the regularized constitutive tensor described in equation ([[#eq-3.62|3.62]]). Thus, the implications of the mixed formulation on the cost function rely completely on the behavior of the regularized constitutive tensor <math display="inline">\mathbb{C}^{\Gamma }</math> on the interface elements.
==Implications of the mixed formulation on the topological derivative==
In order to study the implications of the mixed formulation on the topological derivative, we first examine the stresses <math display="inline">\sigma </math>. To simplify the notation, let's define the averaging operator <math display="inline">s</math> as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>s(a^{+},a^{-},\tilde{\chi })=\tilde{\chi }a^{+}+(1-\tilde{\chi })a^{-} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.105)
|}
where <math display="inline">a^{+}</math>and <math display="inline">a^{-}</math> represent an arbitrary variable on the domain <math display="inline">\Omega ^{+}</math> and <math display="inline">\Omega ^{-}.</math> Note that, on the definition of the regularized constitutive tensor on the interface, the operator <math display="inline">s</math> has already been used as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathbb{C}^{\Gamma }=s(\mathbb{C}^{+},\mathbb{C}^{-},\tilde{\chi }). </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.106)
|}
In addition, it can be observed that when the two first variables are equal, the averaging operator becomes the identity operator. This occurs in the case of the strains since they are constant in each element, that is
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>s(\nabla ^{s}u,\nabla ^{s}u,\tilde{\chi })=\tilde{\chi }\nabla ^{s}u+(1-\tilde{\chi })\nabla ^{s}u=\nabla ^{s}u. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.107)
|}
Thus, the stresses on the interface are be computed as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\sigma ^{\Gamma }=s(\mathbb{C}^{+}:\nabla ^{s}u,\mathbb{C}^{-}:\nabla ^{s}u,\tilde{\chi })=s(\mathbb{C}^{+},\mathbb{C}^{-},\tilde{\chi }):\nabla ^{s}u=\mathbb{C}^{\Gamma }\nabla ^{s}u. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.108)
|}
Following the definition ([[#eq-3.62|3.62]]), the stresses over all the domain will be computed as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\tilde{\sigma }=\sigma ^{+}=\mathbb{C}^{+}:\nabla ^{s}u \hbox{ in }T_{k}^{+}</math>
|-
| style="text-align: center;" | <math> \sigma ^{-}=\mathbb{C}^{-}:\nabla ^{s}u \hbox{ in }T_{k}^{-}</math>
|-
| style="text-align: center;" | <math> \sigma ^{\Gamma }=\mathbb{C}^{\Gamma }:\nabla ^{s}u \hbox{ in }T_{k}^{\Gamma } </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.109)
|}
Note that, although the constitutive tensor is discontinuous inside the element, this formulation entails constant value of stresses inside the element. Bearing this in mind, we recall the standard expression, proposed in <span id='citeF-66'></span>[[#cite-66|[66]]], of the topological derivative:
<span id="eq-3.110"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>g=\sigma :\mathbb{P}:\nabla ^{s}u=\nabla ^{s}u:\mathbb{C}:\mathbb{P}:\nabla ^{s}u. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.110)
|}
In this last expression, dependency not only on the stresses <math display="inline">\sigma </math> but also on the polarization tensor <math display="inline">\mathbb{P}</math> are observed. Thus, following the regularization of the constitutive tensor <math display="inline">\mathbb{C}</math>, the polarization tensor can also be treated with the same operator <math display="inline">s(a^{+},a^{-},\chi )</math> in the interface. This leads to define the regularized polarization tensor as <math display="inline">\tilde{\mathbb{P}}</math> as <math display="inline">\mathbb{P}^{+}</math> in the elements <math display="inline">T_{k}^{+}</math>, <math display="inline">\mathbb{P}^{-}</math>in the elements <math display="inline">T_{k}^{+}</math> and <math display="inline">\mathbb{P}^{\Gamma }</math> in the elements <math display="inline">T_{k}^{\Gamma }</math>, i.e.,
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\tilde{\mathbb{P}}=\mathbb{P}^{+} \hbox{ in }T_{k}^{+},</math>
|-
| style="text-align: center;" | <math> \mathbb{P}^{-} \hbox{ in }T_{k}^{-},</math>
|-
| style="text-align: center;" | <math> \mathbb{P}^{\Gamma }=s(\mathbb{P}^{+},\mathbb{P}^{-},\chi ) \hbox{ in }T_{k}^{\Gamma }. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.111)
|}
Proceeding similarly, the regularized topological derivative <math display="inline">\tilde{g}</math>, which is also element-wise constant, is defined as follows
<span id="eq-3.112"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\tilde{g}=g^{+}=\sigma ^{+}:\mathbb{P}^{+}:\nabla ^{s}u \hbox{ in }T_{k}^{+},</math>
|-
| style="text-align: center;" | <math> g^{-}=\sigma ^{-}:\mathbb{P}^{-}:\nabla ^{s}u \hbox{ in }T_{k}^{-},</math>
|-
| style="text-align: center;" | <math> g^{\Gamma }=s(g^{+},g^{-},\tilde{\chi }) \hbox{ in }T_{k}^{\Gamma }. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.112)
|}
At this point, it is worth stressing the difference between computing first the topological derivative and then applying the regularization on the interface, with regularizing both the stresses <math display="inline">\tilde{\sigma }</math> and the polarization tensor <math display="inline">\tilde{\mathbb{P}}</math> and then computing the topological derivative. This difference only appears on the boundary and is written in mathematical terms as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>g^{\Gamma }=s(g^{+},g^{-},\tilde{\chi })\neq \sigma ^{\Gamma }:\mathbb{P}^{\Gamma }:\nabla ^{s}u=s(\sigma ^{+},\sigma ^{-},\tilde{\chi })s(\mathbb{P}^{+},\mathbb{P}^{-},\tilde{\chi }):\nabla ^{s}u. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.113)
|}
Since the topological derivative is the main ingredient of the optimization algorithm, it is convenient to be as accurate as possible on its computation. Thus, we choose for <math display="inline">g^{\Gamma }=s(g^{+},g^{-},\chi )</math>, instead of the described alternative, because it introduces only one regularization (instead of two).
For a better understanding, in Figure [[#img-14|14]], we show how the material properties <math display="inline">\mathbb{C}</math>, <math display="inline">\mathbb{P}</math> and <math display="inline">\rho </math> are evaluated in the interface elements <math display="inline">T_{k}^{\Gamma }</math>. When an element is cut by the level-set into two sub-domains (black and white), we apply the average operator to the material properties, and consequently, the black-and-white element becomes a regularized element (gray) with interpolated material properties.
<div id='img-14'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-BlackWhite2Gray.png|600px|The zero level-set line splits into two parts (a strong part in black and a weak part in white) the interface element Tₖ<sup>Γ</sup>. The material properties \mathbbC<sup>±</sup>, \mathbbP<sup>±</sup> and ρ<sup>±</sup> are regularized through an average operator s achieving intermediate values \mathbbC<sup>Γ</sup>, \mathbbP<sup>Γ</sup> and ρ<sup>Γ</sup> on the boundary. Thus, as a physical interpretation, the resulting gray element can be understood as a homogenization of an RVE with fraction volume ̃χ when applying Taylor boundary conditions.]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 14:''' The zero level-set line splits into two parts (a strong part in black and a weak part in white) the interface element <math>T_{k}^{\Gamma }</math>. The material properties <math>\mathbb{C}^{\pm }</math>, <math>\mathbb{P}^{\pm }</math> and <math>\rho ^{\pm }</math> are regularized through an average operator <math>s</math> achieving intermediate values <math>\mathbb{C}^{\Gamma }</math>, <math>\mathbb{P}^{\Gamma }</math> and <math>\rho ^{\Gamma }</math> on the boundary. Thus, as a physical interpretation, the resulting gray element can be understood as a homogenization of an RVE with fraction volume <math>\tilde{\chi }</math> when applying Taylor boundary conditions.
|}
In Table [[#table-3|3]], we summarize the values that the main variables of the topology optimization problem take in the strong material elements, in the weak material elements and in the interface elements.
{| class="floating_tableSCP wikitable" style="text-align: center; margin: 1em auto;min-width:50%;"
|+ style="font-size: 75%;" |<span id='table-3'></span>Table. 3 Summary of the practical treatment of the interface in topology optimization. The volume averaging operator <math>s(\cdot ,\cdot ,\tilde{\chi })</math>, with fraction volume on the element <math>\tilde{\chi }</math>, regularizes the corresponding discontinuous property on such element. The regularization of the constitutive tensor ''<math>\tilde{\mathbb{C}}</math>'' can be understood as an homogenization (with Taylor boundary conditions) of an RVE with fraction volume <math>\tilde{\chi }</math>, i.e. <math>\tilde{\mathbb{C}}=\mathbb{C}^{h}</math>.
|-
| colspan='1' style="border-right: 2px solid;border-left: 2px solid;border-right: 2px solid;" |
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\begin{array}{c} \hbox{Strong material}\\ \mbox{elements} \end{array}</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\begin{array}{c} \hbox{Weak material}\\ \mbox{elements} \end{array}</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\begin{array}{c} \hbox{Interface}\\ \mbox{elements} \end{array}</math>
|- style="border-top: 2px solid;"
| style="border-left: 2px solid;border-right: 2px solid;" | ''Constitutive tensor <math>\tilde{\mathbb{C}}</math>''
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\mathbb{C\hbox{+}}</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\mathbb{C}^{-}</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\mathbb{C}^{\Gamma }=s(\mathbb{C}^{+},\mathbb{C}^{-},\tilde{\chi })</math>
|- style="border-top: 2px solid;"
| style="border-left: 2px solid;border-right: 2px solid;" | ''Polarization tensor <math>\tilde{\mathbb{P}}</math>''
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\mathbb{P\hbox{+}}</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\mathbb{P}^{-}</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\mathbb{P}^{\Gamma }=s(\mathbb{C}^{+},\mathbb{C}^{-},\tilde{\chi })</math>
|- style="border-top: 2px solid;"
| style="border-left: 2px solid;border-right: 2px solid;" | ''Density <math>\tilde{\rho }</math>''
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\rho ^{+}</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\rho ^{-}</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\rho ^{\Gamma }=s(\rho ^{+},\rho ^{-},\tilde{\chi })</math>
|- style="border-top: 2px solid;"
| style="border-left: 2px solid;border-right: 2px solid;" | ''Displacement (with <math>\tilde{\mathbb{C}}</math>) ''
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\tilde{u}</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\tilde{u}</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\tilde{u}</math>
|- style="border-top: 2px solid;"
| style="border-left: 2px solid;border-right: 2px solid;" | ''Strains ''<math>\nabla ^{s}\tilde{u}</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\nabla ^{s}\tilde{u}</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\nabla ^{s}\tilde{u}</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\nabla ^{s}\tilde{u}</math>
|- style="border-top: 2px solid;"
| style="border-left: 2px solid;border-right: 2px solid;" | ''Stresses <math>\tilde{\sigma }</math>''
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\sigma ^{+}=\mathbb{C}^{+}:\nabla ^{s}u</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\sigma ^{-}=\mathbb{C}^{-}:\nabla ^{s}u</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\sigma ^{\Gamma }=s(\sigma ^{+},\mathbb{\sigma }^{-},\tilde{\chi })</math>
|- style="border-top: 2px solid;"
| style="border-left: 2px solid;border-right: 2px solid;" | ''Compliance'' ''' <math>f\tilde{u}</math>'''
| style="border-left: 2px solid;border-right: 2px solid;" | '''<math>f\tilde{u}</math>'''
| style="border-left: 2px solid;border-right: 2px solid;" | <math>f\tilde{u}</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>f\tilde{u}</math>
|- style="border-top: 2px solid;border-bottom: 2px solid;"
| style="border-left: 2px solid;border-right: 2px solid;" | ''Topological derivative ''<math>\tilde{g}</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\begin{array}{c} g^{+}=\sigma ^{+}:\mathbb{P}^{+}:\nabla ^{s}u\end{array}</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\begin{array}{c} g^{-}=\sigma ^{-}:\mathbb{P}^{-}:\nabla ^{s}u\end{array}</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>g^{\Gamma }=s(g^{+},g^{-},\tilde{\chi })</math>
|}
==3.5 Analysis of the ''Mixed formulation'' approach in topology optimization==
In order to show the numerical improvements of the ''Mixed formulation'' on the slerp algorithm, we present the following two numerical examples:
* A singular triangular element example to analyze the implications of the ''Mixed formulation'' on the regularized characteristic function.
* A full domain example to analyze the implications of the ''Mixed formulation'' on the cost function and the topological derivative.
===3.5.1 The mixed formulation approach in a single triangular element===
Let's consider the interface triangular element delimited by the nodes <math display="inline">x_{1}=(\sqrt{1-0.5^{2}},1.5)</math>, <math display="inline">x_{2}=(2+\sqrt{1-0.5^{2}},-0.5)</math> and <math display="inline">x_{3}=(0,0)</math> represented in Figure [[#img-13|13]].
The level-set function is defined in <math display="inline">\psi \in V_{1}</math> and its nodal values evolve following the given law
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\psi (x_{1})=\psi _{1}==t-1,\quad \psi (x_{2})=\psi _{2}=t-0.5\quad \hbox{and}\quad \psi (x_{3})=\psi _{3}=t </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.114)
|}
where <math display="inline">t\in [0,1]</math> represents the level-set evolving parameter. Note that, it fulfills <math display="inline">\psi (x_{3})\geq \psi (x_{2})\geq \psi (x_{1})</math>. By increasing parameter <math display="inline">t</math>, the different cases described in sub-section [[#3.4.2 Mixed formulation approach |3.4.2]] are retrieved. More specifically:
==Case A==
Imposing <math display="inline">t=0</math>, the condition <math display="inline">0\geq \psi (x_{3})\geq \psi (x_{2})\geq \psi (x_{1})</math> is fulfilled. In this case, since the level-set is all negative, the element is full of strong material.
==Case B==
The condition <math display="inline">\psi (x_{3})\geq{0}\geq \psi (x_{2})\geq \psi (x_{1})</math> is satisfied by means of considering <math display="inline">0<t\leq{0.5}</math>. In this case, an inner triangle of the weak material appears.
==Case C==
Considering <math display="inline">0.5<t\leq{1}</math>, the nodal level-set function satisfies <math display="inline">\psi (x_{3})\geq \psi (x_{2})\geq{0}\geq \psi (x_{1})</math>. In this case, an inner triangle of the strong material appears.
==Case D==
When <math display="inline">t=1</math>, the level-set function is full positive, i.e. <math display="inline">\psi (x_{3})\geq \psi (x_{2})\geq \psi (x_{1})\geq{0}</math> . In this case, the element is full of weak material.
The three different approaches (''In or Out'', ''<math>\mathbb{P}_{1}</math>-projection'' and ''Mixed formulation'') described in sub-section ([[#3.4.2 Mixed formulation approach |3.4.2]] ) are used to compute the corresponding characteristic functions on the interface (<math display="inline">\tilde{\chi }_{io}</math>, <math display="inline">\tilde{\chi }_{p}</math> and <math display="inline">\tilde{\chi }_{m}</math>). In Figure [[#img-15|15]], we represent the possible different characteristic functions when varying the evolving level-set parameter <math display="inline">t</math>.
<div id='img-15'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-TriLevelSetAdvancing.png|600px|Variation of the regularized characteristic function when varying the level-set function. The evolving level-set parameter t makes the level-set function evolve along the element leading to Cases A, B, C and D. The regularized characteristic function computed in this cases by the different approaches (In or Out ̃χ<sub>io</sub>, \mathbbP₁-projection ̃χₚ, Mixed Formulation ̃χₘ) is represented. The Mixed Formulation approach, in contrast to the others approaches, presents a continuous variation of the regularized characteristic function ̃χₘ when varying the level-set function ψ. ]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 15:''' Variation of the regularized characteristic function when varying the level-set function. The evolving level-set parameter <math>t</math> makes the level-set function evolve along the element leading to Cases A, B, C and D. The regularized characteristic function computed in this cases by the different approaches (In or Out <math>\tilde{\chi }_{io}</math>, <math>\mathbb{P}_{1}</math>-projection <math>\tilde{\chi }_{p}</math>, Mixed Formulation <math>\tilde{\chi }_{m}</math>) is represented. The Mixed Formulation approach, in contrast to the others approaches, presents a continuous variation of the regularized characteristic function <math>\tilde{\chi }_{m}</math> when varying the level-set function <math>\psi </math>.
|}
The ''In or Out ''approach, in comparison with the ''<math>\mathbb{P}_{1}</math>-projection ''approach, presents a more substantial discontinuity in the characteristic function when evolving the level-set function. However, in both approaches, the characteristic function behaves as a step function while the ''Mixed formulation'' presents a significant larger smoothness. Certainly, the proposed methodology allows obtaining a continuous variation of the characteristic function when evolving the level-set function.
===3.5.2 The mixed formulation approach in a full domain example===
Let's consider a <math display="inline">1</math>x<math display="inline">1</math> microscopic domain <math display="inline">\Omega _{\mu }</math> discretized with a regular mesh of <math display="inline">6400</math> triangle elements and the elastic parameters of the strong material defined as <math display="inline">E_{\mu }=1,</math> <math display="inline">\nu _{\mu }=0.3</math>. The weak material takes a factor <math display="inline">\gamma=0.001</math> of the Young modulus and the same Poisson ratio. The level-set function is parametrized evolving level-set parameter <math display="inline">t</math> as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\psi =\cos (\pi (x-x0))^{2}\cos (\pi (y-x0))^{2}-t </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.115)
|}
where <math display="inline">x_{0}=0.5</math> and <math display="inline">y_{0}=0.5</math> stand for the center of the circumference represented in Figure ([[#img-16|16]]).
<div id='img-16'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-LevelSetAdvancing.png|600px|Representation of the level-set evolution, up to the red line, on a micro-structure domain. The change of the compliance, volume and topological derivative (in the blue node) is analyzed when moving the level-set. ]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 16:''' Representation of the level-set evolution, up to the red line, on a micro-structure domain. The change of the compliance, volume and topological derivative (in the blue node) is analyzed when moving the level-set.
|}
The evolving level-set parameter takes values in <math display="inline">t\in [0.5-\epsilon ,0.5+\epsilon ]</math> where <math display="inline">\epsilon=2\cdot{10}^{-2}</math> and it is discretized in <math display="inline">100</math> intervals. The proposed evolution produces a change of the circumference radius <math display="inline">r</math> in the interval <math display="inline">r\in [0.25,0.257]</math>, large enough to advance up to more than an element.
The objective of the example is to examine how the ''Mixed formulation'' approach, in comparison with the ''In or Out'' and ''<math>\mathbb{P}_{1}</math>-projection'' approaches, affects the compliance, the volume and the topological derivative when evolving the level-set function.
Regarding the compliance, following equation (eq: compliance micro), it is defined as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathcal{J}(\tilde{\chi })=\sigma :\left(\mathbb{C}^{h}(\tilde{\chi })\right)^{-1}:\sigma </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.116)
|}
where the macroscopic stresses are taken as <math display="inline">\sigma =\bigl[\begin{array}{rcl} 0 & 0 & 1\end{array}\bigr]^{T}</math>. In Figure [[#img-17|17]], we can observe the different behavior between the compliance using the ''Mixed formulation'' approach <math display="inline">\mathcal{J}(\tilde{\chi }_{m})</math> and the compliance using the ''In or Out'' <math display="inline">\mathcal{J}(\tilde{\chi }_{io})</math> and ''<math>\mathbb{P}_{1}</math>-projection'' <math display="inline">\mathcal{J}(\tilde{\chi }_{p})</math> approaches. The ''Mixed formulation'' approach presents a continuous behavior whereas the ''In or Out'' and ''<math>\mathbb{P}_{1}</math>-projection'' approaches lead to discontinuities.
<div id='img-17'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-ComplianceVsRadiusMixedFormulation.png|600px|Compliance function change when evolving the level-set function. The compliance using the ''Mixed formulation'' approach \mathcalJ(̃χₘ) presents a continuous behavior whereas the compliance using the ''In or Out'' \mathcalJ(̃χ<sub>io</sub>) and ''\mathbbP₁-projection'' \mathcalJ(̃χₚ) approaches lead to discontinuities. ]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 17:''' Compliance function change when evolving the level-set function. The compliance using the ''Mixed formulation'' approach <math>\mathcal{J}(\tilde{\chi }_{m})</math> presents a continuous behavior whereas the compliance using the ''In or Out'' <math>\mathcal{J}(\tilde{\chi }_{io})</math> and ''<math>\mathbb{P}_{1}</math>-projection'' <math>\mathcal{J}(\tilde{\chi }_{p})</math> approaches lead to discontinuities.
|}
Regarding the volume, following equation ([[#eq-3.10|3.10]]), it is defined as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>V(\tilde{\chi })=\int _{\Omega _{\mu }}\tilde{\chi }. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.117)
|}
In Figure [[#img-18|18]], we can observe again that the volume using the ''Mixed formulation'' <math display="inline">V(\tilde{\chi }_{m})</math> behaves continuously whereas the volume using the ''In or Out'' <math display="inline">V(\tilde{\chi }_{io})</math> and ''<math>\mathbb{P}_{1}</math>-projection'' <math display="inline">V(\tilde{\chi }_{p})</math> lead to discontinuities.
<div id='img-18'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-VolumeVsRadiusMixedFormulation.png|600px|Volume function change when evolving the level-set function. The volume using the ''Mixed formulation'' approach V(̃χₘ) presents a continuous behavior whereas the volume using the ''In or Out'' V(̃χ<sub>io</sub>) and ''\mathbbP₁-projection'' V(̃χₚ) approaches lead to discontinuities. ]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 18:''' Volume function change when evolving the level-set function. The volume using the ''Mixed formulation'' approach <math>V(\tilde{\chi }_{m})</math> presents a continuous behavior whereas the volume using the ''In or Out'' <math>V(\tilde{\chi }_{io})</math> and ''<math>\mathbb{P}_{1}</math>-projection'' <math>V(\tilde{\chi }_{p})</math> approaches lead to discontinuities.
|}
Finally, the topological derivative of the compliance in the node marked in Figure ([[#img-16|16]]) is also considered. Following equation ([[#eq-3.112|3.112]]), it is defined in the ''Mixed formulation'' as
<span id="eq-3.118"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>g(\tilde{\chi }_{m})=g^{+}=\sigma _{\mu }^{+}:\mathbb{P}^{+}:\nabla ^{s}u_{\mu } \hbox{ in }T_{k}^{+},</math>
|-
| style="text-align: center;" | <math> g^{-}=\sigma _{\mu }^{-}:\mathbb{P}^{-}:\nabla ^{s}u_{\mu } \hbox{ in }T_{k}^{-},</math>
|-
| style="text-align: center;" | <math> g^{\Gamma }=s(g^{+},g^{-},\tilde{\chi }_{m}) \hbox{ in }T_{k}^{\Gamma }. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.118)
|}
and in the ''In or Out'' and ''<math>\mathbb{P}_{1}</math>-projection'' approach as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>g(\tilde{\chi }_{io})=\sigma (\tilde{\chi }_{io}):\mathbb{P}(\tilde{\chi }_{io}):\nabla ^{s}u\quad \hbox{and}\quad g(\tilde{\chi }_{p})=\sigma (\tilde{\chi }_{p}):\mathbb{P}(\tilde{\chi }_{p}):\nabla ^{s}u. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.119)
|}
Similarly, In Figure [[#img-18|18]], we can observe again that the topological derivative using the ''Mixed formulation'' <math display="inline">g(\tilde{\chi }_{m})</math> behaves continuously whereas the topological derivative using the ''In or Out'' <math display="inline">g(\tilde{\chi }_{io})</math> and ''<math>\mathbb{P}_{1}</math>-projection'' <math display="inline">g(\tilde{\chi }_{p})</math> lead to discontinuities.
<div id='img-19'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-GradientVsRadiusMixedFormulation.png|600px|Topological derivative change when evolving the level-set function. The topological derivative using the ''Mixed formulation'' approach g(̃χₘ) presents a continuous behavior whereas the topological derivative using the ''In or Out'' g(̃χ<sub>io</sub>) and ''\mathbbP₁-projection'' g(̃χₚ) approaches lead to discontinuities. ]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 19:''' Topological derivative change when evolving the level-set function. The topological derivative using the ''Mixed formulation'' approach <math>g(\tilde{\chi }_{m})</math> presents a continuous behavior whereas the topological derivative using the ''In or Out'' <math>g(\tilde{\chi }_{io})</math> and ''<math>\mathbb{P}_{1}</math>-projection'' <math>g(\tilde{\chi }_{p})</math> approaches lead to discontinuities.
|}
Thus, it seems that the improvements of the ''Mixed Formulation ''on the regularity of the characteristic function shown in the last single triangular element example result in a significant improvements on the regularity of the compliance, volume and topological derivative, evidenced in this full domain example.
==3.6 Element-to-node regularization of the topological derivative==
In the Augmented Lagrangian Slerp algorithm detailed in Algorithm [[#algorithm-1|1]], an inconsistency appears in the update of the level-set function in equation ([[#eq-3.33|3.33]]). According to expression ([[#eq-3.110|3.110]]), the topological derivative <math display="inline">g</math> depends directly on the stresses and strains, and consequently, is defined element-wise constant, this is, <math display="inline">g\in V_{0}</math>. Clearly, this kind of functions are not continuous <math display="inline">C(\Omega ,\mathbb{R}\hbox{)}</math> which is, in fact, the requirement for updating the level-set function <math display="inline">\psi </math>. Thus, updating the continuous level-set function can not be done by a combination of discontinuous element functions (<math display="inline">\mathbb{P}_{0}</math> Finite Element functions in this case). As a remedy, a element-to-nodal regularization is considered.
Following the reference <span id='citeF-79'></span>[[#cite-79|[79]]], it can be formulated in optimization terms as, find the unique <math display="inline">\hat{g}(x)\in V_{1}\subseteq C(\Omega ,\mathbb{R}\hbox{)}</math> such that it minimizes its difference with <math display="inline">g(x)\in \mathbb{V}_{0}\not \subseteq C(\Omega ,\mathbb{R}\hbox{)}</math> in <math display="inline">L^{2}</math> norm. More precisely,
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{cc}\underset{\hat{g}\in \mathbb{P}_{1}}{\hbox{minimize}} & \Pi (\hat{g})=\frac{1}{2}\left(\hat{g}-g,\hat{g}-g\right)_{L^{2}}.\end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.120)
|}
Imposing that the Gateaux derivative of the functional <math display="inline">\Pi (\hat{g})</math> on the <math display="inline">\eta \in \mathbb{P}_{1}</math> direction is zero, we obtain
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{rcl}\delta \Pi (\hat{g},\eta ) & = & \frac{1}{2}\left(\eta ,\hat{g}-g\right)_{L^{2}}+\frac{1}{2}\left(\eta{-}g,\hat{g}\right)_{L^{2}}\\ & = & \left(\eta ,\hat{g}-g\right)_{L^{2}}=0 \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.121)
|}
where we have taken advantage of the symmetry property of the scalar product. Thus,
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\left(\eta ,\hat{g}\right)_{L^{2}}=\left(\eta ,g\right)\quad \forall \eta \in \mathbb{P}_{1} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.122)
|}
The discrete form of the above equation can be rewritten as
<span id="eq-3.123"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\sum _{k=1}^{K}{\displaystyle \int _{T_{k}}}\eta \hat{g}^{h}=\sum _{k=1}^{K^{+}}{\displaystyle \int _{T_{k}}}\eta g^{h}=\sum _{k=1}^{K}{\displaystyle g^{h}\int _{T_{k}}}\eta </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.123)
|}
since the topological derivative <math display="inline">g_{h}</math> is element constant. Rewriting the discrete continuous topological derivative <math display="inline">\hat{g}^{h}</math> in terms of the basis function <math display="inline">N_{i}\in \mathbb{P}_{1}</math> , the <math display="inline">g^{h}</math> in terms of the basis <math display="inline">N_{k}^{0}\in \mathbb{P}_{0}</math> and taking <math display="inline">\eta </math> as all possible <math display="inline">N_{i}</math> basis function, equation ([[#eq-3.123|3.123]]) becomes
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\underbrace{\left(\sum _{k=1}^{K}{\displaystyle \int _{T_{k}}}N_{i}^{1}N_{j}^{1}\right)}_{M_{ij}}\hat{g}_{j}^{h}=\sum _{k=1}^{K}{\displaystyle g_{k}^{h}\int _{T_{k}}\underbrace{N_{k}^{0}}_{1}}N_{i}^{1}=\underbrace{\sum _{k=1}^{K}{\displaystyle g_{k}^{h}\int _{T_{k}}}N_{i}^{1}}_{F_{i}} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.124)
|}
which in matrix form is written as
<span id="eq-3.125"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>M_{ij}\hat{g}_{j}^{h}=F_{i}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.125)
|}
Note that the system of equation ([[#eq-3.125|3.125]]) has been solved by using the <math display="inline">L^{2}</math> norm. Considering the <math display="inline">H^{1}</math> norm is also possible. In practice, it consists on solving a similar system of equation by adding the stiffness matrix.
This element-to-nodal regularization has other names in the literature like least-square <math display="inline">L^{2}</math> projection <span id='citeF-79'></span>[[#cite-79|[79]]] or like Clément Finite Element interpolation <span id='citeF-80'></span>[[#cite-80|[80]]].
Although certain accuracy is lost due to the smoothing operator, the level-set updating of the slerp algorithm, described in equation equation ([[#eq-3.33|3.33]]), is now possible.
==3.7 Representative examples of the topological derivative for the macro-scale and the micro-scale==
Before plunging into the details of the multi-scale topological optimization problem and in order to show all the tools explained until now, we present some results of the topological derivative approach applied to the macroscopic and microscopic topology optimization problems. On the one hand, it shows the capacity of the method. On the other hand, we can observe the behavior of the slerp algorithm when using the ''Mixed formulation''.
===3.7.1 Representative macroscopic example===
As a representative macroscopic example, we focus on the Bridge example since it clearly shows the scope of the topology optimization techniques. In Figure [[#img-20|20]], it is represented, on the left, the model to be solved by the topology optimization algorithm and, on the right, a real case solution.
<div id='img-20'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-BridgeProblemReality.png|600px|Bridge topology optimization problem. On the left, sketch of the applied displacement boundary conditions and forces. On the right, inverted suspension bridge topology proposed by civil engineers after years of experience. ]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 20:''' Bridge topology optimization problem. On the left, sketch of the applied displacement boundary conditions and forces. On the right, inverted suspension bridge topology proposed by civil engineers after years of experience.
|}
Recalling the topology optimization problem, it is commonly stated on the macro-scale as
<span id="eq-3.126"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{cc}\underset{\chi }{\hbox{minimize}} & l(u_{\chi })\\ \hbox{ subjected to:} & \int _{\Omega }\chi{-}V=0. \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.126)
|}
where <math display="inline">\chi \in L^{\infty }(\Omega )</math> stands for the characteristic function and <math display="inline">u_{\chi }\in H_{0}^{1}(\Omega )</math> is the displacement solution of the bilinear form
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>a(u,v,\chi )=l(v)\quad \forall v\in H_{0}^{1}(\Omega ) </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.127)
|}
where the left and right hand side are given by
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>a(u,v,\chi )={\displaystyle {\displaystyle \int _{\Omega }}}\chi \nabla ^{s}u:\mathbb{C}:\nabla ^{s}u\quad \hbox{and}\quad l(v)={\displaystyle {\displaystyle \int _{\Gamma }fu}} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.128)
|}
where <math display="inline">f\in H^{-\frac{1}{2}}(\Gamma )</math> represents the external boundary forces.
According to Figure ([[#img-20|20]]), the high <math display="inline">H</math> and length <math display="inline">L</math> of the domain is set to <math display="inline">H=2</math> and <math display="inline">L=6</math>. It is discretized by means of an unstructured mesh of <math display="inline">19456</math> <math display="inline">\mathbb{P}_{\hbox{1}}</math> Finite Elements. The parameter <math display="inline">a</math>, <math display="inline">b</math> and <math display="inline">c</math> are taken as <math display="inline">a=0.3</math>, <math display="inline">b=0</math> and <math display="inline">c=1</math>. The distributed force <math display="inline">q</math> is taken unitary and the fraction volume <math display="inline">V=0.2</math>, the penalty parameter as <math display="inline">\rho=0.01</math> , the tolerance for the stopping criteria <math display="inline">\epsilon _{\theta }=1\hbox{º}</math> and the volume constraint tolerance <math display="inline">Tol<0.001</math>. Regarding the material properties, the elastic parameters are <math display="inline">E=1,</math> <math display="inline">\nu=0.3</math>, and the contrast parameter for the topological derivative is <math display="inline">\gamma=0.001.</math>
Figure [[#img-21|21]] shows different topologies obtained during the convergence process of the slerp algorithm. Certainly, the free-of-grays intermediate and final topologies evidence the suitability of using topological derivative in conjunction with a level-set function. In addition, the characteristic function presents no checkerboard instabilities.
<div id='img-21'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|
{| style="text-align: center; margin: 1em auto;min-width:50%;width:100%;"
|- style="border-top: 2px solid;"
| style="border-left: 2px solid;border-right: 2px solid;" | [[Image:draft_Samper_118254298-BridgeSimetric-1_macroNoir.png|300px|figures/BridgeSimetric-1_macroNoir]]
| style="border-left: 2px solid;border-right: 2px solid;" | [[Image:draft_Samper_118254298-BridgeSimetric-2_macro.png|300px|figures/BridgeSimetric-2_macro]]
| style="border-left: 2px solid;border-right: 2px solid;" | [[Image:draft_Samper_118254298-BridgeSimetric-3_macro.png|300px|figures/BridgeSimetric-3_macro]]
|- style="border-top: 2px solid;"
| style="border-left: 2px solid;border-right: 2px solid;" | Iteration 1
| style="border-left: 2px solid;border-right: 2px solid;" | Iteration 5
| style="border-left: 2px solid;border-right: 2px solid;" | Iteration 15
|- style="border-top: 2px solid;"
| style="border-left: 2px solid;border-right: 2px solid;" | [[Image:draft_Samper_118254298-BridgeSimetric-4_macro.png|300px|figures/BridgeSimetric-4_macro]]
| style="border-left: 2px solid;border-right: 2px solid;" | [[Image:draft_Samper_118254298-BridgeSimetric-5_macro.png|300px|figures/BridgeSimetric-5_macro]]
| style="border-left: 2px solid;border-right: 2px solid;" | [[Image:draft_Samper_118254298-BridgeSimetric-7_macro.png|300px|figures/BridgeSimetric-7_macro]]
|- style="border-top: 2px solid;border-bottom: 2px solid;"
| style="border-left: 2px solid;border-right: 2px solid;" | Iteration 35
| style="border-left: 2px solid;border-right: 2px solid;" | Iteration 70
| style="border-left: 2px solid;border-right: 2px solid;" | Iteration 130
|}
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 21:''' Bridge topology optimization problem. Topology representation of the initial, intermediate and final iterations. Note the similarity between the optimal topology computationally designed and the topology proposed by the industry (shown in Figure [[#img-20|20]]).
|}
It is remarkable how the topological optimization solution takes only few minutes by a standard PC and looks very similar to the one in Figure ([[#img-21|21]]).
===3.7.2 Representative microscopic examples===
Let's consider the micro-scale topology optimization problem as a second example to show the potential of the proposed methodology. The topology optimization problem is written as
<span id="eq-3.129"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{cc}\underset{\chi _{\mu }}{\hbox{minimize}} & \sigma :\mathbb{C}_{h}^{-1}(\chi _{\mu }):\sigma \\ \hbox{ subjected to:} & \int _{\Omega _{\mu }}\chi _{\mu }=V_{\mu } \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3.129)
|}
where <math display="inline">V_{\mu }</math> is the RVE solid-volume, <math display="inline">\sigma </math> stands for the given unit norm macroscopic stress tensor and <math display="inline">\mathbb{C}_{h}</math> is the homogenized constitutive tensor defined in equation ([[#eq-2.40|2.40]]).
As a matter of example, three different cases are computed. In all of them, the initial topology is selected as in <span id='citeF-27'></span>[[#cite-27|[27]]], the initial Lagrange multiplier is <math display="inline">\lambda _{0}=0</math>, the final solid-volume is <math display="inline">V_{\mu }=0.6</math>, the elastic parameters are <math display="inline">E_{\mu }=1,</math> <math display="inline">\nu _{\mu }=0.3</math>, the contrast parameter is <math display="inline">\gamma=0.001</math> and the penalty is chosen <math display="inline">\rho=1</math>. The RVE is selected squared and it is discretized by a structured mesh of <math display="inline">6400</math> <math display="inline">\mathbb{P}_{\hbox{1}}</math> Finite Elements. The algorithm stops when <math display="inline">\epsilon _{\theta }<1^{o}</math> and the volume constraint tolerance <math display="inline">Tol<0.001</math>. The following three cases are studied (in Voight notation):
* Uni-axial horizontal stress-state: <math display="inline">\sigma =\bigl[\begin{array}{rcl} 1 & 0 & 0\end{array}\bigr]^{T}</math>
* Shear stress-state: <math display="inline">\sigma =\bigl[\begin{array}{rcl} 0 & 0 & 1\end{array}\bigr]^{T}</math>
* Bulk stress-state: <math display="inline">\sigma =\bigl[\begin{array}{rcl} 1 & 1 & 0\end{array}\bigr]^{T}</math>
The obtained optimal topologies are presented in Figure Horizontal, shear, bulk.
<div id='img-22a'></div>
<div id='img-22b'></div>
<div id='img-22'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-Figure4.png|600px|Horizontal, Shear and Bulk stress-state optimal RVE topologies]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 22:''' Horizontal, Shear and Bulk stress-state optimal RVE topologies
|}
The evolution of the compliance, the volume, the angle <math display="inline">\theta </math> and the Lagrange multiplier along the iterations are depicted in Figure F_obj,theta,lambda,volum for bulk, horiz, shear.
<div id='img-23a'></div>
<div id='img-23b'></div>
<div id='img-23c'></div>
<div id='img-23d'></div>
<div id='img-23e'></div>
<div id='img-23'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-CostMicros.png|600px|]]
|[[Image:draft_Samper_118254298-VolumeMicros.png|600px|]]
|-
|[[Image:draft_Samper_118254298-LambdaMicros.png|600px|]]
|[[Image:draft_Samper_118254298-thetaMicros.png|600px|Relevant information evolution along the iterative process]]
|- style="text-align: center; font-size: 75%;"
| colspan="2" | '''Figure 23:''' Relevant information evolution along the iterative process
|}
The presented curves show the standard behavior of the variables when solving a topology optimization problem.
Finally, in order to show the effect of the ''Mixed formulation'' on a real optimization example, we show in Figure ([[#img-24|24]]) the behavior of the cost function in terms of the line search parameter <math display="inline">\kappa </math> in the first iteration of the Shear case when <math display="inline">\lambda _{0}=8</math>.
<div id='img-24'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-Compliance_LineSearch.png|600px|]]
|[[Image:draft_Samper_118254298-Compliance_LineSearchZoom.png|600px|The ''Mixed formulation'', in comparison to ''In or Out'' and ''\mathbbP₁-projection'', does not add spurious local minima when determining the line search parameter κ]]
|- style="text-align: center; font-size: 75%;"
| colspan="2" | '''Figure 24:''' The ''Mixed formulation'', in comparison to ''In or Out'' and ''<math>\mathbb{P}_{1}</math>-projection'', does not add spurious local minima when determining the line search parameter <math>\kappa </math>
|}
Note that how the oscillations the ''In or Out'' and ''<math>\mathbb{P}_{1}</math>-projection ''introduce many local spurious minimums, making the line-search parameter difficult to determine.
In addition, as it has been mentioned before, the stopping criteria depends on the angle <math display="inline">\theta </math> and, in turn, in the parallelism between the level-set function <math display="inline">\psi </math> and the topological derivative <math display="inline">g</math>. Since the level-set function is defined continuously <math display="inline">\psi \in C(\Omega ,\mathbb{R})</math>, the discontinuity of the topological derivative when using the ''In or Out'' and ''<math>\mathbb{P}_{1}</math>-projection ''approaches introduces large values on the the angle <math display="inline">\theta </math>, and consequently, difficulties on convergence, specially in cases with large variations of the topology (Bulk case). In the literature, see <span id='citeF-49'></span>[[#cite-49|[49]]], this problem is alleviated by re-meshing. In contrast, the ''Mixed Formulation ''approach may obtain small values of the angle <math display="inline">\theta </math> with no use of re-meshing. It is worth stressing that, in comparison with re-meshing, the additional computational cost when using the ''Mixed Formulation ''approach is negligible, only simple operations of the nodal level-set values must be computed. From the computational point of view, this fact represents the main contribution of the ''Mixed Formulation'' approach.
==3.8 Summary and conclusions==
As a summary, we outline the main work of this chapter. We have first introduced the optimality conditions for the topology optimization problem. Then, we have described the topological derivative for the macro and micro-scale in the case of isotropic materials, its mathematical and physical interpretation and the algorithm that must be used for solving the topology optimization problem. In addition, we have proposed the ''Mixed formulation'' approach as an alternative procedure of the interface treatment. Two numerical tests have evidenced the improvement on the continuity of the topology optimization variables. Additionally, we have also described the element-to-nodal operator necessary for using the topology optimization algorithm. Finally, we have presented a macroscopic and a microscopic numerical examples in order to show the behavior of all the numerical tools explained in this chapter.
As a conclusion of this chapter, in view of the two numerical test (level-set advancing in a single triangle and level-set advancing in a micro-structure domain), we can conclude that with the ''Mixed formulation ,'' in comparison with the approaches presented in the literature, we have increased the regularity of the compliance, the volume and the topological derivative. As seen in Figure [[#img-24|24]], this progress translates into two advantages: on the one hand, the choice of the line search parameter is exempt of spurious local minimizers; on the other hand, in contrast to other works in the literature, the re-meshing technique is no longer necessary to reach the convergence criterion <math display="inline">\theta{<\epsilon}_{\theta }</math> . This fact represents the main contribution of this chapter. In addition, unlike the SIMP method, no additional parameter is required to solve the problem.
=4 Topological derivative extension to anisotropic elastic materials =
==4.1 Motivation ==
Topological asymptotic analysis allows obtaining an asymptotic expansion of a given shape functional when a geometrical domain is singularly perturbed. This perturbation can be materialized by the insertion of holes, inclusions, source-terms or even cracks. The main concept arising from this analysis is the topological derivative <span id='citeF-66'></span>[[#cite-66|[66]]]. This derivative measures the sensitivity of the shape functional with respect to the infinitesimal singular domain perturbation and it was rigorously introduced in <span id='citeF-81'></span>[[#cite-81|[81]]]. Since then, this concept has proven extremely useful in the treatment of a wide range of problems; see, for instance, <span id='citeF-82'></span><span id='citeF-83'></span><span id='citeF-84'></span><span id='citeF-85'></span><span id='citeF-86'></span><span id='citeF-87'></span><span id='citeF-88'></span><span id='citeF-89'></span>[[#cite-82|[82,83,84,85,86,87,88,89]]]. Concerning the theoretical development of the topological asymptotic analysis, besides the monograph <span id='citeF-66'></span>[[#cite-66|[66]]], the reader is referred to <span id='citeF-90'></span><span id='citeF-91'></span>[[#cite-90|[90,91]]].
In order to introduce these concepts, let us consider an open and bounded domain <math display="inline">\Omega \subset R^{2}</math>, see figure [[#img-25|25]], which is subject to a non-smooth perturbation confined in a small region <math display="inline">\omega _{\epsilon }(\widehat{x})=\widehat{x}+\epsilon \omega </math> of size <math display="inline">\epsilon </math>. Here, <math display="inline">\widehat{x}</math> is an arbitrary point of <math display="inline">\Omega </math> and <math display="inline">\omega </math> is a fixed domain of <math display="inline">R^{2}</math>. Then, we assume that a given shape functional <math display="inline">\mathcal{J}_{\epsilon }(\Omega )</math>, associated to the topologically perturbed domain, admits the following topological asymptotic expansion <span id='citeF-66'></span>[[#cite-66|[66]]]
<span id="eq-4.1"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathcal{J}_{\epsilon }(\Omega )=\mathcal{J}(\Omega )+f(\epsilon )D_{T}\mathcal{J}(\hat{x})+o(f(\epsilon ))\;, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.1)
|}
where <math display="inline">\mathcal{J}(\Omega )</math> is the shape functional associated to the unperturbed domain and <math display="inline">f(\epsilon )</math> is a positive function such that <math display="inline">f(\epsilon )\rightarrow{0}</math> when <math display="inline">\epsilon \rightarrow{0}^{+}</math>. The function <math display="inline">\widehat{x}\mapsto D_{T}\mathcal{J}(\hat{x})</math> is termed the topological derivative of <math display="inline">\mathcal{J}</math> at <math display="inline">\widehat{x}</math>. Therefore, the term <math display="inline">f(\epsilon )D_{T}\mathcal{J}(\hat{x})</math> represents a first order correction of <math display="inline">\mathcal{J}(\Omega )</math> to approximate <math display="inline">\mathcal{J}_{\epsilon }(\Omega )</math> in <math display="inline">\widehat{x}</math>. In this work, the singular perturbation is characterized by a circular disc, denoted <math display="inline">B_{\epsilon }</math>, with boundary <math display="inline">\partial B_{\epsilon }</math> and different constitutive properties, see figure [[#img-25|25]]. <div id='img-25'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:Draft_Samper_118254298_2192_Figure25.png|300px|Topological derivative concept.]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 25:''' Topological derivative concept.
|}
From ([[#eq-4.1|4.1]]), we obtain the standard definition of the topological derivative by passing to the limit <math display="inline">\epsilon \rightarrow{0}^{+}</math>:
<span id="eq-4.2"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>D_{T}\mathcal{J}(\hat{x})=\lim _{\epsilon \rightarrow{0}^{+}}\frac{\mathcal{J}_{\epsilon }(\Omega )-\mathcal{J}(\Omega )}{f(\epsilon )}\;. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.2)
|}
Notice that, since we are dealing with singular domain perturbations, the shape functionals <math display="inline">\mathcal{J}_{\epsilon }(\Omega )</math> and <math display="inline">\mathcal{J}(\Omega )</math> are associated to topologically different domains. Therefore, the above limit is not trivial to be calculated. In particular, we need to perform an asymptotic analysis of the shape functional <math display="inline">\mathcal{J}_{\epsilon }(\Omega )</math> with respect to the small parameter <math display="inline">\epsilon </math>, i.e. we need information of <math display="inline">\mathcal{J}_{\epsilon }(\Omega )</math> when <math display="inline">\epsilon \rightarrow{0}^{+}</math>. As it was introduced in chapter [[#3 Topological derivative and topology optimization|3]], the shape functional difference ([[#eq-4.2|4.2]]) depends on the polarization tensor, which is considered a fundamental concept on the topological derivative topic. This tensor, also known in the literature as ''Pólya-Szegö polarization tensor'', arises from the asymptotic analysis in singularly perturbed geometrical domains <span id='citeF-92'></span>[[#cite-92|[92]]]. This mathematical concept permits to write an asymptotic expansion of the shape functional <math display="inline">\mathcal{J}_{\epsilon }(\Omega )</math> by means of functions evaluated in the unperturbed domain <math display="inline">\Omega </math> (without considering <math display="inline">B_{\epsilon }</math>). The polarization tensor is characterized by a matrix – ''polarization matrix'' – depending only on the constitutive properties of the problem and the shape of the singular domain perturbation <span id='citeF-93'></span>[[#cite-93|[93]]].
The topological derivative, in its closed form, has been fully developed for a wide range of physical phenomena, most of them, when considering homogeneous and isotropic constitutive behaviors. In fact, only a few works dealing with heterogeneous and anisotropic material behavior can be found in the literature, and, in general, the derived formulas are given in an abstract form (see, for instance, <span id='citeF-90'></span>[[#cite-90|[90]]]). Closed and analytical forms for this kind of constitutive behavior have been only developed for heat diffusion problems (see <span id='citeF-94'></span><span id='citeF-95'></span><span id='citeF-96'></span><span id='citeF-81'></span>[[#cite-94|[94,95,96,81]]]). For anisotropic elasticity, the existence and properties of the polarization tensor was studied in <span id='citeF-97'></span><span id='citeF-98'></span>[[#cite-97|[97,98]]]. However, the polarization tensor is given again in an abstract form. A technique for the numerical evaluation of the polarization tensor is presented in <span id='citeF-99'></span>[[#cite-99|[99]]].
In what follows, we derive the topological derivative in its closed form for the total potential energy, i.e, the compliance, associated to an anisotropic and heterogeneous elasticity problem. We assume as singular perturbation a small circular inclusion introduced at an arbitrary point of the domain. The constitutive properties of the small disc are also anisotropic and different from the elasticity properties of the matrix. In addition, we provide a full mathematical justification of the derived formula, and develop precise estimates for the remainders of the topological asymptotic expansion.
Bearing this in mind, the heterogeneous anisotropic topological derivative concept, can be applied in advanced technological research areas such as topology and structural optimization simultaneously combined with topological material-design. In fact, in multi-scale modeling, for a given microstructure the homogenized constitutive response is, in general, anisotropic. In addition, since in each macroscopical structural point we have a different microstructure, the constitutive homogenized response at the macro-scale varies from point to point, i.e., it is heterogeneous. Therefore, for a correct evaluation of the topological sensitivity in a structural optimization problem, a derivative (the topological derivative) for an anisotropic and heterogeneous constitutive behavior is needed.
==4.2 Problem formulation==
The topological asymptotic analysis of the total potential energy associated to an anisotropic and heterogeneous elasticity problem is calculated. Thus, the unperturbed shape functional is defined as:
<span id="eq-4.3"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathcal{J}(\Omega )=\frac{1}{2}\int _{\Omega }\sigma (u)\cdot \nabla ^{s}u+\int _{\Gamma _{N}}\bar{t}\cdot u\;, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.3)
|}
where the Cauchy stress tensor <math display="inline">\sigma (u)</math> is defined as usual:
<span id="eq-4.4"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\sigma (\xi ):=\mathbb{C}\nabla ^{s}\xi \;. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.4)
|}
Note that the compliance differs from the total potential energy by a <math display="inline">\frac{1}{2}</math> factor. Instead of the compliance, the total potential energy has been preferred to consider since it is more in accordance with the shape functional described in work <span id='citeF-66'></span>[[#cite-66|[66]]].
In the above equations, <math display="inline">\mathbb{C}=\mathbb{C}(x)</math> is a symmetric fourth order elasticity tensor, <math display="inline">\nabla ^{s}</math> is used to denote the symmetric part of the gradient operator <math display="inline">\nabla </math> and <math display="inline">u</math> is the displacement field, solution of the following variational problem: find the field <math display="inline">u\in \mathcal{U}</math>, such that
<span id="eq-4.5"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\int _{\Omega }\sigma (u)\cdot \nabla ^{s}\eta{+\int}_{\Gamma _{N}}\bar{t}\cdot \eta=0\qquad \forall \eta \in \mathcal{V}\;. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.5)
|}
In the variational problem ([[#eq-4.5|4.5]]) the space <math display="inline">\mathcal{U}</math> of admissible functions and the space <math display="inline">\mathcal{V}</math> of admissible variations are given by
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathcal{U}:=\left\{\phi \in H^{1}(\Omega ;R^{2}):\phi |_{\Gamma _{D}}=\bar{u}\right\}\quad \hbox{and}\quad \mathcal{V}:=\left\{\phi \in H^{1}(\Omega ;R^{2}):\phi |_{\Gamma _{D}}=0\right\}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.6)
|}
In addition, <math display="inline">\partial \Omega =\overline{\Gamma _{N}\cup \Gamma _{D}}</math> with <math display="inline">\Gamma _{N}\cap \Gamma _{D}=\varnothing </math>, where <math display="inline">\Gamma _{N}</math> and <math display="inline">\Gamma _{D}</math> are Neumann and Dirichlet boundaries, respectively. Thus, <math display="inline">\bar{u}</math> is a Dirichlet data on <math display="inline">\Gamma _{D}</math> and <math display="inline">\bar{t}</math> is a Neumann data on <math display="inline">\Gamma _{N}</math>, both assumed to be smooth enough, see Figure [[#img-26|26]]. <div id='img-26'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:Draft_Samper_118254298_8095_Figure26.png|340px|Description of the problem.]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 26:''' Description of the problem.
|}
On the other hand, for our specific case, we consider a perturbation on the domain given by the nucleation of a small circular inclusion with constitutive properties given by a constant elastic tensor <math display="inline">\mathbb{C}^{\star }</math>. Therefore, the perturbed shape functional can be written as:
<span id="eq-4.7"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathcal{J}_{\epsilon }(\Omega )=\frac{1}{2}\int _{\Omega }\sigma _{\epsilon }(u_{\epsilon })\cdot \nabla ^{s}u_{\epsilon }+\int _{\Gamma _{N}}\bar{t}\cdot u_{\epsilon }\;, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.7)
|}
where the stress tensor associated to he perturbed configuration is defined as:
<span id="eq-4.8"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\sigma _{\epsilon }(\xi ):=\mathbb{C}_{\epsilon }\nabla ^{s}\xi{.} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.8)
|}
Here, we consider that the inclusion is made of a completely different material. Then, the elasticity tensor <math display="inline">\mathbb{C}_{\epsilon }</math> can be written as follows
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathbb{C}_{\epsilon }:=\left\{\begin{array}{lcl}\mathbb{C} & \hbox{ in} & \Omega \setminus \overline{B_{\epsilon }}\\ \mathbb{C}^{\star } & \hbox{ in} & B_{\epsilon } \end{array}\right.. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.9)
|}
In addition, in ([[#eq-4.7|4.7]]) the function <math display="inline">u_{\epsilon }</math> is solution of the following variational problem:
Find the field <math display="inline">u_{\epsilon }\in \mathcal{U}_{\epsilon }</math>, such that
<span id="eq-4.10"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\int _{\Omega }\sigma _{\epsilon }(u_{\epsilon })\cdot \nabla ^{s}\eta{+\int}_{\Gamma _{N}}\bar{t}\cdot \eta=0\qquad \forall \eta \in \mathcal{V}_{\epsilon }\;, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.10)
|}
and both the set <math display="inline">\mathcal{U}_{\epsilon }</math> and the space <math display="inline">\mathcal{V}_{\epsilon }</math> are defined as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathcal{U}_{\epsilon }:=\left\{\phi \in \mathcal{U}:\lbrack\lbrack\phi \rbrack\rbrack\hbox{ on }\partial B_{\epsilon }\right\}\quad \hbox{and}\quad \mathcal{V}_{\epsilon }:=\left\{\phi \in \mathcal{V}:\lbrack\lbrack\phi \rbrack\rbrack\hbox{ on }\partial B_{\epsilon }\right\}, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.11)
|}
where we use <math display="inline">\lbrack\lbrack(\cdot )\rbrack\rbrack</math> to denotes the ''jump ''of function <math display="inline">(\cdot )</math> across the boundary <math display="inline">\partial B_{\epsilon }</math>. Note that the domain <math display="inline">\Omega </math> is topologically perturbed by the introduction of an inclusion <math display="inline">B_{\epsilon }(\widehat{x})</math> with complete different elastic constitutive properties (and in general anisotropic).
==4.3 Topological derivative==
Let us begin by choosing as admissible test function in problems ([[#eq-4.5|4.5]]) and ([[#eq-4.10|4.10]]), the function <math display="inline">\eta =u_{\epsilon }-u</math>. Then, we obtain as a consequence the following expressions
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\int _{\Omega }\sigma (u)\cdot \nabla ^{s}u = \int _{\Omega }\sigma (u_{\epsilon })\cdot \nabla ^{s}u+\int _{\Gamma _{N}}\bar{t}(u_{\epsilon }-u),</math>
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.12)
|-
| style="text-align: center;" | <math> \int _{\Omega }\sigma _{\epsilon }(u_{\epsilon })\cdot \nabla ^{s}u_{\epsilon } = \int _{\Omega }\sigma _{\epsilon }(u_{\epsilon })\cdot \nabla ^{s}u-\int _{\Gamma _{N}}\bar{t}(u_{\epsilon }-u). </math>
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.13)
|}
|}
Therefore, the shape functionals ([[#eq-4.3|4.3]]) and ([[#eq-4.7|4.7]]) can be written as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathcal{J}(\Omega ) = \frac{1}{2}\int _{\Omega }\sigma (u_{\epsilon })\cdot \nabla ^{s}u+\frac{1}{2}\int _{\Gamma _{N}}\bar{t}(u_{\epsilon }+u),</math>
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.14)
|-
| style="text-align: center;" | <math> \mathcal{J}_{\epsilon }(\Omega ) = \frac{1}{2}\int _{\Omega }\sigma _{\epsilon }(u_{\epsilon })\cdot \nabla ^{s}u+\frac{1}{2}\int _{\Gamma _{N}}\bar{t}(u_{\epsilon }+u). </math>
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.15)
|}
|}
By considering the above results, the difference of the shape functionals <math display="inline">\mathcal{J}_{\epsilon }(\Omega )</math> and <math display="inline">\mathcal{J}(\Omega )</math> reads
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathcal{J}_{\epsilon }(\Omega )-\mathcal{J}(\Omega )=\frac{1}{2}\int _{\Omega }\sigma _{\epsilon }(u_{\epsilon })\cdot \nabla ^{s}u-\frac{1}{2}\int _{\Omega }\sigma (u_{\epsilon })\cdot \nabla ^{s}u. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.16)
|}
Taking into account the definitions of the perturbed elasticity tensor <math display="inline">\mathbb{C}_{\epsilon }</math> and perturbed stress tensor, we have that the difference of the total potential energy is given by an integral concentrated in the inclusion <math display="inline">B_{\epsilon }</math>, namely
<span id="eq-4.17"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathcal{J}_{\epsilon }(\Omega )-\mathcal{J}(\Omega )=\frac{1}{2}\int _{B_{\epsilon }}\Delta \mathbb{C}(\mathbb{C}^{\star })^{-1}\sigma _{\epsilon }(u_{\epsilon })\cdot \nabla ^{s}u, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.17)
|}
with <math display="inline">\Delta \mathbb{C}:=\mathbb{C}^{\star }-\mathbb{C}</math>.
Let us assume that the elasticity tensor <math display="inline">\mathbb{C}(x)</math> is smooth enough such that it admits an expansion in Taylor series around the point <math display="inline">\widehat{x}</math> of the form <math display="inline">\mathbb{C}(x)=\mathbb{C}(\widehat{x})+\nabla \mathbb{C}(\zeta )(x-\widehat{x})</math>, where <math display="inline">\zeta \in (x,\widehat{x})</math>. Now, in order to analytically solve the integral ([[#eq-4.17|4.17]]), we introduce the following ansatz proposed in <span id='citeF-100'></span>[[#cite-100|[100]]] for the solution associated to the perturbed problem <math display="inline">u_{\epsilon }</math>:
<span id="eq-4.18"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>u_{\epsilon }(x)=u(x)+\epsilon w(x/\epsilon )+\widetilde{u}_{\epsilon }(x), </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.18)
|}
where the function <math display="inline">w(y)</math> is the solution of the following exterior problem independent of the small parameter <math display="inline">\epsilon </math>
<span id="eq-4.19"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\left\{\begin{array}{rlcl}\mathrm{div}\left(\sigma _{\epsilon }(w)\right)& =0 & \hbox{ in} & R^{2}\\ \sigma _{\epsilon }(w) & =\mathbb{C}_{\epsilon }(\widehat{x})\nabla ^{s}w\\ w & \rightarrow{0} & \hbox{ at} & \infty \\ \lbrack\lbrack w\rbrack\rbrack & =0 & \hbox{ on} & \partial B_{1}\\ \lbrack\lbrack\sigma _{\epsilon }(w)\rbrack\rbrack n & =-\mathbb{S}\sigma (u)(\widehat{x})n & \hbox{ on} & \partial B_{1} \end{array}\right., </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.19)
|}
where <math display="inline">\mathbb{S}:=\mathbb{I}-\mathbb{C}^{\star }\mathbb{C}^{-1}</math>, <math display="inline">\mathbb{I}</math> denote the fourth-order identity tensor and it was used the change of variable <math display="inline">x=\epsilon y</math>. The remainder <math display="inline">\widetilde{u}_{\epsilon }</math> in ([[#eq-4.18|4.18]]) must satisfy the following equation:
<span id="eq-4.20"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\left\{\begin{array}{rlcl}\mathrm{div}(\sigma _{\epsilon }(\widetilde{u}_{\epsilon })) & =\epsilon \mathrm{div}(\nabla \mathbb{C}_{\epsilon }(\zeta )(x-\widehat{x})\nabla ^{s}w) & \hbox{ in} & \Omega \\ \widetilde{u}_{\epsilon } & =-\epsilon w & \hbox{ on} & \Gamma _{D}\\ \sigma (\widetilde{u}_{\epsilon })n & =-\epsilon \sigma (w)n & \hbox{ on} & \Gamma _{N}\\ \lbrack\lbrack\widetilde{u}_{\epsilon }\rbrack\rbrack & =0 & \hbox{ on} & \partial B_{\epsilon }\\ \lbrack\lbrack\sigma _{\epsilon }(\widetilde{u}_{\epsilon })\rbrack\rbrack n & =-\epsilon \lbrack\lbrack\left(\nabla \mathbb{C}_{\epsilon }\left(\zeta \right)n\right)\left(\nabla ^{s}u(\widehat{x})+\nabla ^{s}w\right)\rbrack\rbrack n & \hbox{ on} & \partial B_{\epsilon } \end{array}\right., </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.20)
|}
which has the following estimate <math display="inline">\| \widetilde{u}_{\epsilon }\| _{H^{1}(\Omega ;R^{2})}\leq C\epsilon </math>, with the constant <math display="inline">C</math> independent of <math display="inline">\epsilon </math> (see [[#4.4 Estimation of the remainders |4.4]]). The exterior problem ([[#eq-4.19|4.19]]) is solved explicitly in Appendices [[#7 Analytical solution of the isotropic exterior problem|7]] and [[#8 Analytical solution of the anisotropic exterior problem|8]] for the isotropic and anisotropic materials. Some details are also provided in Sections [[#4.3.1 Exterior problem for isotropic materials|4.3.1]] and [[#4.3.2 Exterior problem for anisotropic materials|4.3.2]]. From Appendices [[#7 Analytical solution of the isotropic exterior problem|7]] and [[#8 Analytical solution of the anisotropic exterior problem|8]], the stress tensor <math display="inline">\sigma _{\epsilon }(w)</math> inside the inclusion <math display="inline">B_{\epsilon }</math> can be written as:
<span id="eq-4.21"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\sigma _{\epsilon }(w)\vert _{B_{\epsilon }(\widehat{x})}=\mathbb{T}\sigma (u)(\widehat{x}), </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.21)
|}
where <math display="inline">\mathbb{T}:=-\mathbb{A}\mathbb{S}</math> and the fourth order tensor <math display="inline">\mathbb{A}</math> is determined again in Appendix [[#7 Analytical solution of the isotropic exterior problem|7]] and [[#8 Analytical solution of the anisotropic exterior problem|8]].
Taking into account ([[#eq-4.18|4.18]]), the difference of shape functionals ([[#eq-4.17|4.17]]) reads
<span id="eq-4.22"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathcal{J}_{\epsilon }(\Omega )-\mathcal{J}(\Omega )=\frac{1}{2}\int _{B_{\epsilon }}\Delta \mathbb{C}(\mathbb{C}^{\star })^{-1}(\sigma _{\epsilon }(u)+\sigma _{\epsilon }(w))\cdot \nabla ^{s}u+\mathcal{E}(\epsilon ), </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.22)
|}
where the term <math display="inline">\mathcal{E}(\epsilon )</math> is given by
<span id="eq-4.23"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathcal{E}(\epsilon )=\frac{1}{2}\int _{B_{\epsilon }}\Delta \mathbb{C}(\mathbb{C}^{\star })^{-1}\sigma _{\epsilon }(\widetilde{u}_{\epsilon })\cdot \nabla ^{s}u, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.23)
|}
which has the following estimate <math display="inline">\mathcal{E}(\epsilon )=o(\epsilon ^{2})</math> as shown in section [[#4.4 Estimation of the remainders |4.4]]. Next, by using the interior elliptic regularity of the function <math display="inline">u</math> in <math display="inline">B_{\epsilon }</math>, the difference of the shape functionals ([[#eq-4.22|4.22]]) satisfies the following identity:
<span id="eq-4.24"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathcal{J}_{\epsilon }(\Omega )-\mathcal{J}(\Omega )=\frac{1}{2}\int _{B_{\epsilon }}\Delta \mathbb{C}(\widehat{x})(\mathbb{C}^{\star })^{-1}(\sigma _{\epsilon }(u)(\widehat{x})+\sigma _{\epsilon }(w))\cdot \nabla ^{s}u(\widehat{x})+o(\epsilon ^{2}), </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.24)
|}
where the expansion of the tensor <math display="inline">\mathbb{C}(x)</math> has been used again.
With the use of ([[#eq-4.21|4.21]]) and the change of variables <math display="inline">x=\epsilon y</math> the above expression can be analytically solved leading to
<span id="eq-4.25"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathcal{J}_{\epsilon }(\Omega )-\mathcal{J}(\Omega )=\pi \epsilon ^{2}\mathbb{P}\sigma (u)(\widehat{x})\cdot \nabla ^{s}u(\widehat{x})+o(\epsilon ^{2}), </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.25)
|}
where <math display="inline">\mathbb{P}</math> can be recognized as the Pólya-Szegö polarization tensor, given explicitly by
<span id="eq-4.26"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathbb{P}=\frac{1}{2}\Delta \mathbb{C}(\widehat{x})[(\mathbb{C}(\widehat{x}))^{-1}+(\mathbb{C}^{\star })^{-1}\mathbb{T}]. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.26)
|}
Finally, using the definition ([[#eq-4.1|4.1]]) and taking <math display="inline">f(\epsilon )=|B_{\epsilon }|=\pi \epsilon ^{2}</math>, the topological derivative for the problem under consideration is given explicitly by
<span id="eq-4.27"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>D_{T}\mathcal{J}(\hat{x})=\mathbb{P}\sigma (u)(\widehat{x})\cdot \nabla ^{s}u(\widehat{x})\qquad \forall \widehat{x}\in \Omega{.} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.27)
|}
Note that this formula is general, in the sense that, it measures the sensitivity of the total potential energy when two materials with completely different constitutive tensors are considered. Also, the polarization tensor <math display="inline">\mathbb{P}</math> depends only of the constitutive tensors <math display="inline">\mathbb{C}(\widehat{x})</math> and <math display="inline">\mathbb{C}^{\star }</math>. This means that once defined <math display="inline">\mathbb{C}</math> and <math display="inline">\mathbb{C}^{\star }</math>, for the point <math display="inline">\widehat{x}</math>, the tensor <math display="inline">\mathbb{P}</math> can be easily obtained by computing the components of <math display="inline">\mathbb{A}</math>, see Appendices [[#7 Analytical solution of the isotropic exterior problem|7]] and [[#8 Analytical solution of the anisotropic exterior problem|8]], and consequently so is <math display="inline">\mathbb{T}</math>.
From the final expression of the polarization tensor associated to the anisotropic and heterogeneous elasticity problem [[#eq-4.26|4.26]], we can analyze the limit case when the inclusion becomes a hole by taking the limit when <math display="inline">\mathbb{C}^{\star }\rightarrow{0}</math>. On the other hand, if we can analyze the sensitivity to the introduction of a rigid inclusion, we need to take the limit when <math display="inline">\mathbb{C}^{\star }\rightarrow \infty </math>. It should be noted that both limits exist and they can be easily obtained.
===4.3.1 Exterior problem for isotropic materials===
Although the topological derivative for isotropic materials in 2D plane stress has been obtained in many works <span id='citeF-66'></span>[[#cite-66|[66]]], <span id='citeF-101'></span>[[#cite-101|[101]]], from our point of view, it is not fully explained and we miss the description of some steps. In addition, in some works <span id='citeF-66'></span>[[#cite-66|[66]]], the final expression is given by assuming that the Poisson ratio in the matrix and in the inclusion coincide. We present full steps of the procedure for computing the topological derivative and the closed expression for general values of the Poisson ratio. Similar expressions can be found in <span id='citeF-93'></span>[[#cite-93|[93]]] and <span id='citeF-102'></span>[[#cite-102|[102]]].
The aim and the key ingredient of obtaining the topological derivative lies on solving the following exterior problem
<span id="eq-4.28"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\left\{\begin{array}{rlcl}\mathrm{div}\left(\sigma _{\epsilon }(w)\right)& =0 & \hbox{ in} & R^{2}\\ \sigma _{\epsilon }(w) & =\mathbb{C}_{\epsilon }(\widehat{x})\nabla ^{s}w\\ w & \rightarrow{0} & \hbox{ at} & \infty \\ \lbrack\lbrack w\rbrack\rbrack & =0 & \hbox{ on} & \partial B_{1}\\ \lbrack\lbrack\sigma _{\epsilon }(w)\rbrack\rbrack n & =Sn & \hbox{ on} & \partial B_{1} \end{array}\right., </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.28)
|}
where <math display="inline">S</math> stands for an arbitrary second order tensor. According to ([[#eq-4.19|4.19]]), in our case, it becomes
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> S=\mathbb{S}\sigma (u). </math>
|}
|}
Note that, precisely, the aim of the work lies on determining the expression of the polarization tensor <math display="inline">\mathbb{P}.</math> In this section, we only give the necessary ingredients for computing the expression of the polarization tensor <math display="inline">\mathbb{P}</math>. In Appendix [[#7 Analytical solution of the isotropic exterior problem|7]], all the steps for solving the exterior problem ([[#eq-4.28|4.28]]) are described.
Defining the real adimensional numbers <math display="inline">d_{1}</math> and <math display="inline">d_{2}</math> in terms of the constitutive properties <math display="inline">E</math> and <math display="inline">\nu </math> (background material), and <math display="inline">E^{\star }</math> and <math display="inline">\nu ^{\star }</math> (inclusion) as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>d_{1}=\frac{1}{1+\frac{E(1-\nu ^{*})}{E^{*}(1-\nu )}}\qquad d_{2}=\frac{1}{1+\frac{E(1+\nu ^{*})}{E^{*}(3-\nu )}}, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.29)
|}
the matrix <math display="inline">A</math> can be written as follows
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>A_{i}=\frac{1}{2}\left[\begin{array}{ccc}-d_{1}-d_{2} & -d_{1}-d_{2} & 0\\ d_{2}-d_{1} & d_{2}-d_{1} & 0\\ 0 & 0 & -2d_{2} \end{array}\right]. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.30)
|}
The components of the matrix <math display="inline">A_{i}</math> are related to the components of the tensor <math display="inline">\mathbb{A}</math> by the standard contracted notation (or Voigt notation) using the following rules for replacing the subscript:
<span id="eq-4.31"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>11\rightarrow{1},\quad{22}\rightarrow{2}\quad \hbox{and}\quad{12}\rightarrow{3} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.31)
|}
After solving problem ([[#eq-4.28|4.28]]), see Appendix [[#7 Analytical solution of the isotropic exterior problem|7]], the stresses in the inclusion can be written, in terms of the tensor <math display="inline">S</math> and consequently in terms of the stresses in the unperturbed domain <math display="inline">\sigma (u)</math> as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \sigma _{\epsilon }(w)\vert _{B_{\epsilon }(\widehat{x})}=\mathbb{A}S=-A_{i}\mathbb{S}\sigma (u) </math>
|}
|}
where the fourth order tensor <math display="inline">\mathbb{S}</math> reads as
<span id="eq-4.32"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathbb{S}:=\mathbb{I}-\mathbb{C}^{\star }\mathbb{C}^{-1}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.32)
|}
In view of the symmetries of <math display="inline">\sigma _{\epsilon }(w)</math> and <math display="inline">S</math>, the tensor <math display="inline">\mathbb{A}</math> enjoys the following symmetry properties:
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathbb{A}_{ijkl}=\mathbb{A}_{jikl}\quad \hbox{and}\quad \mathbb{A}_{ijkl}=\mathbb{A}_{ijlk}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.33)
|}
Finally, after defining the fourth order tensor <math display="inline">\mathbb{T}</math> as
<span id="eq-4.34"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathbb{T}=A_{i}\mathbb{S} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.34)
|}
we can, precisely, obtain the polarization tensor of equation [[#eq-4.26|4.26]] for plane stress as the following fourth-order isotropic polarization tensor:
<span id="eq-4.35"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathbb{P}=-\frac{1}{2}\frac{1}{\beta \gamma{+\tau}_{1}}\left[(1+\beta )(\tau _{1}-\gamma )\mathbb{I}+\frac{1}{2}(\alpha{-\beta})\frac{\gamma (\gamma{-2}\tau _{3})+\tau _{1}\tau _{2}}{\alpha \gamma{+\tau}_{2}}(I\otimes I)\right], </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.35)
|}
where
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\alpha =\frac{1+\nu }{1-\nu },\,\beta =\frac{3-\nu }{1+\nu },\,\gamma =\frac{E^{\star }}{E\quad \quad },\, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.36)
|}
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\tau _{1}=\frac{1+\nu ^{\star }}{1+\nu \quad \quad },\,\tau _{2}=\frac{1-\nu ^{\star }}{1-\nu \quad \quad }\quad \hbox{and}\quad \tau _{3}=\frac{\nu ^{\star }(3\nu{-4)}+1}{\nu (3\nu{-4)}+1}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.37)
|}
Note that, by considering <math display="inline">\nu ^{\star }=\nu </math>, the parameters <math display="inline">\tau _{i}=1</math> (with <math display="inline">i=1..3</math>), expression ([[#eq-4.35|4.35]]) becomes the polarization tensor for isotropy elasticity widely used in structural topological design <span id='citeF-66'></span>[[#cite-66|[66]]].
As a remark, in order to recover the standard topology optimization problem, the material parameters of the strong domain <math display="inline">\Omega ^{+}</math> are denoted by <math display="inline">E^{+}</math> and <math display="inline">\nu ^{+}</math> and the parameters of the weak domain <math display="inline">\Omega ^{-}</math> are commonly considered as <math display="inline">E^{-}=\gamma _{0}E^{+}</math> and <math display="inline">\nu ^{-}=\nu ^{+}</math>, where <math display="inline">\gamma _{0}</math> stands for the jump of stiffness. Thus, we consider two scenarios: first, considering an inclusion of the weak material (or void) inserted in the strong material (<math display="inline">x\in \Omega ^{+}</math>) and the second one when an inclusion of the strong material appears in the weak material (<math display="inline">x\in \Omega ^{-}</math>). Consequently, rewriting the polarization tensor as <math display="inline">\mathbb{P=\mathbb{P}}(\alpha ,\beta ,\gamma ,\tau _{\hbox{1}},\tau _{\hbox{2}},\tau _{3})</math>, both cases enjoy the following properties
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathbb{P}=\begin{array}{ccc}\mathbb{P}^{+}= & \mathbb{P}(\alpha ,\beta ,\gamma _{0},1,1,1) & x\in \Omega ^{+}\\ \mathbb{P}^{-}= & \mathbb{P}(\alpha ,\beta ,\frac{1}{\gamma _{0}},1,1,1) & x\in \Omega ^{-}. \end{array}</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.38)
|}
Note that <math display="inline">\gamma _{0}>0</math> is a parameter small enough for modeling a void and large enough to entail invertibility properties to the stiffness matrix. Typically, <math display="inline">\gamma _{0}=10^{-3}.</math>
===4.3.2 Exterior problem for anisotropic materials===
In the case of anisotropic materials, a part from the work <span id='citeF-99'></span>[[#cite-99|[99]]], there are no references that address the computation of the topological derivative closed-form. Similarly to the isotropic materials, we have to solve the following exterior problem
<span id="eq-4.39"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\left\{\begin{array}{rlcl}\mathrm{div}\left(\sigma _{\epsilon }(w)\right)& =0 & \hbox{ in} & R^{2}\\ \sigma _{\epsilon }(w) & =\mathbb{C}_{\epsilon }(\widehat{x})\nabla ^{s}w\\ w & \rightarrow{0} & \hbox{ at} & \infty \\ \lbrack\lbrack w\rbrack\rbrack & =0 & \hbox{ on} & \partial B_{1}\\ \lbrack\lbrack\sigma _{\epsilon }(w)\rbrack\rbrack n & =Sn & \hbox{ on} & \partial B_{1} \end{array}\right., </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.39)
|}
where, in this case, the constitutive tensor <math display="inline">\mathbb{C}_{\epsilon }(\widehat{x})</math> has an anisotropic behavior in the inclusion and in the matrix. Since the polarization tensor <math display="inline">\mathbb{P}</math> can be obtained by equation ([[#eq-4.26|4.26]]), and the tensor <math display="inline">\mathbb{T}</math> by equation ([[#eq-4.34|4.34]]), the concerns lie on seeking matrix <math display="inline">A_{i}</math>. The full details of solving problem ([[#eq-4.39|4.39]]) are described in Appendix [[#8 Analytical solution of the anisotropic exterior problem|8]].
By using the complex variable method, a final expression of matrix <math display="inline">A_{i}</math> is obtained as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>A_{i}=I_{2}\left(K_{G}^{I}\right)^{-1}K_{G}^{m}I_{2}^{T} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.40)
|}
where the logical matrices <math display="inline">I_{1}</math>, <math display="inline">I_{2}</math>, <math display="inline">I_{3}</math> and <math display="inline">I_{S}</math> are defined by
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{ccc}I_{1}=\left[\begin{array}{ccc}1 & 0 & 0\\ 0 & 0 & 0\\ 0 & 0 & 1\\ 0 & 1 & 0 \end{array}\right]& \quad & I_{2}=\left[\begin{array}{cccc}1 & 0 & 0 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0 \end{array}\right]\\ \\ I_{3}=\left[\begin{array}{cccc}0 & 0 & 0 & 0\\ 0 & 0 & 0 & 1\\ 0 & 0 & 0 & -1\\ 0 & 0 & 0 & 0 \end{array}\right]& \quad & I_{S}=\left[\begin{array}{cccc}0 & 1 & 0 & 0\\ -1 & 0 & 0 & 0\\ 0 & 0 & 0 & 1\\ 0 & 0 & -1 & 0 \end{array}\right] \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.41)
|}
and the complex matrices <math display="inline">K_{G}^{I}</math> and <math display="inline">K_{G}^{m}</math> by
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> K_{G}^{I}=K_{u}K_{\sigma }^{-1}M_{\sigma }-M_{u}(\tilde{\alpha }_{I}+I_{3})\quad \hbox{and}\quad K_{G}^{m}=K_{u}K_{\sigma }^{-1}M_{\sigma }. </math>
|}
|}
In addition, the modified inverse constitutive matrix <math display="inline">\tilde{\alpha }_{I}</math> is defined as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\tilde{\alpha }_{I}=I_{1}\alpha _{I}I_{2} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.42)
|}
where the inverse constitutive tensor of the inclusion <math display="inline">\alpha _{I}</math> is expressed as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\alpha _{I}=\left[\begin{array}{ccc}\alpha _{11}^{I} & \alpha _{12}^{I} & \alpha _{13}^{I}\\ \alpha _{12}^{I} & \alpha _{22}^{I} & \alpha _{23}^{I}\\ \alpha _{13}^{I} & \alpha _{23}^{I} & \alpha _{33}^{I} \end{array}\right]. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.43)
|}
The values <math display="inline">\alpha _{ij}^{I}</math>, with <math display="inline">(i,j)=1..3</math>, are the components of <math display="inline">\left(\mathbb{C}^{*}\right)^{-1}</math> (in matrix notation). The real matrices <math display="inline">M_{u}</math> and <math display="inline">M_{\sigma }</math> take the following expressions
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>M_{u}=\left[\begin{array}{cccc}a & 0 & 0 & 0\\ 0 & b & 0 & 0\\ 0 & 0 & a & 0\\ 0 & 0 & 0 & b \end{array}\right]\quad M_{\sigma }=\left[\begin{array}{cccc}0 & a & 0 & 0\\ 0 & 0 & -b & 0\\ 0 & 0 & -a & 0\\ b & 0 & 0 & 0 \end{array}\right] </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.44)
|}
where <math display="inline">a</math> and <math display="inline">b</math> are the semi-axes of the elliptic inclusion. Since we are interested on circular inclusion, they are given by values <math display="inline">a=b=1.</math>
The product of the complex matrices <math display="inline">K_{u}K_{\sigma }^{-1}</math> deserves special attention. Due to some properties explained in Appendix ([[#8 Analytical solution of the anisotropic exterior problem|8]]), it can be written as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{rcl}K_{u}K_{\sigma }^{-1} & = & \Re (K_{u_{0}}K_{\sigma _{0}}^{-1})-\Im (K_{u_{0}}K_{\sigma _{0}}^{-1})I_{S}\end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.45)
|}
where <math display="inline">\Re </math> and <math display="inline">\Im </math> take the real and imaginary part of the complex matrix <math display="inline">K_{u_{0}}K_{\sigma _{0}}^{-1}</math> which reads as
<span id="eq-4.46"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>K_{u_{0}}K_{\sigma _{0}}^{-1}=\left[\begin{array}{cccc}\lambda & 0 & -\kappa & 0\\ 0 & \lambda & 0 & -\kappa \\ \rho & 0 & -\gamma & 0\\ 0 & \rho & 0 & -\gamma \end{array}\right] </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.46)
|}
and the complex numbers <math display="inline">\lambda </math>, <math display="inline">\kappa </math>, <math display="inline">\rho </math> and <math display="inline">\gamma </math> are defined as
<span id="eq-4.47"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\lambda =\frac{p_{1}\mu _{\hbox{2}}-p_{2}\mu _{1}}{\mu _{1}-\mu _{2}}\quad \kappa =\frac{p_{1}-p_{2}}{\mu _{1}-\mu _{2}}\quad \rho =\frac{q_{1}\mu _{\hbox{2}}-q_{2}\mu _{1}}{\mu _{1}-\mu _{2}}\quad \gamma =\frac{q_{1}-q_{2}}{\mu _{1}-\mu _{2}}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.47)
|}
Finally, the complex numbers <math display="inline">\mu _{1}</math> and <math display="inline">\mu _{2}</math> are the solution of the following characteristic equation
<span id="eq-4.48"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\alpha _{11}\mu ^{4}-2\alpha _{13}\mu ^{3}+(2\alpha _{12}+\alpha _{33})\mu ^{2}-2\alpha _{23}\mu{+\alpha}_{22}=0, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.48)
|}
and the complex numbers <math display="inline">p_{i}</math> and <math display="inline">q_{i}</math> are expressed as
<span id="eq-4.49"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>p_{i} = \alpha _{11}\mu _{i}^{2}+\alpha _{12}-\alpha _{13}\mu _{i},</math>
|-
| style="text-align: center;" | <math> q_{i} = \alpha _{12}\mu _{i}+\alpha _{22}/\mu _{i}-\alpha _{23},\quad i=1,2\,. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.49)
|}
Unfortunately, the final expression of the matrix <math display="inline">A_{i}</math> and the polarization tensor <math display="inline">\mathbb{P}</math> are cumbersome and can not be written explicitly. However, due to symbolic algebra, they can be easily calculated and saved as a computational function, ready for its implementation in a home-made topological optimization code.
Similarly to the isotropic case, we consider two scenarios: the case where the inclusion is inserted by a weak material <math display="inline">\mathbb{C}^{-}</math> on the strong one <math display="inline">\mathbb{C}^{+}</math> or the opposite case. Consequently, rewriting the polarization tensor as <math display="inline">\mathbb{P}=\mathbb{\mathbb{P}}(\mathbb{C},\mathbb{C}^{*})</math>, both cases result to
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathbb{P}=\begin{array}{ccc}\mathbb{P}^{+}= & \mathbb{\mathbb{P}}(\mathbb{C}^{+},\mathbb{C}^{-}) & x\in \Omega ^{+}\\ \mathbb{P}^{-}= & \mathbb{\mathbb{P}}(\mathbb{C}^{-},\mathbb{C}^{+}) & x\in \Omega ^{-}. \end{array}</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.50)
|}
==4.4 Estimation of the remainders ==
In this Section the estimation of the remainders in the topological asymptotic expansion is performed. This estimations has been used in the derivation of the topological derivative expression ([[#eq-4.27|4.27]]) presented in Section [[#4.3 Topological derivative|4.3]]. In particular, we study the asymptotic behavior of the remainder <math display="inline">\widetilde{u}_{\epsilon }</math> in ([[#eq-4.20|4.20]]) and the residue <math display="inline">\mathcal{E}(\epsilon )</math> defined in ([[#eq-4.23|4.23]]). Let us start by introducing the following lemma that ensures the existence of the topological derivative for the problem under analysis:
<span id='theorem-lem:ueps-u'></span> 1: Let <math display="inline">u</math> and <math display="inline">u_{\epsilon }</math> be solutions to ([[#eq-4.5|4.5]]) and ([[#eq-4.10|4.10]]), respectively. Then, we have that the estimate <math display="inline">\| u_{\epsilon }-u\| _{H^{1}(\Omega ;R^{2})}=O(\epsilon )</math> holds true.
Proof 1: We start by subtracting the variational problem ([[#eq-4.5|4.5]]) and ([[#eq-4.10|4.10]]) to obtain:
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\int _{\Omega }\sigma _{\epsilon }(u_{\epsilon }-u)\cdot \nabla ^{s}\eta =\int _{B_{\epsilon }}\mathbb{S}\sigma (u)\cdot \nabla ^{s}\eta \,. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.51)
|}
with <math display="inline">\mathbb{S}=\mathbb{I}-\mathbb{C}^{\star }\mathbb{C}^{-1}</math>. Now, by taking <math display="inline">\eta =u_{\epsilon }-u</math> as test function in the above equation, we obtain the following equality:
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\int _{\Omega }\sigma _{\epsilon }(u_{\epsilon }-u)\cdot \nabla ^{s}(u_{\epsilon }-u)=\int _{B_{\epsilon }}\mathbb{S}\sigma (u)\cdot \nabla ^{s}(u_{\epsilon }-u)\,. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.52)
|}
From the Cauchy-Schwartz and Poincaré inequality it follows that
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\int _{\Omega }\sigma _{\epsilon }(u_{\epsilon }-u)\cdot \nabla ^{s}(u_{\epsilon }-u) \leq C_{1}\| \sigma (u)\| _{L^{2}(B_{\epsilon };R^{2})}\| \nabla ^{s}(u_{\epsilon }-u)\| _{L^{2}(B_{\epsilon };R^{2})}</math>
|-
| style="text-align: center;" | <math> \leq C_{2}\epsilon \| \nabla ^{s}(u_{\epsilon }-u)\| _{L^{2}(B_{\epsilon };R^{2})}</math>
|-
| style="text-align: center;" | <math> \leq C_{3}\epsilon \| \nabla ^{s}(u_{\epsilon }-u)\| _{H^{1}(\Omega ;R^{2})}</math>
|-
| style="text-align: center;" | <math> \leq C_{4}\epsilon \| u_{\epsilon }-u\| _{H^{1}(\Omega ;R^{2})}, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.53)
|}
where we have used the elliptic regularity of function <math display="inline">u</math>. Finally, from the coercivity of the bilinear form of ([[#eq-4.10|4.10]]), namely
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>c\| u_{\epsilon }-u\| _{H^{1}(\Omega ;R^{2})}^{2}\leq \int _{\Omega }\sigma _{\epsilon }(u_{\epsilon }-u)\cdot \nabla ^{s}(u_{\epsilon }-u), </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.54)
|}
we obtain the result with the constant <math display="inline">C_{4}/c</math> independent of the small parameter <math display="inline">\epsilon </math>.
<span id='theorem-lem:uepstilde'></span> 2: Let <math display="inline">\widetilde{u}_{\epsilon }</math> be solution to ([[#eq-4.20|4.20]]). Then, the following estimate holds true:
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\| \widetilde{u}_{\epsilon }\| _{H^{1}(\Omega ;R^{2})}\leq C\epsilon \,, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.55)
|}
with the constant <math display="inline">C</math> independent of the small parameter <math display="inline">\epsilon </math>.
Proof 2: From the ansatz proposed in ([[#eq-4.18|4.18]]) for <math display="inline">u_{\epsilon }</math> and making use of the triangular inequality, we obtain:
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>|\widetilde{u}_{\epsilon }|_{H^{1}(\Omega ;R^{2})} = |u_{\epsilon }-u-\epsilon w|_{H^{1}(\Omega ;R^{2})}</math>
|-
| style="text-align: center;" | <math> \leq |u_{\epsilon }-u|_{H^{1}(\Omega ;R^{2})}+\epsilon |w|_{H^{1}(\Omega ;R^{2})}</math>
|-
| style="text-align: center;" | <math> \leq \| u_{\epsilon }-u\| _{H^{1}(\Omega ;R^{2})}+\epsilon |w|_{H^{1}(R^{2};R^{2})}</math>
|-
| style="text-align: center;" | <math> \leq C_{1}\epsilon \,, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.56)
|}
where we have used the change of variables <math display="inline">x=\epsilon y</math>, the equivalence between the semi-norm and the norm in <math display="inline">H^{1}(\Omega ;R^{2})</math> and the estimate in Lemma [[#theorem-lem:ueps-u|1]]. Finally, the results comes out from the Poincaré inequality.
3: Let <math display="inline">\widetilde{u}_{\epsilon }</math> and <math display="inline">u</math> be solutions to ([[#eq-4.20|4.20]]) and ([[#eq-4.5|4.5]]), respectively. Then, we have the following estimate for the remainder <math display="inline">\mathcal{E}(\epsilon )</math> in ([[#eq-4.23|4.23]]):
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\frac{1}{2}\int _{B_{\epsilon }}\Delta \mathbb{C}(\mathbb{C}^{\star })^{-1}\sigma _{\epsilon }(\widetilde{u}_{\epsilon })\cdot \nabla ^{s}u=o(\epsilon ^{2}). </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.57)
|}
Proof 3: From the Cauchy-Schwartz inequality we obtain
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathcal{E}(\epsilon ) = \frac{1}{2}\int _{B_{\epsilon }}\Delta \mathbb{C}(\mathbb{C}^{\star })^{-1}\sigma _{\epsilon }(\widetilde{u}_{\epsilon })\cdot \nabla ^{s}u</math>
|-
| style="text-align: center;" | <math> \leq C_{1}\| \nabla ^{s}u\| _{L^{2}(B_{\epsilon };R^{2})}\| \nabla ^{s}\widetilde{u}_{\epsilon }\| _{L^{2}(B_{\epsilon };R^{2})}</math>
|-
| style="text-align: center;" | <math> \leq \epsilon C_{2}\| \nabla ^{s}\widetilde{u}_{\epsilon }\| _{L^{2}(B_{\epsilon };R^{2})}\,. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.58)
|}
Note that from problem ([[#eq-4.20|4.20]]) that the r.h.s. depends explicitly on the small parameter <math display="inline">\epsilon </math>. Therefore, since this problem is linear and in view of Lemma [[#theorem-lem:uepstilde|2]], we can write <math display="inline">\widetilde{u}_{\epsilon }=\epsilon v_{0}</math>. Then, we have
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathcal{E}(\epsilon ) \leq \epsilon ^{2}C_{3}\| \nabla ^{s}v_{0}\| _{L^{2}(B_{\epsilon };R^{2})}</math>
|-
| style="text-align: center;" | <math> \leq \epsilon ^{3}C_{4}\,. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.59)
|}
which leads to the result.
==4.5 Numerical validation of the topological derivative==
The analytical formula for the topological derivative presented in ([[#eq-4.27|4.27]]), can be validated by using the following computational framework. Let's define (for a finite value of <math display="inline">\epsilon </math>) the function <math display="inline">T_{\epsilon }(\widehat{x})</math> as:
<span id="eq-4.60"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>D_{T}\mathcal{J}_{\epsilon }(\hat{x}):=\frac{\mathcal{J}_{\epsilon }(\Omega )-\mathcal{J}(\Omega )}{f(\epsilon )}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.60)
|}
Clearly, the above definition has the following property,
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\underset{\epsilon \rightarrow{0}}{\lim }\; D_{T}\mathcal{J}_{\epsilon }(\hat{x})=D_{T}\mathcal{J}(\hat{x})\,. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.61)
|}
A numerical approximation of <math display="inline">D_{T}\mathcal{J}(\hat{x})</math> can be obtained by calculating the functions <math display="inline">\mathcal{J}_{\epsilon }(\Omega )</math> and <math display="inline">\mathcal{J}(\Omega )</math>, for a sequences of decreasing values of <math display="inline">\epsilon </math> and, then, using ([[#eq-4.60|4.60]]) to compute the corresponding estimates <math display="inline">D_{T}\mathcal{J}_{\epsilon }(\hat{x})</math> for <math display="inline">D_{T}\mathcal{J}(\hat{x})</math>. The values of the function <math display="inline">\mathcal{J}</math> and <math display="inline">\mathcal{J}_{\epsilon }</math> are computed numerically by means of standard finite element procedures for the elasticity problem. The domain considered in the verification is a unit square (see fig. [[#img-27|27]]). The perturbed domains are obtained by introducing circular inclusions of radius
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\epsilon \in \{ 0.160,0.080,0.040,0.010,0.005\} , </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.62)
|}
centered at <math display="inline">\widehat{x}=(0.5,0.5)</math>, with the origin of the coordinate system positioned at the bottom left corner. The finite element mesh used to discretize the perturbed domain contains a total number of <math display="inline">3850240</math> <math display="inline">\mathbb{P}_{1}</math> elements and <math display="inline">1926401</math> nodes.
To solve the anisotropic elastic problem, we prescribe the displacement on <math display="inline">\Gamma _{D}</math> to be <math display="inline">\bar{u}=0</math> and traction <math display="inline">\bar{t}=1</math> on <math display="inline">\Gamma _{N}</math>, (see fig. [[#img-27|27]]). <div id='img-27'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-NumTestAxis.png|400px|Domain and boundary conditions.]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 27:''' Domain and boundary conditions.
|}
The study is conducted for four combinations of elasticity tensors <math display="inline">\mathbb{C}</math> and <math display="inline">\mathbb{C}^{\star }</math>. The analyzed cases are detailed in the following box:
{| class="floating_tableSCP wikitable" style="text-align: center; margin: 1em auto;min-width:50%;"
|-
| colspan='1' style="border-right: 2px solid;border-left: 2px solid;border-right: 2px solid;" |
| style="border-left: 2px solid;border-right: 2px solid;" | Matrix constitutive tensor
| style="border-left: 2px solid;border-right: 2px solid;" | Inclusion constitutive tensor
|- style="border-top: 2px solid;"
| style="border-left: 2px solid;border-right: 2px solid;" | Case A
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\mathbb{C}=\begin{pmatrix}0.905 & 0.845 & -0.017\\ 0.845 & 1.405 & -0.415\\ -0.017 & -0.415 & 0.385 \end{pmatrix}</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\mathbb{C}^{\star }=\left(\begin{array}{rrc} 1.562 & 0.312 & 0.0\\ 0.312 & 1.562 & 0.0\\ 0.0 & 0.0 & 0.625 \end{array}\right)</math>
|- style="border-top: 2px solid;"
| style="border-left: 2px solid;border-right: 2px solid;" | Case B
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\mathbb{C}=\begin{pmatrix}1.099 & 0.329 & 0.0\\ 0.329 & 1.099 & 0.0\\ 0.0 & 0.0 & 0.385 \end{pmatrix}</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\mathbb{C}^{\star }=\left(\begin{array}{rrc} 1.562 & 0.312 & 0.0\\ 0.312 & 1.562 & 0.0\\ 0.0 & 0.0 & 0.625 \end{array}\right)</math>
|- style="border-top: 2px solid;"
| style="border-left: 2px solid;border-right: 2px solid;" | Case C
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\mathbb{C}=\left(\begin{array}{rrr} 2.083 & 0.416 & 0.0\\ 0.416 & 4.160 & 0.0\\ 0.0 & 0.0 & 0.833 \end{array}\right)</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\mathbb{C}^{\star }=\left(\begin{array}{rrr} 1.099 & 0.329 & 0.0\\ 0.329 & 1.099 & 0.0\\ 0.0 & 0.0 & 0.385 \end{array}\right)</math>
|- style="border-top: 2px solid;border-bottom: 2px solid;"
| style="border-left: 2px solid;border-right: 2px solid;" | Case D
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\mathbb{C}=\left(\begin{array}{rrr} 2.083 & 0.416 & 0.0\\ 0.416 & 4.160 & 0.0\\ 0.0 & 0.0 & 0.833 \end{array}\right)</math>
| style="border-left: 2px solid;border-right: 2px solid;" | <math>\mathbb{C}^{\star }=\begin{pmatrix}0.905 & 0.845 & -0.017\\ 0.845 & 1.405 & -0.415\\ -0.017 & -0.415 & 0.385 \end{pmatrix}</math>
|}
The normalized obtained results (<math display="inline">D_{T}\mathcal{J}_{\epsilon }/D_{T}\mathcal{J}</math>) are plotted in fig. [[#img-28|28]], in terms of the analytical topological derivative and the numerical approximations for each value of <math display="inline">\epsilon </math> are shown. It can be seen that the numerical topological derivatives converge to the corresponding analytical value for all cases. This confirms the validity of the proposed formula ([[#eq-4.27|4.27]]). <div id='img-28'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-NumVerJ.png|500px|Results of numerical verification.]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 28:''' Results of numerical verification.
|}
==4.6 Representative Numerical Simulations==
In order to assess the potential application of the topological derivative concept for anisotropic and heterogeneous materials, some numerical examples are shown in this section. All the examples are computed with the slerp algorithm described in the sub-section ([[#3.3 The Slerp algorithm|3.3]]) and the ''Mixed Formulation'' technique described in sub-section ([[#3.4.3 Treatment of the cost function and the topological derivative on the interface|3.4.3]]). As it is commonly used, a minimum compliance objective function, subject to a certain fraction volume constraint, will be solved. To this end, the material distribution in <math display="inline">\Omega </math> will be identified by a characteristic function <math display="inline">\chi </math>. Thus, the objective function <math display="inline">\mathcal{J}(\Omega )</math> can be written as a function of <math display="inline">\chi </math> as: <math display="inline">\mathcal{J}(\Omega _{\chi })</math>, where <math display="inline">\Omega _{\chi }</math> is used to denote the geometrical dependency of the domain on the characteristic function <math display="inline">\chi </math>. Then, the optimization problem reads:
Find the characteristic function <math display="inline">\chi </math> such that,
<span id="eq-4.63"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{cc}\underset{\chi }{\hbox{min.}} & \mathcal{J}(\Omega _{\chi })\;\\ \hbox{ s.t.} & c(\chi )=\int _{\Omega }\chi{-}V=0\;, \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4.63)
|}
where <math display="inline">\mathcal{J}(\Omega _{\chi })</math> is the total potential energy of an standard elastic equilibrium problem ([[#eq-4.5|4.5]]) and <math display="inline">V</math> the final intended volume. Note that the constitutive tensor <math display="inline">\mathbb{C}</math> can be heterogeneous and anisotropic. Some numerical examples with homogeneous and heterogeneous material distribution are considered. All them are solved below 2D elastic plane stress assumptions.
===4.6.1 Homogeneous material distribution===
The constitutive behavior is considered homogeneous in the design domain. Besides, the constitutive tensor in the inclusion is defined with the contrast parameter <math display="inline">\gamma </math> as: <math display="inline">\mathbb{C}^{-}=\gamma \mathbb{C}</math> with <math display="inline">\gamma=10^{-4}</math>. The 2x1 domain is discretized with a structured mesh of <math display="inline">5200</math> P1 triangular elements. The volume fraction is taken as <math display="inline">V=0.4</math> and the penalty as <math display="inline">\rho=0.5</math>. All the examples are stated to be converged when <math display="inline">\theta{<1}^{\hbox{o}}</math> and <math display="inline">|c(\psi )|<0.001</math>. In the figures showing the results, the black and white colors are used to represent the part of the domain with constitutive tensor <math display="inline">\mathbb{C}^{+}=\mathbb{C}</math> and <math display="inline">\mathbb{C}^{-}</math>, respectively. The elasticity of the inclusion <math display="inline">\mathbb{C}^{-}</math> is weak enough to mimic a void.
====Case 1: Homogeneous Tension rod====
<div id='img-29'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-TractionBeamSketch.png|300px|Schematic drawing of a tension rod with homogeneous material distribution]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 29:''' Schematic drawing of a tension rod with homogeneous material distribution
|}
Regarding boundary conditions shown in Figure [[#img-29|29]], the domain is fixed at the left side and has a horizontal unitary force at the middle of the right end. Some representative cases, in terms of the selected constitutive tensor, have been considered (see second column in Figure [[#img-30|30]]). <div id='img-30'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:Draft_Samper_118254298_6711_TractionBeam.png|600px|Representative optimal homogeneous tension rod topologies: (a) Isotropic (E=1 and ν=0.3) as a reference, (b)-(e) Orthotropic, (f) Anisotropic. In the second column, the constitutive tensor used is shown, which is obtained by a classical homogenization procedure of the micro-structure displayed on the third column, see [Sanchez-PalenciaBook1980]. In the fourth one and fifth column, the final optimal topology for the structure and the value of the compliance are also shown.]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 30:''' Representative optimal homogeneous tension rod topologies: (a) Isotropic (<math>E=1</math> and <math>\nu=0.3</math>) as a reference, (b)-(e) Orthotropic, (f) Anisotropic. In the second column, the constitutive tensor used is shown, which is obtained by a classical homogenization procedure of the micro-structure displayed on the third column, see [Sanchez-PalenciaBook1980]. In the fourth one and fifth column, the final optimal topology for the structure and the value of the compliance are also shown.
|}
Notice the strong influence of the selected micro-structure topology and, consequently, of the resulting homogenized constitutive tensor, on the obtained optimal macro-structure topology.
====Case 2: Homogeneous Cantilever beam====
<div id='img-31'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-CantileverSketch.png|300px|Schematic drawing of a cantilever beam with homogeneous material distribution]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 31:''' Schematic drawing of a cantilever beam with homogeneous material distribution
|}
Now a standard cantilever beam is solved. All data are as in Case 1, except for the direction of the applied force (see Figure [[#img-31|31]]). <div id='img-32'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:Draft_Samper_118254298_4418_CantileverBeam.png|600px|Representative optimal homogeneous Cantilever beam topologies: (a) Isotropic (E=1 and ν=0.3) as a reference, (b)-(e) Orthotropic, (f) Anisotropic. In the second column, the constitutive tensor used is shown, which is obtained by a classical homogenization procedure of the micro-structure displayed on the third column, see [Sanchez-PalenciaBook1980]. In the fourth one and fifth column, the final optimal topology for the structure and the value of the compliance are also shown.]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 32:''' Representative optimal homogeneous Cantilever beam topologies: (a) Isotropic (<math>E=1</math> and <math>\nu=0.3</math>) as a reference, (b)-(e) Orthotropic, (f) Anisotropic. In the second column, the constitutive tensor used is shown, which is obtained by a classical homogenization procedure of the micro-structure displayed on the third column, see [Sanchez-PalenciaBook1980]. In the fourth one and fifth column, the final optimal topology for the structure and the value of the compliance are also shown.
|}
The isotropic case is used also as a reference. Some unconventional topologies are obtained, specially in the orthotropic case (micro-structure with horizontal and vertical bars) and full anisotropic case (last row). It can be observed, that the resulting macro-structure topology, tends to arrange following the principal directions of the micro-structure topology.
===4.6.2 Heterogeneous material distribution ===
A heterogeneous distribution of material is used for a classical cantilever beam optimal design. The contrast parameter is taken <math display="inline">\gamma=10^{-4}</math>. The 2x1 domain is discretized through a structured mesh of <math display="inline">6272</math> <math display="inline">\mathbb{P}_{1}</math> elements. The geometry is vertically partitioned in four domains with the same width (1/4). The top and bottom regions are endowed with a constitutive tensor different from the center one (see Figures [[#img-33|33]] and [[#img-35|35]]). The intended volume fraction is <math display="inline">V=0.4</math> and the considered penalty value is <math display="inline">\rho=0.5</math>. Again the iterative solution algorithm is declared converged when <math display="inline">\theta{<1}^{\hbox{o}}</math> and <math display="inline">|c(\psi )|<0.001</math>.
====Case 1: Heterogeneous Cantilever beam with horizontal-shear micro-structures====
In this example, the top and bottom regions are endowed with a microstructure topology yielding horizontally-dominant microscopic stiffness, where the center region, microscopic topology enforces shear-dominant stiffness.
<div id='img-33'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-HeteroCantileverHorizShearSketch.png|300px|Heterogeneous cantilever beam with regions of different constitutive properties (enforced via microscopic material topology). ]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 33:''' Heterogeneous cantilever beam with regions of different constitutive properties (enforced via microscopic material topology).
|}
The material arrangement and distribution are sketched in Figure [[#img-33|33]]. The corresponding values for the resulting homogenized constitutive properties are detailed in Figure [[#img-34|34]].
<div id='img-34'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-HeteroCantileverHorizShear.png|600px|Heterogeneous cantilever beam. Material properties and obtained results (case 1). ]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 34:''' Heterogeneous cantilever beam. Material properties and obtained results (case 1).
|}
It is worth noting that both constitutive tensors are again anisotropic. In addition, note that the optimal topology with the anisotropic heterogeneous material distribution is quite different from the homogeneous isotropic case (first row of Figure [[#img-32|32]]) and the homogeneous anisotropic case (last row of Figure [[#img-32|32]]). Again, it can be observed that the macroscopic topology tends to mimic the microscopic one in the different considered regions.
====Case 2: Heterogeneous Cantilever beam with horizontal-vertical micro-structures====
Now the top and bottom regions at the beam are endowed with a microstructure yielding horizontally-dominant elastic stiffness, whereas the central region is endowed with a vertically-dominant one.
<div id='img-35'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-HeteroCantileverHorizVertSketch.png|300px|Heterogeneous cantilever beam. Material properties and obtained results (case 2) ]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 35:''' Heterogeneous cantilever beam. Material properties and obtained results (case 2)
|}
Figure [[#img-35|35]] shows an schematic picture of this case. Details of the resulting homogenized elastic properties are given in Figure [[#img-36|36]]. <div id='img-36'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-HeteroCantileverHorizVert.png|600px|Optimal heterogeneous Cantilever beam topology. Constitutive tensor value and its corresponding micro-structure representation are also detailed. ]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 36:''' Optimal heterogeneous Cantilever beam topology. Constitutive tensor value and its corresponding micro-structure representation are also detailed.
|}
In Figure [[#img-36|36]], the resulting (non trivial) optimal topology obtained for this case is shown.
Regarding numerical aspects, problems of convergence of the involved numerical schemes have not been found.
Besides, no substantial differences, in terms of the involved computational effort, have been found by considering the isotropic and anisotropic cases. Thus, the anisotropic topological derivative generalize the isotropic one. In all cases less than five minutes of computation are needed with a standard PC (3.40GHz processor in a 64-bit architecture) in a Matlab<math display="inline">^{\mbox{©}}</math> environment.
==4.7 Conclusions==
In this chapter an analytical and closed-form expression for the topological derivative in heterogeneous and anisotropic elastic problems has been presented. We consider as singular perturbation the introduction of a circular disc, with an anisotropic constitutive tensor completely different from the background material, in an arbitrary point. From the asymptotic analysis, it has been proven that the heterogeneous behavior of the material properties does not contribute to the first order topological derivative. The polarization tensor for this problem is obtained from a very simple (and inexpensive) matrix evaluation, in terms of the constitutive properties of the unperturbed problem and the inclusion. The derived formula are general for any kind of anisotropy in two dimensional problems, where orthotropy and isotropy (of the background material or the inclusion or a combination of both) can be derived as particular cases.
We recall that the development presented in this work for the total potential energy, in particular the solution of the so-called exterior problem, can be applied for other cost functionals and that the derivation of the associated topological derivative can be easily done.
With theses results in mind, the presented numerical simulation shows that the selected material properties heavily affect the optimal topology in an standard topology optimization problem. Since real applications involve non homogeneous isotropic material, the obtained closed formula of the topological derivative for heterogeneous anisotropic materials generalizes the concept of topology optimization for any kind of material properties and distribution. This progress is, in fact, the main contribution of the chapter.
In addition, a the influence of the microscopic topology on the optimal macroscopic topology is observed which, in some cases, becomes very relevant.
=5 Two-scale topology optimization=
==5.1 Motivation==
Let's recall the macroscopic and microscopic topology optimization problems.
==Macroscopic topology optimization==
Macroscopic topology optimization corresponds to the standard and genuine topology optimization problem. It aims at removing material from a macroscopic domain, subjected to external forces and boundary conditions, so that its stiffness is maximized. Usually, the problem is written as:
<span id="eq-5.1"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{rl}\underset{\chi ,\sigma }{\hbox{minimize}} & \int _{\Omega }\chi \sigma :\mathbb{C}^{-1}:\sigma \\ \hbox{ subjected to:} & \int _{\Omega }\chi{-}V=0. \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (5.1)
|}
where <math display="inline">\sigma </math> stands for the stresses, solution of a standard equilibrium equation, <math display="inline">\chi </math> for the characteristic function, <math display="inline">V</math> for the fraction volume and <math display="inline">\mathbb{C}</math> for the constitutive tensor.
In Figure [[#img-37|37]], a representation of the macroscopic domain in the initial configuration and a representation of the optimal topology of the standard Cantilever beam is shown.
<div id='img-37'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-MacroTopOpt.png|600px|Standard structural optimization solution for the Cantilever beam case ]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 37:''' Standard structural optimization solution for the Cantilever beam case
|}
==Microscopic topology optimization==
A similar approach is applied in microscopic topology optimization. The main idea, in this case, is to design the topology of the the RVE in order to maximize the stiffness obtained by the constitutive tensor <math display="inline">\mathbb{C}_{h}</math> so that a particular fraction volume is fulfilled. The reader is referred to <span id='citeF-103'></span>[[#cite-103|[103]]] for some examples. Usually, the microscopic topology optimization is formulated as
<span id="eq-5.2"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{cc}\underset{\chi _{\mu }}{\hbox{minimize}} & \sigma :\mathbb{C}_{h}^{-1}(\chi _{\mu }):\sigma \\ \hbox{ subjected to:} & \int _{\Omega }\chi _{\mu }=V_{\mu }\\ \\ \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (5.2)
|}
where <math display="inline">\mu </math> sub-index is used to refer to material design (more specifically to micro-structures). Note that <math display="inline">\sigma </math>, in this case, is an input data, and may be thought as the projection direction of the inverse of the constitutive tensor <math display="inline">\mathbb{C}_{h}^{-1}</math> . A full description of the computation of the constitutive tensor <math display="inline">\mathbb{C}_{h}</math> is presented in section [[#2.1.1 Multi-scale variational framework|2.1.1]]. A micro-cell or the RVE (Representative Volume Element) initial configuration, the applied stresses <math display="inline">\sigma </math> and the final topology are shown in Figure [[#img-38|38]]. <div id='img-38'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-MicroTopOpt.png|600px|Material design solution of a square micro-cell under a given stress state]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 38:''' Material design solution of a square micro-cell under a given stress state
|}
The multi-scale methodology, jointly with the microscopic topology optimization problem (both fully explained in Chapter [[#2 Background and review of the state of the art|2]]), opens up the possibility of increasing the global stiffness via the topological design at the microstructure in each integration point. Hereafter, this problem is termed ''Point-to-point material design problem''. It is worth stressing that conceptually the ''Point-to-point material design problem'' differs from the macroscopic topology optimization in the set of design variables. In the former, the macroscopic characteristic <math display="inline">\chi </math> function is used as a design variable; while the latter uses the microscopic characteristic function <math display="inline">\chi _{\mu }</math>.
At this point, from the numerical point of view, many questions arise: ''how the Point-to-point material design problem can be solved? What kind of algorithm should be used? In comparison with the macroscopic topology optimization problem, how much is the cost function reduced? ''
Since ''the Point-to-point material design ''involves multiscale and topology optimization techniques, significant time-consuming computations are expected. Additionally, as will be discussed later, the problem presents strong non-linear behavior. ''How can these difficulties be mitigated?'' Appropriate reduction techniques and algorithms are required. On top of this, the manufacturability issue appears as another relevant concern. For this purpose, appropiate numerical strategies must be devised.
Finally, instead of comparing the ''Point-to-point material design'' approach with the macroscopic topology optimization approach, a more stimulating strategy would be a combination of both approaches to increase even more the stiffness of the structure. In mathematical terms, it would consist in considering the macroscopic characteristic function <math display="inline">\chi </math> jointly with the microscopic characteristic function <math display="inline">\chi _{\mu }</math>. Similar questions arise: ''how this problem, hereafter termed Point-to-point multiscale topology optimization problem, can be solved? What kind of algorithm should be used? In comparison with the macroscopic topology optimization and the Point-to-point material design, how much the cost function is reduced? How the time-consuming difficulties and nonlinearities are alleviate? How manufacturability constraints can be considered?''
==5.2 Point-to-point material design problem ==
In order to shed light to the posed questions, we introduce first the ''Point-to-point material design problem. ''Conceptually, it makes use of the computational multi-scale homogenization framework and the micro-structure topology optimization technique. More specifically, it attempts to determine the optimal micro-structure topology at every point of the macro-structure domain such that a macroscopic functional is maximized (see a representative sketch in Figure [[#img-39|39]]).
<div id='img-39'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-Figure6.png|600px|''Point-to-point material design problem'']]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 39:''' ''Point-to-point material design problem''
|}
Here the classical single-scale problem of determining the optimum distribution of a certain material mass at the macro-scale (or structural scale) is reformulated as a two-scale problem in the following sense: the goal is the optimal distribution of a given material mass, ''but now at the micro-scale'' level for every structural point (given the shape and topology at the structural scale).
===5.2.1 Formulation of the Point-to-point material design problem ===
The ''Point-to-point material design'' is mathematically stated through:
<span id="eq-5.3"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{cc}\underset{\sigma ,\chi _{\mu }}{\hbox{minimize}} & \int _{\Omega }\sigma :\mathbb{C}_{h}^{-1}(\chi _{\mu }):\sigma \\ \hbox{ subjected to:} & \int _{\Omega _{\mu }}\chi _{\mu }-V_{\mu }\leq{0},\\ & \nabla \cdot \sigma =\rho b,\\ & \hbox{ + Boundary conditions.} \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (5.3)
|}
where the macroscopic stresses <math display="inline">\sigma </math> are defined by
<span id="eq-5.4"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\sigma =\mathbb{C}_{h}(\chi _{\mu }):\nabla ^{s}u </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (5.4)
|}
and <math display="inline">u\in H^{1}(\Omega )</math> are the displacement solution of the equilibrium equation.
In equation ([[#eq-5.3|5.3]]), <math display="inline">\chi _{\mu }\in \left\{0,1\right\}</math>, refers to the characteristic function at the RVE, whose optimal spatial distribution (defining the topology of the RVE) is aimed at being obtained, and <math display="inline">V_{\mu }</math> refers to the volume fraction of the RVE. In this respect, the following aspects, specific for this multi-scale problem, have to be highlighted:
<ol>
<li>The objective function to be minimized is highly nonlinear and defined at the macro-scale level. </li>
<li>The design variables (the values of the characteristic function <math display="inline">\chi _{\mu }</math>) are defined at the micro-scale </li>
<li>The equilibrium equation couples both macro and micro levels since, although the stresses are defined at the macrostructure, the constitutive equation ([[#eq-5.4|5.4]]) depends on the micro-structural topology. </li>
<li>Since the number of design variables will be, in the discrete sense, of the order of the product of the macroscopic Gauss-point and microscopic Gauss-points (each RVE must be designed), the optimization problem may become computationally unaffordable. </li>
</ol>
Note the slightly but essential difference formulation between the ''Point-to-point material design problem'', described in equation ([[#eq-5.3|5.3]]), with the ''macroscopic topology optimization'' problem, described in equation ([[#eq-5.1|5.1]]). The macroscopic characteristic design variable <math display="inline">\chi </math> turns into the microscopic characteristic design variable <math display="inline">\chi _{\mu }</math>.
==Algorithmic separability==
As pointed-out above, the addressed minimization problem in equation ([[#eq-5.3|5.3]]) entails multi-scale coupling and non-linear dependencies. A separation of the minimization problem is introduced here to overcome those difficulties. The original problem in equation ([[#eq-5.3|5.3]]) is rephrased as:
<span id="eq-5.5"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{cc}\underset{\sigma }{\hbox{minimize}} & \begin{array}{cc}\underset{\chi _{\mu }}{\hbox{minimize}} & \int _{\Omega }\sigma :\mathbb{C}_{h}^{-1}(\chi _{\mu }):\sigma \\ \hbox{ subjected to} & \frac{\int _{\Omega _{\mu }}\chi _{\mu }}{V_{\mu }}-1\leq{0}, \end{array}\\ \hbox{ subjected to} & \nabla \cdot \sigma =\rho b,\\ & \hbox{ + Boundary conditions.} \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (5.5)
|}
This subtle change could be thought as a different notation of the same problem or, even more stimulating, a way of solving the problem. Once in that stage, and inspired by the divide and conquer approach, a tentative second step consists of solving the minimization problem locally, i.e., rewriting equation ([[#eq-5.5|5.5]]) as,
<span id="eq-5.6"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{cc}\underset{\sigma }{\hbox{minimize}}\int _{\Omega } & \begin{array}{cc}\underset{\chi _{\mu }}{\hbox{minimize}} & \sigma :\mathbb{C}_{h}^{-1}(\chi _{\mu }):\sigma \\ \hbox{ subjected to} & \frac{\int _{\Omega _{\mu }}\chi _{\mu }}{V_{\mu }}-1\leq{0}, \end{array}\\ \hbox{ subjected to} & \nabla \cdot \sigma =\rho b,\\ & \hbox{ + Boundary conditions.} \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (5.6)
|}
where the leading change is the exchange between the minimization and the integral operator. Note that the equilibrium equation plus the boundary conditions are solved as a standard FEM equilibrium problem, that is,
<span id="eq-5.7"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>K(\chi _{\mu })u = F. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (5.7)
|}
Since all the unknowns and constraints of the minimization subproblem are defined locally at equation ([[#eq-5.5|5.5]]), the exchange can be done without altering the global solution. In other words, ''the micro-scale topologies that provide the minimum global (structural) compliance, are those micro-structure topologies that provide minimal “local compliances”.''
==Algorithmic complexity==
The algorithmic complexity (here understood as the number of operations to be performed) is tackled by considering a typical FEM discretization, involving, say, <math display="inline">n</math> finite elements at every scale and <math display="inline">o(n^{2})</math> design variables (<math display="inline">o(n)</math> values of the characteristic function <math display="inline">\chi _{\mu }</math> at the RVE, times <math display="inline">o(n)</math> macroscopic sampling points). Hence, one optimization problem with a total of <math display="inline">n_{T}=o(n^{2})</math> design variables has to be solved.
In contrast, problem ([[#eq-5.6|5.6]]), may be seen as a ''<math>o(n)</math> local design-variable optimization problem, solved <math>o(n)</math>'' ''times'' (one for every macroscopic sampling point). This makes an enormous difference in terms of the problem complexity and the corresponding computational cost.
With this new strategy, the local optimization problem is then sought, as iteratively solving the global equilibrium equation, starting with a given initial micro-structure topology distribution, and modifying it by a microscopic topology optimization algorithm leading to a new RVE topology (in an uncoupled way from the other RVE's), until convergence. Thus, a natural strategy to solve the problem consists of solving each local optimization in a parallel fashion, or, in other words, with these approach, the problem becomes embarrassingly parallel. A similar approach is presented in <span id='citeF-104'></span>[[#cite-104|[104]]].
===5.2.2 Vademecum-based approach for computational cost reduction===
Despite resorting to parallel computation, problem ([[#eq-5.6|5.6]]) still exhibits high complexity and it becomes computationally unaffordable for real-life problems. For this scenario, a more efficient approach is proposed here. The main idea consists of optimizing a priori a very large discrete-set of micro-structures, in the set of possible macro-stresses acting on the RVE, leading to the so-called Material Catalogue or Computational Vademecum <span id='citeF-105'></span>[[#cite-105|[105]]]. Then, when in the ''Point-to-point material design problem'' a certain optimal microstructure topology is requested, for a given stress-state at the macro-scale sampling point, the Vademecum is consulted and the closest optimal solution is extracted.
More precisely: given the mechanical properties of the base-material, the expensive computations requested for the Vademecum construction are done once-for-ever, in an off-line step, and the Vademecum outputs (typically the homogenized constitutive tensor, <math display="inline">\mathbb{C}_{h}</math>, solution of equation ([[#eq-3.129|3.129]]), are stored in a data-base for, a sufficiently large, discrete set of entries <math display="inline">\sigma{.}</math>
The actual multi-scale material design problem is then performed on-line, and it only involves a recursive equilibrium analysis at the micro-scale combined with ''consultations of the Vademecum''. This translates into an impressive reduction of the computational cost of the on-line material design process. It is highlighted that the Vademecum remains the same for a given base-material, independently of the macro-scale structural problem aimed at being optimized.
<div id='img-40'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-VademecumProcess.png|600px|Vademecum-based approach for ''material design'' problem. All the possible microscopic topology optimization problems are pre-computed. Instead of solving the corresponding microscopic topology optimization problem in each macroscopic Gauss point, the optimal topology is selected from the database (''Computational Vademecum'') leading to significant computational savings.]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 40:''' Vademecum-based approach for ''material design'' problem. All the possible microscopic topology optimization problems are pre-computed. Instead of solving the corresponding microscopic topology optimization problem in each macroscopic Gauss point, the optimal topology is selected from the database (''Computational Vademecum'') leading to significant computational savings.
|}
==Parametric domain description==
The parametric domain defines the range of the the space of all possible macroscopic stresses <math display="inline">\sigma </math>. Inspection of equation ([[#eq-5.6|5.6]]) shows that the modulus of <math display="inline">\sigma </math> does not play any role in the determination of the optimal RVE topology. In fact, it can be readily proven that
<span id="eq-5.8"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{rcl}\chi _{\mu } & = & \hbox{ arg}\left\{\begin{array}{cc}\underset{\chi _{\mu }}{\hbox{minimize}} & \sigma :\mathbb{C}_{h}^{-1}(\chi _{\mu }):\sigma \\ \hbox{ s.t.} & \int _{\Omega _{\mu }}\chi _{\mu }=V_{\mu } \end{array}\right\}=\\ \\ & = & \hbox{ arg}\left\{\begin{array}{cc}\underset{\chi _{\mu }}{\hbox{minimize}} & \frac{\sigma }{||\sigma ||}:\mathbb{C}_{h}^{-1}(\chi _{\mu }):\frac{\sigma }{||\sigma ||}\\ \hbox{ s.t.} & \int _{\Omega _{\mu }}\chi _{\mu }=V_{\mu } \end{array}\right\} \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (5.8)
|}
Therefore, <math display="inline">\frac{\sigma }{||\sigma ||}</math> is the actual Vademecum entry. For 2D cases, the relevant entries are then made of unit-modulus stress vectors, which lie in the unit-radius sphere and can be parametrized in terms of the two Euler angles, <math display="inline">\phi </math> and <math display="inline">\theta </math>. This is,
<span id="eq-5.9"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\sigma =\begin{array}{c} \sigma _{x}\\ \sigma _{y}\\ \sigma _{xy} \end{array}=\begin{array}{c} \hbox{cos}(\phi )\hbox{cos}(\theta )\\ \hbox{sin}(\phi )\hbox{cos}(\theta )\\ \hbox{sin}(\theta ) \end{array}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (5.9)
|}
Hence, the parametric domain is represented by the unit radius sphere. Each point of the sphere can be seen as a micro-structure optimization case, which returns some homogenized elastic properties associated to an optimal topology (see Figure [[#img-41|41]]).
<div id='img-41'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-Figure7.png|600px|The unit-radius spherical parametric domain (Computational Vademecum)]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 41:''' The unit-radius spherical parametric domain (Computational Vademecum)
|}
==Parametric domain discretization==
For the subsequent examples, the sphere has been discretized by means of a structured mesh of 16386 points. However, the bottom half points need not to be computed because they have an homologous point at the top half of the sphere. This is because <math display="inline">\sigma </math> or <math display="inline">-\sigma </math>, plugged in problem ([[#eq-5.8|5.8]]), result in the same objective function. Besides, only a quarter part of the top half of the sphere must be computed due to symmetries and mirroring. Consequently, an eighth of the whole sphere has been actually considered for the computations, resulting into 2145 points to be actually computed. It is also noticeable that every case/point is fully uncoupled from the others and, therefore, the Vademecum construction is optimally parallelizable in a distributed memory computer cluster.
By the use of the topological derivative and the Slerp algorithm fully explained in Chapter [[#3 Topological derivative and topology optimization|3]], some examples of this optimal RVE topologies can be seen in Figure [[#img-42|42]].
<div id='img-42'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-Figure8.png|600px|Typical micro-structure topology outputs of the Computational Vademecum]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 42:''' Typical micro-structure topology outputs of the Computational Vademecum
|}
All the microscopic topologies have been computed fulfilling a solid volume fraction <math display="inline">V_{\mu }=0.6</math>. It is worth mentioning that construction of such Vademecum requires a very robust methodology for the RVE topological design, so that, without the use of re-meshing, none of the desired entry points fails to be computed. In this sense, it has to be remarked that these results are obtained thanks to the use of the topological derivative concept, the Slerp algorithm and the ''Mixed Formulation'' (see Chapter [[#3 Topological derivative and topology optimization|3]]). All cases converged for a constant value of the penalty <math display="inline">\rho=1</math>, with a convergence tolerance <math display="inline">\epsilon _{\theta }<1^{o}</math> and a tolerance on the volume constraint <math display="inline">\hbox{TOL}<0.001</math>. In Figure [[#img-43|43]], we show the structured mesh with 6400 linear triangle elements.
<div id='img-43'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-MicroStructure.png|600px|Structured mesh used in the micro-structure topology optimization problem with 6400 standard linear triangular elements. Note that, the Slerp algorithm jointly with the ''Mixed formulation'' explained in Chapter [[#3 Topological derivative and topology optimization|3]] has converged in 2145 cases without considering re-meshing techniques.]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 43:''' Structured mesh used in the micro-structure topology optimization problem with 6400 standard linear triangular elements. Note that, the Slerp algorithm jointly with the ''Mixed formulation'' explained in Chapter [[#3 Topological derivative and topology optimization|3]] has converged in 2145 cases without considering re-meshing techniques.
|}
It is also remarkable from Figure [[#img-42|42]], that, for many cases, the obtained optimal topologies are far from being intuitive. Associated to the optimal topologies, and based on problem ([[#eq-5.8|5.8]]), the corresponding RVE compliances for every point of the parametric space are computed, and they are displayed in Figure [[#img-44|44]].
<div id='img-44'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-Figure9.png|600px|Optimal compliance values over the parametric domain]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 44:''' Optimal compliance values over the parametric domain
|}
It has to be emphasized that, from the theoretical point of view, achieving a global minimum in all cases is not guaranteed, although numerical experiences have evidenced that the obtained compliances remain similar when changing the initial guess.
As explained in Chapter [[#2 Background and review of the state of the art|2]], the homogenized constitutive operator, <math display="inline">\mathbb{C}_{h}</math>, constitutes the relevant output of the Vademecum since this is the only data retrieved from the micro-scale to the macro-scale computations (see equation ([[#eq-5.8|5.8]])). Accordingly, in Figure [[#img-45|45]], the Vademecum outputs for the optimal homogenized components of <math display="inline">\mathbb{C}_{h}</math> are presented.
<div id='img-45'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-Figure10.png|600px|Maps of the constitutive tensor components on the unit-radius spherical parametric domain. ]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 45:''' Maps of the constitutive tensor components on the unit-radius spherical parametric domain.
|}
There, the major symmetries of <math display="inline">\mathbb{C}^{h}</math> (symmetric character of the maps of the symmetric components) as well as the rotated mirroring <math display="inline">\mathbb{C}_{11}</math>- <math display="inline">\mathbb{C}_{22}</math> and <math display="inline">\mathbb{C}_{13}</math>- <math display="inline">\mathbb{C}_{23}</math> can be observed.
===5.2.3 Algorithm for the Point-to-point material design ===
The strategy of the problem relies on the alternate direction algorithm, widely used in literature, see <span id='citeF-106'></span>[[#cite-106|[106]]]. We explain carefully the details in Algorithm [[#algorithm-2|2]].
{| style="margin: 1em auto;border: 1px solid darkgray;"
|-
|
:'''Input:''' Set an initial micro-structure topology distribution <math display="inline">\chi _{\mu }^{0}</math> with <math display="inline">\sigma _{0}</math> as the stresses obtained by ([[#eq-5.7|5.7]]).
<ol>
<li>Selecting from the Computational Vademecum (the nearest point), solve </li>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \chi _{\mu }^{k+1}=\hbox{arg}\left\{\begin{array}{cc} \underset{\chi _{\mu }}{\hbox{minimize}} & {\sigma _{k}}:\mathbb{C}_{h}^{-1}(\chi _{\mu }):\sigma _{k}\\ \hbox{ s.t.} & \int _{\Omega _{\mu }}\chi _{\mu }=V_{\mu } \end{array}\right\} </math>
|}
|}
<li>Solve an standard equilibrium equation (<math display="inline">u_{k+1},\sigma _{k+1}</math>) with <math display="inline">\chi _{\mu }^{k+1}</math> in ([[#eq-5.7|5.7]]). </li>
<li>Update stopping criteria <math display="inline">\epsilon _{k}=\frac{||u_{k+1}-u_{k}||}{||u_{0}||}</math>. </li>
<li>If <math display="inline">\epsilon _{k}<</math> TOL, then STOP. Otherwise increase iteration <math display="inline">k=k+1</math> and return to 1). </li>
</ol>
|-
| style="text-align: center; font-size: 75%;"|
<span id='algorithm-2'></span>'''Algorithm. 2''' Alternate directions algorithm for the ''Point-to-point material design problem''.
|}
===5.2.4 Numerical results of the Point-to-point material design problem ===
In order to assess the proposed approach some numerical examples are presented next. In all cases the solid volume fraction at the RVE is fixed to <math display="inline">V_{\mu }=0.6</math>. As start point in the iterative process, a micro-structure with a centered circular void fulfilling the volume fraction constraint is considered over all the macroscopic domain (see Figure [[#img-46|46]]-(a)).
==Cantilever Beam==
The ''Point-to-point material design approach'' is first applied to the Cantilever beam example shown in Figure [[#img-46|46]]. The dimensions are 2 meter length <math display="inline">\times </math> 1 meter height, and plane stress conditions are assumed. The beam is loaded by a unit vertical point force, at the right end center, and it is clamped at the left end.
This rectangular macroscopic domain, is discretized into <math display="inline">2618</math> <math display="inline">\mathbb{P}_{1}</math> triangular elements. The elastic properties of the basis material are: Young Modulus <math display="inline">E_{\mu }=1</math> and Poisson ratio <math display="inline">\nu _{\mu }=0.3</math>. In Figure [[#img-46|46]], the evolution of the micro-structure topology, along the iterative design process is displayed.
<div id='img-46'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-Figure11.png|600px|''Point-to-point material design approach ''applied to the Cantilever beam example. Due to the alternate direction algorithm, convergence is achieved in few iterations. In addition, due to the ''Computational Vademecum'' or Material Catalogue, the cost of solving a microscopic topology optimization problem in each macroscopic sampling point is replaced by selecting the pre-computed optimal microscopic topology. ]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 46:''' ''Point-to-point material design approach ''applied to the Cantilever beam example. Due to the alternate direction algorithm, convergence is achieved in few iterations. In addition, due to the ''Computational Vademecum'' or Material Catalogue, the cost of solving a microscopic topology optimization problem in each macroscopic sampling point is replaced by selecting the pre-computed optimal microscopic topology.
|}
In Figure [[#img-47|47]], the evolution of the global cost function (structural compliance) and of the residue (in terms of displacements) of the alternate directions algorithm is depicted. As it can be checked there, four iterations suffice to achieve full convergence with a 30% reduction of the original compliance. The convergence ratio of the iterative process is at most linear, as expected from the used alternate directions algorithm.
<div id='img-47'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-Figure12.png|600px|Compliance and residue evolution of the alternate directions algorithm applied to the Cantilever beam example solved by the ''Point-to-point material design approach''.]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 47:''' Compliance and residue evolution of the alternate directions algorithm applied to the Cantilever beam example solved by the ''Point-to-point material design approach''.
|}
==Bending Beam==
The ''Point-to-point material design approach'' is now applied to a standard supported Bending beam. The same macroscopic domain is now discretized in <math display="inline">5056</math> linear triangular elements. The beam is loaded with a vertical unitary force at the mid-span (see Figure [[#img-48|48]]). The elastic properties of the basis material are: Young Modulus <math display="inline">E_{\mu }=1</math> and Poisson ratio <math display="inline">\nu _{\mu }=0.3</math>.
<div id='img-48'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-Figure13.png|600px|''Point-to-point material design approach ''applied to the Bending beam example. Due to the alternate direction algorithm, convergence is achieved in few iterations. In addition, due to the ''Computational Vademecum'' or Material Catalogue, the cost of solving a microscopic topology optimization problem in each macroscopic sampling point is replaced by selecting the pre-computed optimal microscopic topology.]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 48:''' ''Point-to-point material design approach ''applied to the Bending beam example. Due to the alternate direction algorithm, convergence is achieved in few iterations. In addition, due to the ''Computational Vademecum'' or Material Catalogue, the cost of solving a microscopic topology optimization problem in each macroscopic sampling point is replaced by selecting the pre-computed optimal microscopic topology.
|}
The evolving micro-structure distribution during the iterative design process is depicted in Figure [[#img-48|48]]. In Figure [[#img-49|49]], a fast convergence is achieved also in this case (six iterations) leading to almost 40% reduction of the structural compliance.
<div id='img-49'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-Figure14.png|600px|Compliance and residue evolution of the alternate directions algorithm applied to the Bending beam example solved by the ''Point-to-point material design approach''.]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 49:''' Compliance and residue evolution of the alternate directions algorithm applied to the Bending beam example solved by the ''Point-to-point material design approach''.
|}
Note that, due to the Computational Vademecum, these two numerical examples have been solved in less than one minute of computation with a standard PC (3.40GHz processor in a 64-bit architecture) in a Matlab<math display="inline">^{\mbox{©}}</math> environment.
==5.3 Component-based approach for material design problem==
One may argue that alternate direction algorithm [[#algorithm-2|2]] theoretically solves the ''Point-to-point material design'' problem ([[#eq-5.6|5.6]]). However, the results of the ''Point-to-point material design approach ''present relevant manufacturing limitations. Designing the material of a structure which has different micro-structure point to point seems unrealistic. Since this work aims at presenting clear realistic results, some additional constraints in problem ([[#eq-5.6|5.6]]) are now considered. It gives rise to the hereafter termed ''Component-based material design problem.''
===5.3.1 Formulation of the problem===
In order to establish such manufacturing constraints, the macro-structure is divided in several sub-domains and a constant micro-structure is imposed in each sub-domain. In optimization terms, it can be cast as,
<span id="eq-5.10"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{cc}\underset{\sigma ,\chi _{\mu _{i}}}{\hbox{minimize}} & \underset{i}{\overset{n}{\sum }}\int _{\Omega _{i}}\sigma :\mathbb{C}_{h}^{-1}(\chi _{\mu _{i}}):\sigma \\ \hbox{ subjected to:} & \int _{\Omega _{\mu _{i}}}\chi _{\mu _{i}}\leq V_{\mu },\\ & \nabla \cdot \sigma=0,\\ & \hbox{ + Boundary conditions.} \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (5.10)
|}
where <math display="inline">\Omega _{i}</math> stands for the volume of each sub-domain ( <math display="inline">\underset{i}{\overset{n}{\cup }}\Omega _{i}=\Omega </math>) . Figure [[#img-50|50]] depicts roughly how the ''Point-to-Point material design problem ''becomes'' the Component-based material design problem. ''
<div id='img-50'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-DiscreteOneScale.png|600px|Representation of how the ''Point-to-Point material design problem ''becomes'' the Component-based material design problem''. The domain is now divided in sub-domains (components) and the micro-structure is imposed to be homogeneous in each sub-domain in order to fulfill manufacturing constraints. ]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 50:''' Representation of how the ''Point-to-Point material design problem ''becomes'' the Component-based material design problem''. The domain is now divided in sub-domains (components) and the micro-structure is imposed to be homogeneous in each sub-domain in order to fulfill manufacturing constraints.
|}
In this approach, it is supposed that the partition of the domain is provided by the user depending on its interests and manufacturing capacities. Nevertheless, aeronautical industry, among others, trusts on first producing by components and then assemble them. Thus, each component is build and manufactured independently and the partition of the domain is straightforwardly decided (each components stands for a sub-domain). In Figure [[#img-51|51]], a representation of the component-based manufacturability is shown.
<div id='img-51'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-Component-based figure.png|600px|]]
|[[Image:draft_Samper_118254298-WingComponents.png|600px|Aeronautical industry trusts on first producing the components and after assembling them. The components appear as a natural partition of the domain and entail manufacturing constraints that must be added to the topology optimization problem. ]]
|- style="text-align: center; font-size: 75%;"
| colspan="2" | '''Figure 51:''' Aeronautical industry trusts on first producing the components and after assembling them. The components appear as a natural partition of the domain and entail manufacturing constraints that must be added to the topology optimization problem.
|}
From the optimization point of view, the manufacturability constraints impose the same micro-structure in each component. This turns into a decrease of the number of design variables. Thus, the'' Component-based material design problem'' ([[#eq-5.10|5.10]]) can be seen a priori more affordable than ''the Point-to-Point material design ''problem. However, the opposite happens. On the one hand, the decoupling, shown in equation ([[#eq-5.8|5.8]]), no longer holds. On the other hand, the number of design variables increase simultaneously with the number of components.
===5.3.2 Sub-optimal formulation of the component-based material design problem===
These reasons give rise to propose, as a remedy, a re-formulation of the'' Component-based material design problem'' ([[#eq-5.10|5.10]]). In mathematical terms, we propose the following (sub-optimal but feasible) problem:
<span id="eq-5.11"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{cc}\underset{\sigma ,\chi _{\mu _{i}}\in \mathbb{V}}{\hbox{minimize}} & \underset{i}{\overset{n}{\sum }}\int _{\Omega _{i}}\sigma :\mathbb{C}_{h}^{-1}(\chi _{\mu _{i}}):\sigma \\ \hbox{ subjected to:} & \nabla \cdot \sigma=0,\\ & \hbox{ + Boundary conditions.}\\ \\ \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (5.11)
|}
where <math display="inline">\mathbb{V}</math> corresponds to the ''Vademecum'' space
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\mathbb{V}=\{ \chi _{\mu }\in L^{\infty }(\Omega ,\{ 0,1\} )\,\,|\,\,\chi _{\mu }\hbox{ solves problem (5.2)}\} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (5.12)
|}
and <math display="inline">n</math> stands for the number of sub-domains. In other words, the possible micro-structure topologies are going to be searched in the ''Computational Vademecum'', i.e., in the database generated off-line, even if they are not optimal with respect the current stress state of the sub-domain.
Instead of looking for the optimal micro-structure topologies of a sub-domain in the all possible micro-structure topology set, we rather prefer seeking it in the already computed Vademecum set. Certainly, as a disadvantage, it leads to sub-optimal solutions. Nevertheless, as an advantage, the computations of solving all the microscopic topology optimization problems (in each component in each iteration) are saved.
Defining <math display="inline">\chi _{\mu }^{p2p}</math> the solution of the ''Point-to-Point material design problem'' ([[#eq-5.5|5.5]]), <math display="inline">\chi _{\mu }^{man}</math> the solution of ''Component-based material design problem'' ([[#eq-5.10|5.10]]), and <math display="inline">\chi _{\mu \hbox{ }}^{com}</math> the solution of the ''Sub-optimal'' ''component-based material design problem'' ([[#eq-5.11|5.11]]), the cost function certainly satisfies
<span id="eq-5.13"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>J(\chi _{\mu }^{p2p})\leq J(\chi _{\mu }^{man})\leq J(\chi _{\mu \hbox{ }}^{com}). </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (5.13)
|}
Since the ''Component-based material design problem ''([[#eq-5.10|5.10]]) will not be tackled, hereafter the ''Sub-optimal'' ''component-based material design problem ''will be termed ''Component-based material design problem'' indistinguishably.
===5.3.3 Algorithm of the component-based material design problem ===
As proposed in the ''Point-to-Point material design problem'' ([[#eq-5.5|5.5]]), an alternate direction algorithm is used for solving the ''Component-based material design problem'' ([[#eq-5.11|5.11]]). The resulting strategy mainly mimics, roughly speaking, the one proposed in the ''Point-to-Point material design problem''. It takes advantage of the separability property (the sub-domains plays the role of the Gauss points) and the computational savings due to the micro-structure database (''Computational Vademecum'').
However, for the material design iteration of Algorithm [[#algorithm-2|2]], an slightly different problem must be solved. More specifically, for a stress state value, instead of problem ([[#eq-5.2|5.2]]), the micro-structure topologies must solve the following problem
<span id="eq-5.14"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{cc}\underset{\chi _{\mu _{i}}\in \mathbb{V}}{\hbox{minimize}} & {\displaystyle \int _{\Omega _{i}}}\sigma :\mathbb{C}_{h}^{-1}(\chi _{\mu _{i}}):\sigma \end{array}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (5.14)
|}
In turn, since the ''Computational Vademecum'' space <math display="inline">\mathbb{V}</math> (unit sphere) can be parameterized in two variables (<math display="inline">\theta </math> and <math display="inline">\phi </math>), problem ([[#eq-5.14|5.14]]) can be rewritten in the following terms,
<span id="eq-5.15"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{cc}\underset{\theta ,\phi }{\hbox{minimize}} & \int _{\Omega _{i}}\sigma :\mathbb{C}_{h}^{-1}(\theta ,\phi ):\sigma{.}\end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (5.15)
|}
In fact, an optimization problem of two variables must be solved for each sub-domain. More specifically, the optimization problem consists in finding in the unit sphere (''Computational Vademecum''), the point (micro-structure) that minimize the most the compliance.
In our case, we try all the possible constitutive tensors of our database, selecting the one that provides the minimum value of the cost. Certainly, better and more efficient procedures can be proposed. However, since the value of the constitutive tensor is already stored, only simple matrix-vector product must be computed. Our experience shows that this computational operation is much less significant than solving the FEM system of equations which, in computational terms, represents the bottle-neck of the problem. This strategy is summarized in Algorithm [[#algorithm-3|3]].
{| style="margin: 1em auto;border: 1px solid darkgray;"
|-
|
:'''Input:''' Set an initial micro-structure topology distribution <math display="inline">\chi _{\mu _{i}}^{0}</math> with <math display="inline">\sigma _{0}</math> as the stresses obtained by ([[#eq-5.7|5.7]]).
<ol>
<li>For each sub-domain <math display="inline">i</math>, selecting from all the Computational Vademecum <math display="inline">\mathbb{V}</math>, take </li>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \chi _{\mu _{i}}^{k+1}=\hbox{arg}\left\{\begin{array}{cc} \underset{\chi _{\mu _{i}}\in \mathbb{V}}{\hbox{minimize}} & \int _{\Omega _{i}}\sigma _{k}:\mathbb{C}_{h}^{-1}(\chi _{\mu _{i}}):\sigma _{k}\end{array}\right\} </math>
|}
|}
<li>Solve a standard equilibrium equation (<math display="inline">u_{k+1},\sigma _{k+1}</math>) with <math display="inline">\chi _{\mu _{i}}^{k+1}</math> in ([[#eq-5.7|5.7]]). </li>
<li>Update stopping criteria <math display="inline">\epsilon _{k}=\frac{||u_{k+1}-u_{k}||}{||u_{0}||}</math>. </li>
<li>If <math display="inline">\epsilon _{k}<</math> TOL, then STOP. Otherwise increase iteration <math display="inline">k=k+1</math> and return to 1). </li>
</ol>
|-
| style="text-align: center; font-size: 75%;"|
<span id='algorithm-3'></span>'''Algorithm. 3''' Alternate directions for the ''Component-based material design problem''.
|}
===5.3.4 Numerical results of the component-based material design problem===
Two numerical examples are performed in order to show the ''Component-based material design'' strategy.
==Aerodynamic profile==
We consider an aerodynamic profile as the first numerical example. Note that, from the structural point of view, it stands for a standard wing rib.
Although the bending forces and the instabilities such as buckling, strongly determine the optimal design, we assume plane stress state. In addition, the aerodynamic forces (Lift <math display="inline">L=10</math> and Drag <math display="inline">D=1</math>) are modeled as singular forces applied on the aerodynamic center (see Figure [[#img-52|52]]). The aerodynamic profile is discretized with the unstructured mesh and the domain is partitioned in four components (see Figure [[#img-52|52]]).
<div id='img-52'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-AirfoilForces2.png|600px|]]
|[[Image:draft_Samper_118254298-RibOneScaleWithComponents.png|600px|Boundary conditions and discretization of the aerodynamic profile with an unstructured mesh. The partition of the domain by components is also shown.]]
|- style="text-align: center; font-size: 75%;"
| colspan="2" | '''Figure 52:''' Boundary conditions and discretization of the aerodynamic profile with an unstructured mesh. The partition of the domain by components is also shown.
|}
As a starting point, micro-structure topologies with a circular hole that fulfills the desired fraction value <math display="inline">V_{\mu }=0.6</math> are considered. Thus, the initial iteration corresponds indeed to a feasible iteration. In order to shed light on the alternate direction algorithm [[#5.3.3 Algorithm of the component-based material design problem |5.3.3]] of the component-based material design problem, we show, in Figure [[#img-53|53]], the descent different directions in different columns. In the first column, we solve an equilibrium equation, which in optimization terms, leads to minimize the compliance respect to the stresses <math display="inline">\sigma </math>. The decrease on the cost due to the equilibrium is represented in blue on the cost function line. On the contrary, the decrease on the cost when selecting the optimal micro-structures (minimizing respect to <math display="inline">\chi _{\mu }</math>) is shown in red and it is represented on the second column of Figure [[#img-53|53]].
<div id='img-53'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|
{| style="text-align: center; margin: 1em auto;min-width:50%;width:100%;"
|- style="border-top: 2px solid;"
| style="border-left: 2px solid;" | Minimizing respect to <math>\sigma </math>
| style="border-right: 2px solid;" |
| style="border-left: 2px solid;" |
| style="border-right: 2px solid;" | Minimizing respect to <math>\chi _{\mu }</math>
|- style="border-top: 2px solid;"
| style="border-left: 2px solid;" | [[Image:draft_Samper_118254298-Airfoil1.png|300px|figures/Airfoil1]]
| style="border-right: 2px solid;" |
| style="border-left: 2px solid;" |
| style="border-right: 2px solid;" | [[Image:draft_Samper_118254298-Airfoil2.png|300px|figures/Airfoil2]]
|- style="border-top: 2px solid;"
| style="border-left: 2px solid;" | [[Image:draft_Samper_118254298-Airfoil3.png|300px|figures/Airfoil3]]
| style="border-right: 2px solid;" |
| style="border-left: 2px solid;" |
| style="border-right: 2px solid;" | [[Image:draft_Samper_118254298-Airfoil4.png|300px|figures/Airfoil4]]
|- style="border-top: 2px solid;"
| style="border-left: 2px solid;" | [[Image:draft_Samper_118254298-Airfoil5.png|300px|figures/Airfoil5]]
| style="border-right: 2px solid;" |
| style="border-left: 2px solid;" |
| style="border-right: 2px solid;" | [[Image:draft_Samper_118254298-Airfoil6.png|300px|figures/Airfoil6]]
|- style="border-top: 2px solid;border-bottom: 2px solid;"
| style="border-left: 2px solid;" | [[Image:draft_Samper_118254298-Airfoil7.png|300px|figures/Airfoil7]]
| style="border-right: 2px solid;" |
| style="border-left: 2px solid;" |
| style="border-right: 2px solid;" | [[Image:draft_Samper_118254298-Airfoil8.png|300px|figures/Airfoil8]]
|}
|-
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 53:''' Aerodynamic profile example of the problem. Representation of the micro-structure history iterations. In the left column, the cost is minimized respect to <math>\sigma </math> and it is shown in blue in the cost. In the right column, the cost is minimized respect to <math>\chi _{\mu }</math> and it is represented in red. This representation of the iterations spreads the spirit of the alternate direction algorithm.
|}
Note that the algorithm converges extremely fast, almost one iteration of minimizing with respect to <math display="inline">\chi _{\mu }</math> is needed to decrease the major part of the cost function. In this case, the optimal ''component-based material design'' solution provides an increasing of around a 16% of the stiffness with respect to the initial iteration by providing appropriate micro-structures on each component.
==Bending beam==
We present the bending beam as the second ''Component-based material design'' example. The dimensions are 2 meter length <math display="inline">\times </math> 1 meter height, and plane stress conditions are assumed. The domain is discretized with a non-structured mesh with <math display="inline">5056</math> linear triangular element. The elastic properties of the basis material are: Young Modulus <math display="inline">E_{\mu }=1</math> and Poisson ratio <math display="inline">\nu _{\mu }=0.3</math>. In addition, the domain is regularly partitioned in 8 sub-domains (see Figure [[#img-54|54]]). The starting micro-structure topologies are taken as in the aerodynamic profile example. In Figure [[#img-54|54]], intermediate and final iterations are also shown.
<div id='img-54a'></div>
<div id='img-54b'></div>
<div id='img-54'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-InitialGuessOneScaleDiscrete.png|600px|Iteration 1]]
|[[Image:draft_Samper_118254298-DiscreteIteration1OneScale.png|600px|Iteration 2]]
|- style="text-align: center; font-size: 75%;"
| (a) Iteration 1
| (b) Iteration 2
|-
|[[Image:draft_Samper_118254298-DiscreteIteration3OneScale.png|600px|]]
|[[Image:draft_Samper_118254298-DiscreteSolutionOneScale.png|600px|C''omponent-based material design'' problem applied to the bending beam example. Homogeneous material distribution is used in the first iteration and different micro-structures appear during the iteration process. The material is not designed ''Point-to-point'', the same micro-structure is designed in all the sub-domain (fulfilling manufacturing constrains).]]
|- style="text-align: center; font-size: 75%;"
| colspan="2" | '''Figure 54:''' C''omponent-based material design'' problem applied to the bending beam example. Homogeneous material distribution is used in the first iteration and different micro-structures appear during the iteration process. The material is not designed ''Point-to-point'', the same micro-structure is designed in all the sub-domain (fulfilling manufacturing constrains).
|}
Note that, in this case, the C''omponent-based material design'' algorithm converges in just four iterations.
===5.3.5 Comparison between Point-to-point and Component-based material design problem===
At this point, it is convenient to compare the ''Point-to-point'' and ''Component-based material design ''approaches. Certainly, both approaches tackle the same optimization problem with the difference that the former includes more number of design variables. According to equation ([[#eq-5.13|5.13]]), this fact should result into smaller values of the cost function. In Figure [[#img-55|55]], the cost function for both approaches, in the case of the Bending beam example, is depicted. As expected, the ''Point-to-point material design'' approach achieves smaller values of the cost function.
In the case of ''Point-to-point material design approach,'' the compliance decreases around 35% while in the case of ''Component-based material design approach'' the compliance decreases around 18% In both cases the stopping criteria is taken as <math display="inline">\epsilon _{k}=10^{-2}.</math> Note that, although a strong non linearity is faced, convergence is achieved in just few iterations. Additionally, it is worth stressing that, due to the Computational Vademecum, this two numerical examples have been solved in less than five minutes of computation with a standard PC (3.40GHz processor in a 64-bit architecture) in a Matlab<math display="inline">^{\mbox{©}}</math> environment.
<div id='img-55'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-DiscreteVsContiousOneScale.png|600px|Compliance comparison between ''Point-to-point'' (blue) and ''Component-based material design ''approach (red) for the Bending beam example. ]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 55:''' Compliance comparison between ''Point-to-point'' (blue) and ''Component-based material design ''approach (red) for the Bending beam example.
|}
===5.3.6 Consistency and efficiency===
At this point, two different kind of approaches have been proposed to solve the problem: the ''Point-to-point'' ''material design ''approach that leads to optimal solutions without considering manufacturing conditions and the ''Component-based material design approach'' that considers manufacturing conditions at the cost of achieving sub-optimal solutions.
As mentioned in ([[#eq-5.11|5.11]]), the main idea of the ''Component-based material design approach'' lies on assuming homogeneous material distribution in each sub-domain. In principle, the sub-domain partition is a priory decided by the user depending on the particularities of the problem. However, it seems clear that, for a fixed domain, the number of variables of the optimization problem increases insofar as the number of sub-domains increases and, consequently, the objective function may decrease.
Therefore, the following question arises naturally: ''does a sequence of problems solved by the Component-based material design approach, in which the number of subdivisions increases, converge to the solution of the problem solved by the Point-to-point material design approach when the size of the sub-domains coincides with the size of the elements?''. In other words, if the ''Component-based material design approach'' is applied to a problem with the size of the elements of the size of the sub-domain and its compliance is compared with the compliance obtained by the ''Point-to-point'' ''material design ''approach, do we obtain the same values? If this is the case, we say that the'' Component-based material design ''approach is a consistent approach.
Similarly, the second question arises as:'' if in the case of the study, the size of the sub-domain can be arbitrary decided, which size should be selected, and how will it influence on the cost function?'' This second question, later explained, is related with the efficiency concept.
==Consistency==
Let's study a sequence of ''Component-based material design'' problems in which the number of sub-domains increases so that in the last cast each sub-domain coincides with the size of the elements. Then, we compare with the solution of the same problem solved by the ''Point-to-point material design ''approach.
To this end, we apply both methodologies to the Bending beam example. The domain is discretized with a regular coarse mesh of <math display="inline">128</math> <math display="inline">\mathbb{Q}_{1}</math> elements. We consider <math display="inline">\mathbb{Q}_{1}</math> Finite Elements since they can be easily identified as a square sub-domain.
The sequence of problems with different sub-domains starts by considering the problem with only one sub-domain (homogeneous material distribution over all the domain). Then it is divided in <math display="inline">2,</math> <math display="inline">8,</math> <math display="inline">32</math> and <math display="inline">128</math> sub-domains. A full illustration of the sequence of problems used for the computations is shown in Figure [[#img-56|56]]. Regarding the boundary conditions, a concentrated force is applied in the middle top part of the domain and it is supported on the bottom corners. The dimension of the domain is <math display="inline">2\hbox{x}1</math>.
<div id='img-56'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-1SubDomain.png|300px|]]
|[[Image:draft_Samper_118254298-2SubDomain.png|300px|]]
|-
|[[Image:draft_Samper_118254298-8SubDomain.png|300px|]]
|[[Image:draft_Samper_118254298-32SubDomains.png|300px|]]
|-
| colspan="2"|[[Image:draft_Samper_118254298-128SubDomains.png|300px|A sequence of problems, with different number of sub-domains, is represented. The aim is to study the convergence of the ''Component-based material design ''approach to the ''Point-to-point'' ''material design ''approach. ]]
|- style="text-align: center; font-size: 75%;"
| colspan="2" | '''Figure 56:''' A sequence of problems, with different number of sub-domains, is represented. The aim is to study the convergence of the ''Component-based material design ''approach to the ''Point-to-point'' ''material design ''approach.
|}
We depict in Figure [[#img-57|57]] the values of the compliance.
<div id='img-57'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-ConsistencyFigure.png|600px|Representation of the compliance values as a function of the number of iterations for the sequence of sub-problems shown in Figure [[#img-56|56]]. In sky-blue, the compliance for the ''Point-to-point material design'' approach is depicted. As expected, the ''Point-to-point material design'' solution behaves as a lower bound of the ''Component-based material design'' approach. ]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 57:''' Representation of the compliance values as a function of the number of iterations for the sequence of sub-problems shown in Figure [[#img-56|56]]. In sky-blue, the compliance for the ''Point-to-point material design'' approach is depicted. As expected, the ''Point-to-point material design'' solution behaves as a lower bound of the ''Component-based material design'' approach.
|}
We observe that in each case the minimums of the compliance decrease monotonically as the number of sub-domains increases. The increasing number of iterations required to reach the optimal solution should not be worrisome since in real applications, the number of sub-domains are expected to be small enough. Clearly, this behavior is a consequence of the increment of design variables produced by the increment of sub-domains.
The compliance of the ''Point-to-point material design approach ''is also included in Figure [[#img-57|57]] as a reference. This solution can be interpreted a lower bound of the ''Component-based material design approach''. This result illustrates the inequality constraint state in relation ([[#eq-5.13|5.13]]). Note that the compliance value obtained in this case of <math display="inline">128</math> sub-domains, in which the elements and sub-domains coincides, is not equal to the value of the ''Point-to-point material design approach''. The reason lies in the fact that, in the <math display="inline">128</math> sub-domains, the four Gauss point of each <math display="inline">\mathbb{Q}_{\hbox{1}}</math> element takes the same micro-structure while this is not the case in the ''Point-to-point material design approach''. Hence, it achieves smaller values on the cost. In Figure [[#img-58|58]], we can observe how the solution of the ''Point-to-point material design'' approach converges to the ''Component-based material design a''pproach.
<div id='img-58'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-ConsistencyFinal.png|600px|Convergence of the ''Component-based material design'' approach to the ''Point-to-point material design'' approach. The compliance values are represented in blue for the sequence of problems using the ''Component-based material design'' approach shown in Figure [[#img-56|56]]. In red, the optimal value of the compliance obtained by the ''Point-to-point material design'' approach. Note the convergence of both approaches as the number of sub-domains converge to the number of elements. ]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 58:''' Convergence of the ''Component-based material design'' approach to the ''Point-to-point material design'' approach. The compliance values are represented in blue for the sequence of problems using the ''Component-based material design'' approach shown in Figure [[#img-56|56]]. In red, the optimal value of the compliance obtained by the ''Point-to-point material design'' approach. Note the convergence of both approaches as the number of sub-domains converge to the number of elements.
|}
==Efficiency==
To this end, we define the efficiency parameter <math display="inline">\eta _{eff}</math> as the normalized difference between the optimal solution obtained by the ''Point-to-point material design'' <math display="inline">\chi _{\mu }^{p2p}</math> and the sub-optimal solution obtained by the ''Component-based material design'' <math display="inline">\chi _{\mu }^{com}</math> with a fixed number of sub-domains, that is,
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\eta _{eff}=\frac{\left|J(\chi _{\mu }^{com})-J(\chi _{\mu }^{p2p})\right|}{\left|J(\chi _{\mu }^{p2p})\right|}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (5.16)
|}
According to the compliance inequalities stated in relation ([[#eq-5.13|5.13]]) holds, the efficiency parameter takes always positive values. In Figure [[#img-59|59]], we depict the variation of the efficiency parameter with the number of sub-domains.
<div id='img-59'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-EfficiencyFinal.png|600px|Representation of the efficiency parameter η<sub>eff</sub> as a function of the number of sub-domains. With just a small number of sub-domains, the solution is close the optimal (theoretical) solution. In view of this, ''Component-based material design'' allows obtaining manufacturing design at the cost of slightly reducing the stiffness of the structure. ]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 59:''' Representation of the efficiency parameter <math>\eta _{eff}</math> as a function of the number of sub-domains. With just a small number of sub-domains, the solution is close the optimal (theoretical) solution. In view of this, ''Component-based material design'' allows obtaining manufacturing design at the cost of slightly reducing the stiffness of the structure.
|}
We first observe how the efficiency value increases when the number of sub-domains increases but this is at the cost of adding manufacturing limitations. Thus, the problem is governed by a trade-off between efficiency and manufacturing aspects. Figure [[#img-59|59]], rather than determining the optimal number of sub-domain, shows the dependency between the efficiency and the number of sub-domains. The determination of the appropriate number of sub-domains falls on the interests and limitations of the user. In this sense, note that, in Figure [[#img-59|59]], with only one sub-domain, i.e, by just deciding the optimal micro-structure used in the whole domain, we obtain almost a <math display="inline">50%</math> of efficiency. Note that the efficiency considerably increases with a slight increase of the number of sub-domains. This result shows that with just a small number of sub-domains, the solution is close to the optimal (theoretical) value.
==5.4 Multi-scale topology optimization==
At this point, instead of the standard macroscopic topology optimization problem, the ''Point-to-point material design ''approach (or the ''Component-based material design'' approach when considering manufacturing constraints) has been used to maximize the stiffness of the structure by considering the micro-structure topologies, instead of the macroscopic topology, as a design variable. However, one could maximize the stiffness of a structure by designing at the same time the macroscopic topology and the material design (microscopic topology in each macroscopic Gauss point). Hence, this problem is, hereafter, termed ''multi-scale topology optimization''. Similarly, the multi-scale topology optimization may result into a ''Point-to-point'' or ''Component-based'' topological optimization.
===5.4.1 Point-to-point multi-scale topology optimization===
The main idea relies on solving a macro-structural optimization problem and, simultaneously, solve a ''Point-to-point material design'' problem in each iteration. This procedure is possible because of the efficient and the reduced time-consuming approach produced by the Computational Vademecum strategy. In mathematical terms, it can be understood as a generalization of the alternate direction algorithm by adding a new variable <math display="inline">\chi </math>, which corresponds to the standard macro-structure topology optimization design variable. More specifically, due to the alternate direction algorithm, during the iterations, we can uncouple the macroscopic topology problem with the ''Point-to-point material design'' problem. For solving the latter, we naturally take profit of the algorithm proposed in section [[#5.2.3 Algorithm for the Point-to-point material design |5.2.3]] .
==Formulation==
Formally, the two-scale topology optimization problem can be presented in the following terms,
<span id="eq-5.17"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{cc}\underset{\sigma ,\chi _{\mu },\chi }{\hbox{minimize}} & \int _{\Omega }\chi \sigma :\mathbb{C}_{h}^{-1}(\chi _{\mu }):\sigma \\ \hbox{ subjected to:} & \int _{\Omega _{\mu }}\chi _{\mu }\leq V_{\mu },\\ & \nabla \cdot \sigma=0,\\ & \hbox{ + Boundary conditions.} \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (5.17)
|}
The addition of the characteristic function <math display="inline">\chi </math> extends the ''Point-to-point material design'' problem to the ''Point-to-point multi-scale topology optimization'' problem. Certainly, the comments described in the material design version remains true in the multi-scale version. Only, the additional difficulties of designing the macro-scale must be considered. Thus, the ''multi-scale topology optimization'' problem presents, even more evidently, strong non-linearities and high time-consuming computations. The number of design variables are of the order of the macroscopic Gauss-points times the microscopic Gauss-points for <math display="inline">\chi _{\mu }</math> plus the order of macroscopic Gauss-points of <math display="inline">\sigma </math> and <math display="inline">\chi </math>. Thus, in this problem, finding remedies to tackle the unaffordable computational cost of ''multi-scale topology optimization'' problem is mandatory.
==Algorithm==
We propose a particular alternate direction algorithm in order to solve problem [[#eq-5.17|5.17]]. More specifically, for each macroscopic topology optimization iteration, we solve a ''Point-to-point material design'' problem. Thus, the proposed alternate direction algorithm, alternates non-uniformly between the directions. In mathematical terms, we can re-formulate problem ([[#eq-5.17|5.17]]) as
<span id="eq-5.18"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{ccc}\underset{\chi }{\hbox{min.}} & \underset{\sigma ,\chi _{\mu }}{\hbox{min.}} & \int _{\Omega }\chi \sigma :\mathbb{C}_{h}^{-1}(\chi _{\mu }):\sigma \\ & \hbox{ s. t.} & \int _{\Omega _{\mu }}\chi _{\mu }\leq V_{\mu },\\ & & \nabla \cdot \sigma=0,\\ & & \hbox{ + Boundary conditions.} \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (5.18)
|}
Thus, the problem is to find, for a fixed macroscopic topology <math display="inline">\chi </math>, the solution of the inner '''<math>\underset{\sigma ,\chi _{\mu }}{\hbox{min}}</math>''' problem (or loop) and then compute an iteration of the'''<math>\underset{\chi }{\hbox{min}}</math>''' problem (or outer loop) in the Slerp algorithm. Therefore, the algorithm can be devised as an appropriate combination of the Slerp algorithm [[#algorithm-1|1]] and the ''Point-to-point material design'' algorithm [[#algorithm-2|2]]. Full details are described in Algorithm [[#algorithm-4|4]].
{| style="margin: 1em auto;border: 1px solid darkgray;"
|-
|
:
'''Init:''' choose initial <math display="inline">\psi _0</math>, <math display="inline">\theta _{min}</math>, tol, <math display="inline">\kappa _{min}</math>, <math display="inline">\lambda _0</math>, <math display="inline">\rho </math> and <math display="inline">\mathbb{C}^{h}_{0}</math>
'''while''' <math>\theta _{n} \geq \theta _{min} \mathbf{or} r_n \geq tol</math> '''do'''
::Update <math display="inline">\psi _{n+1}</math>, <math display="inline">r_{n+1}</math>, <math display="inline">\lambda _{n+1}</math>, <math display="inline">\theta _{n+1}</math>, <math display="inline">g_{n+1}</math> from Algorithm [[#algorithm-1|1]] with <math display="inline">\mathbb{C}^{h}_{n}</math>.
::Compute <math display="inline">\sigma _{n+1}</math>, <math display="inline">u_{n+1}</math> and <math display="inline">\mathbb{C}^{h}_{n+1}</math> as a converged solution of problem ([[#eq-5.5|5.5]]) using Algorithm [[#algorithm-2|2]].
|-
| style="text-align: center; font-size: 75%;"|
<span id='algorithm-5'></span>'''Algorithm. 5''' ''Point-to-point multi-scale topology optimization'' algorithm. It is devised as a shrewd combination of the Slerp and alternate directions algorithm. For each macroscopic topology optimization iteration of the Slerp algorithm, we solve a ''Point-to-point material design'' problem.
|}
It is worth stressing that this strategy is only possible because of the reduced time-consuming computation (due to the ''Computational Vademecum'') needed for solving the ''Point-to-point material design'' problem.
===5.4.2 Component-based multi-scale topology optimization===
A further step entails manufacturing considerations. Emphasis is placed on the complexity of the problem. The addressed two-scale optimization problem presents not only strong non-linearities and large time-consuming computations, but also manufacturing constraints. To tackle it, we mimic the remedies proposed in the ''Component-based material design'' problem described in [[#eq-5.11|5.11]] for considering the manufacturing constraints. Thus, on the one hand, the ''material design'' problem is constrained to adopt, in each sub-domain, the same micro-structure. On the other hand, since the micro-structures are limited to the ones computed in the data-base, we solve a modified and sub-optimal problem.
==Formulation==
More concretely, the ''Component-based multi-scale topology optimization'' can be formally formulated as
<span id="eq-5.19"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{cc}\underset{\sigma ,\chi ,\,\,\chi _{\mu _{i}}\in \mathbb{V}}{\hbox{minimize}} & \underset{i}{\overset{n}{\sum }}\int _{\Omega _{i}}\chi \sigma :\mathbb{C}_{h}^{-1}(\chi _{\mu _{i}}):\sigma \\ \hbox{ subjected to:} & \int _{\Omega _{\mu }}\chi _{\mu }\leq V_{\mu },\\ & \nabla \cdot \sigma=0,\\ & \hbox{ + Boundary conditions.} \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (5.19)
|}
where <math display="inline">n</math> stands again for the number of sub-domains. Although the micro-structure topology is constant in each sub-domain, the optimization problem still considers a huge number of design variables. Note that, in the'' Component-based material design problem'', the micro-structure is requested to be found in the Computational Vademecum.
==Algorithm==
A natural way of extending the ''Component-based material design'' algorithm [[#algorithm-3|3]] to the ''Component-based multiscale topology optimization'' problem is to adapt ''Point-to-point multiscale topology optimization'' algorithm [[#algorithm-4|4]]. In fact, the major difference lies on the way that the microscopic topologies <math display="inline">\chi _{\mu _{i}}</math> are determined. Accordingly, these variables, instead of being solved from the ''Point-to-Point material design'' problem ([[#eq-5.3|5.3]]) with Algorithm [[#algorithm-2|2]], will be determined by solving the ''Component-based material design'' problem ([[#eq-5.11|5.11]]) with Algorithm [[#algorithm-3|3]]. Note that again, this algorithm, alternates non-uniformly between directions. In mathematical terms, it consists of re-formulating problem ([[#eq-5.19|5.19]]) into
<span id="eq-5.20"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{ccc}\underset{\chi }{\hbox{min.}} & \underset{\sigma ,\chi _{\mu _{i}}\in \mathbb{V}}{\hbox{min.}} & \underset{i}{\overset{n}{\sum }}\int _{\Omega _{i}}\chi \sigma :\mathbb{C}_{h}^{-1}(\chi _{\mu _{i}}):\sigma \\ & \hbox{ s. t.} & \int _{\Omega _{\mu }}\chi _{\mu }\leq V_{\mu },\\ & & \nabla \cdot \sigma=0,\\ & & \hbox{ + Boundary conditions.} \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (5.20)
|}
Thus, similarly to the point-to-point version, the problem is, first, to solve and converge the inner '''<math>\underset{\sigma ,\chi _{\mu _{i}}\in \mathbb{V}}{\hbox{min.}}</math>''' problem (or loop) and then compute an iteration of the '''<math>\underset{\chi }{\hbox{min.}}</math>''' problem (or outer loop) in the Slerp algorithm. This final strategy is presented in Algorithm [[#algorithm-5|5]].
{| style="margin: 1em auto;border: 1px solid darkgray;"
|-
|
:
'''Init:''' choose initial <math display="inline">\psi _0</math>, <math display="inline">\theta _{min}</math>, tol, <math display="inline">\kappa _{min}</math>, <math display="inline">\lambda _0</math>, <math display="inline">\rho </math> and <math display="inline">\mathbb{C}^{h}_{0}</math>
'''while''' <math>\theta _{n} \geq \theta _{min} \mathbf{or} c_n \geq tol</math> '''do'''
::Update <math>\psi _{n+1}</math>, <math>c_{n+1}</math>, <math>\lambda _{n+1}</math>, <math>\theta _{n+1}</math>, <math>g_{n+1}</math> from Algorithm [[#algorithm-1|1]] with <math>\mathbb{C}^{h}_{n}</math>.
::Compute <math>\sigma _{n+1}</math>, <math>u_{n+1}</math> and <math>\mathbb{C}^{h}_{n+1}</math> as a converged solution of problem ([[#eq-5.13|5.13]]) using Algorithm [[#algorithm-4|4]].
|-
| style="text-align: center; font-size: 75%;"|
<span id='algorithm-6'></span>'''Algorithm. 6''' ''Component-based multi-scale topology optimization'' algorithm. It is devised as a shrewd combination of the Slerp and alternate directions algorithm. For each macroscopic topology optimization iteration of the Slerp algorithm, we solve a ''Component-based material design'' problem.
|}
Again, the Computation Vademecum strategy allows this problem in affordable times.
===5.4.3 Numerical results===
In the following, two numerical examples are shown in order to asses the performance of the ''Point-to-point ''and'' Component-based'' ''multiscale topology optimization'' problems.
==Cantilever beam==
As a first example, the standard Cantilever beam is considered. The <math display="inline">2\hbox{x}1</math> domain is discretized with a structured mesh of <math display="inline">10704</math> elements. As shown in Figure [[#img-60|60]], a concentrated force in the right side is applied whereas homogeneous Dirichlet boundary conditions (clamped) in the left side are imposed. The simultation starts with full material everywhere, the fraction volume is enforced to be <math display="inline">V=0.6</math> and we take <math display="inline">\lambda _{0}=0</math> and <math display="inline">\rho=1</math>. The stop criterion is taken as <math display="inline">\epsilon _{\theta }=1\hbox{º}</math> and <math display="inline">TOL=10^{-3}</math>.
<div id='img-60'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-CantileverSketch.png|300px|Schematic drawing of a Cantilever beam ]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 60:''' Schematic drawing of a Cantilever beam
|}
The aim is to compare all the proposed strategies and obtain an insight of its performance. In Figure [[#img-61|61]], we evaluate the improvement of the compliance. First, in the left column, fixed micro-structure over all the domain (homogeneous) is considered, i.e., a standard ''macro-structure topology optimization'' problem is solved. Secondly, in the middle column, apart from the macro, the material design problem is point-to-point considered, i.e., the ''Point-to-point multi-scale topology optimization'' problem is solved. Finally, in the third column, we show the solution of the ''Component-based multi-scale topology optimization'' problem. To be fair in the comparison, in the ''macro-structure topology optimization'' case, we have considered a micro-structure with a feasible fraction volume <math display="inline">V_{\mu }=0.6</math>.
Regarding the different algorithms, the left column shows how Algorithm [[#algorithm-1|1]] solves problem ([[#eq-3.35|3.35]]), the middle one, how Algorithm [[#algorithm-4|4]] solves problem ([[#eq-5.17|5.17]]), and the right one, how Algorithm [[#algorithm-5|5]] solves problem ([[#eq-5.19|5.19]]). In rows, we show some intermediate iterations and the final one.
<div id='img-61'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-MacroIter1.png|300px|]]
|[[Image:draft_Samper_118254298-MacroMicroContinousIter1.png|300px|]]
|-
|[[Image:draft_Samper_118254298-MacroMicroDiscreteIter1.png|300px|]]
|[[Image:draft_Samper_118254298-MacroIter2.png|300px|]]
|-
|[[Image:draft_Samper_118254298-MacroMicroContinousIter2.png|300px|]]
|[[Image:draft_Samper_118254298-MacroMicroDiscreteIter2.png|300px|]]
|-
|[[Image:draft_Samper_118254298-MacroIter3.png|300px|]]
|[[Image:draft_Samper_118254298-MacroMicroContinousIter3.png|300px|]]
|-
|[[Image:draft_Samper_118254298-MacroMicroDiscreteIter3.png|300px|]]
|[[Image:draft_Samper_118254298-MacroIter4.png|300px|]]
|-
|[[Image:draft_Samper_118254298-MacroMicroContinousIter4.png|300px|]]
|[[Image:draft_Samper_118254298-MacroMicroDiscreteIter4.png|300px|Multi-scale topology optimization of the Cantilever beam. In the left column, the ''macro-scale topology optimization'' is solved. In the middle column, the ''Point-to-point multiscale topology optimization'' is solved. In the right column, the ''Component-based multiscale topology optimization'' is solved. Cost function values are shown in the last row.]]
|- style="text-align: center; font-size: 75%;"
| colspan="2" | '''Figure 61:''' Multi-scale topology optimization of the Cantilever beam. In the left column, the ''macro-scale topology optimization'' is solved. In the middle column, the ''Point-to-point multiscale topology optimization'' is solved. In the right column, the ''Component-based multiscale topology optimization'' is solved. Cost function values are shown in the last row.
|}
Owing to the computational savings already mentioned in the section (no micro-structure computations are considered in the on-line process), we could solve all the problems in less than ten minutes of computation with a standard PC (3.40GHz processor in a 64-bit architecture) in a Matlab<math display="inline">^{\mbox{©}}</math> environment.
Interestingly, note that, on the one hand, we observe how the micro-structure topology design tries to mimic the macro-structure topology. On the other hand, as explained in Chapter [[#4 Topological derivative extension to anisotropic elastic materials |4]], the microscopic topology clearly determines the macro-structure topology.
From the performance point of view, in Figure [[#img-62|62]], we could see in black, the compliance when using the ''macro-structure topology optimization'' approach; in blue, the compliance when using the ''Point-to-point multi-scale topology optimization'' approach; and in red, the compliance when using the ''Component-based multi-scale topology optimization'' approach.
<div id='img-62'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-DiscreteVsContiousTwoScale.png|600px|Compliance values of the Cantilever beam example along the iterations. In black, the compliance when using the ''macro-structure topology optimization'' approach. In blue, the compliance when using the the ''Point-to-point multi-scale topology optimization'' approach. In red, the compliance when using the the ''Component-based multi-scale topology optimization'' approach.]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 62:''' Compliance values of the Cantilever beam example along the iterations. In black, the compliance when using the ''macro-structure topology optimization'' approach. In blue, the compliance when using the the ''Point-to-point multi-scale topology optimization'' approach. In red, the compliance when using the the ''Component-based multi-scale topology optimization'' approach.
|}
After decreasing a <math display="inline">40%</math> of the mass in the three cases allowing the possibility of designing the microscopic topology, the structure increases its stiffness in a <math display="inline">30%</math> in the ''Point-to-point multi-scale topology optimization'' problem and in a <math display="inline">21%</math> in in the ''Component-based multi-scale topology optimization'' problem with respect to the ''Macro-structure topology optimization'' solution.
==Aerodynamic profile==
As a second example, the aerodynamic profile is considered. The Aerodynamic forces, computed by the strength vortex method <span id='citeF-107'></span>[[#cite-107|[107]]], and the displacement boundary conditions are shown in Figure [[#img-63|63]].
<div id='img-63'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-AirfoilForces.png|600px|Schematic drawing of an Airfoil geometry. A strength vortex method <span id='citeF-107'></span>[[#cite-107|[107]]] has been used to compute the aerodynamic forces. The displacement conditions has been imposed to circumvent solid body motions. ]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 63:''' Schematic drawing of an Airfoil geometry. A strength vortex method <span id='citeF-107'></span>[[#cite-107|[107]]] has been used to compute the aerodynamic forces. The displacement conditions has been imposed to circumvent solid body motions.
|}
The aerodynamic profile is discretized with an unstructured mesh of <math display="inline">7003</math> <math display="inline">\mathbb{P}_{1}</math> finite elements (see Figure fig:AirfoilMesh-2).
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-AirfoilComponentsMesh.png|600px|]]
|[[Image:draft_Samper_118254298-AirfoilComponentsPlot.png|600px|]]
|}
The domain is partitioned (see Figure fig:AirfoilMesh-1) in the skin (red), the spar (blue) and the rib (gray). the The domain is started with full material, the final fraction volume is enforced to be <math display="inline">V=0.6</math> and we take <math display="inline">\lambda _{0}=0</math> and <math display="inline">\rho=1</math>. The stopping criteria is taken as <math display="inline">\epsilon _{\theta }=1\hbox{º}</math> and <math display="inline">TOL=10^{-3}</math>.
The results are shown following the same structure of the Cantilever Beam example. First, in the left column, fixed micro-structure over all the domain (homogeneous) is considered, i.e., a standard ''macro-structure topology optimization'' problem is solved. Secondly, in the middle column, apart from the macro, the material design problem is point-to-point considered, i.e., the ''Point-to-point multi-scale topology optimization'' problem is solved. Finally, in the third column, we show the solution of the ''Component-based multi-scale topology optimization'' problem. To be fair in the comparison, in the ''macro-structure topology optimization'' case, we have considered a micro-structure with a feasible fraction volume <math display="inline">V_{\mu }=0.6</math>.
<div id='img-64'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-Iter1.png|600px|]]
|[[Image:draft_Samper_118254298-Iter1.png|600px|]]
|-
|[[Image:draft_Samper_118254298-Iter1.png|600px|]]
|[[Image:draft_Samper_118254298-Iter2.png|600px|]]
|-
|[[Image:draft_Samper_118254298-Iter2Cont.png|600px|]]
|[[Image:draft_Samper_118254298-Iter3Disc.png|600px|]]
|-
|[[Image:draft_Samper_118254298-Iter3.png|600px|]]
|[[Image:draft_Samper_118254298-Iter3Cont.png|600px|]]
|-
|[[Image:draft_Samper_118254298-Iter4Disc.png|600px|]]
|[[Image:draft_Samper_118254298-Iter4.png|600px|]]
|-
|[[Image:draft_Samper_118254298-Iter4Cont.png|600px|]]
|[[Image:draft_Samper_118254298-Iter5Disc.png|600px|]]
|-
|[[Image:draft_Samper_118254298-Iter5.png|600px|]]
|[[Image:draft_Samper_118254298-Iter5Cont.png|600px|]]
|-
|[[Image:draft_Samper_118254298-Iter6Disc.png|600px|]]
|[[Image:draft_Samper_118254298-Iter6.png|600px|]]
|-
|[[Image:draft_Samper_118254298-Iter6Cont.png|600px|]]
|[[Image:draft_Samper_118254298-Iter7Disc.png|600px|Multi-scale topology optimization of the Aerodynamic profile example. In the left column, the is solved. In the middle column, the ''Point-to-point multiscale topology optimization'' is solved. In the right column, the ''Component-based multiscale topology optimization'' is solved. Cost function values are shown in the last row.]]
|- style="text-align: center; font-size: 75%;"
| colspan="2" | '''Figure 64:''' Multi-scale topology optimization of the Aerodynamic profile example. In the left column, the is solved. In the middle column, the ''Point-to-point multiscale topology optimization'' is solved. In the right column, the ''Component-based multiscale topology optimization'' is solved. Cost function values are shown in the last row.
|}
Owing to the computational savings already mentioned in the Computational Vademecum section (no micro-structure computations were required in the on-line process), we could solve all the problems in less than ten minutes of computation with a standard PC (3.40GHz processor in a 64-bit architecture) in a Matlab<math display="inline">^{\mbox{©}}</math> environment.
Again, it is noticeable how the micro-structure optimal topologies try to mimic the macro-structure optimal topology. This reveals the strong coupling between the microscopic and the macroscopic topologies.
Similarly to the Cantilever beam example, from the performance point of view, in Figure [[#img-65|65]], we could see the different compliance values along the iterations. In black, the compliance when using the ''macro-structure topology optimization'' approach. In blue, the compliance when using the the ''Point-to-point multi-scale topology optimization'' approach. In red, the compliance when using the the ''Component-based multi-scale topology optimization'' approach.
<div id='img-65'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-CostAirFoilMacro.png|600px|Compliance values of the Aerodynamic profile example along the iterations. In black, the compliance when using the ''macro-structure topology optimization'' approach. In blue, the compliance when using the the ''Point-to-point multi-scale topology optimization'' approach. In red, the compliance when using the the ''Component-based multi-scale topology optimization'' approach.]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 65:''' Compliance values of the Aerodynamic profile example along the iterations. In black, the compliance when using the ''macro-structure topology optimization'' approach. In blue, the compliance when using the the ''Point-to-point multi-scale topology optimization'' approach. In red, the compliance when using the the ''Component-based multi-scale topology optimization'' approach.
|}
After decreasing a <math display="inline">40%</math> of the mass in the three cases, when we allow the possibility of designing the microscopic topology, the structure increases its stiffness in a <math display="inline">27.7%</math> in the ''Point-to-point multi-scale topology optimization'' problem and in a <math display="inline">14.8%</math> in the ''Component-based multi-scale topology optimization'' problem. Certainly, the latter achieved smaller reduction of the cost. Nevertheless, it considers manufacturing constraints. These encouraging results evidence that considering the material design (''Component-based'') in the macroscopic topology optimization problem is highly recommended. Significant improvements (<math display="inline">~15%</math>) on the stiffness are obtained with non significant extra computational time (due to the Computational Vademecum).
==5.5 Comments and limitations ==
In view of the multi-scale topology optimization results, a significant improvement of the stiffness is achieved with a strategy that entails no high time-consuming computations. However, it is convenient to comment some complementary aspects and some limitations of the problem.
===5.5.1 Anisotropic topological derivative===
In Chapter [[#4 Topological derivative extension to anisotropic elastic materials |4]], the anisotropic topological derivative has been obtained and some numerical examples have confirmed its importance. However, when dealing with multi-scale topological optimization problems, the importance of the anisotropic topological derivative is even more evidenced. The optimal microscopic topology confers to the macro-structure (in each Gauss point) an anisotropic constitutive tensor. Certainly, although the isotropic topological derivative may be a reasonable descent direction, the anisotropic topological derivative permits solving the ''multi-scale topological optimization'' problem properly.
===5.5.2 Saddle-point formulation===
An important aspect to be highlighted is related with the statement of the problem. More specifically, in the problem, the stresses <math display="inline">\sigma </math> have been taken as the design variables for the equilibrium equation. However, alternatively, using the displacement <math display="inline">u</math> or the strains <math display="inline">\varepsilon </math> would have been more natural. For more details of the two different formulation, we refer the reader to Chapter 1 of the reference book <span id='citeF-1'></span>[[#cite-1|[1]]].
The problem expressed in terms of the displacement <math display="inline">u</math> is as follows,
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{ccc}\underset{\chi _{\mu _{i}}}{\hbox{maximize}} & \underset{u}{\hbox{minimize}} & \frac{1}{2}\int _{\Omega }\varepsilon (u):\mathbb{C}_{h}(\chi _{\mu _{i}}):\varepsilon (u)-\int _{\partial _{t}\Omega }tu\\ \hbox{ subjected to:} & & \int _{\Omega _{\mu _{i}}}\chi _{\mu _{i}}\leq V_{\mu },\\ & & \hbox{ + Boundary conditions.} \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (5.21)
|}
On the contrary, the ''material design'' problem expressed in the complementary energy and depending on the dual variables <math display="inline">\sigma </math> is written as,
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{ccc}\underset{\chi _{\mu _{i}}}{\hbox{minimize}} & \underset{\sigma }{\hbox{minimize}} & \frac{1}{2}\int _{\Omega }\sigma :\mathbb{C}_{h}^{-1}(\chi _{\mu }):\sigma \\ \hbox{ subjected to:} & & \int _{\Omega _{\mu _{i}}}\chi _{\mu _{i}}\leq V_{\mu },\\ & & \nabla \cdot \sigma=0,\\ & & \hbox{ + Boundary conditions.} \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (5.22)
|}
Note that the primal formulation (<math display="inline">u</math>) consists on a saddle point problem whereas the dual formulation (<math display="inline">\sigma </math>) consists on a classical minimization problem. A priori, the use of one or other formulation is arbitrary. This difference on the formulation could seem innocent, however the opposite is the case. Our numerical experience evidenced that the success depends on the approach.
The problem formulated in displacements has been tackled with no success. In the alternate direction algorithm, the iteration that should maximize the cost (changing the micro-structure topologies, i.e., changing variable <math display="inline">\chi _{\mu }</math>) advances overmuch leading the algorithm to diverge. The dual formulation seems to be better posed than the primal formulation.
As a remark, note that all this difference on the formulation is because of considering the compliance as a cost function. If, for instance, the volume is considered, no primal and dual formulation would appear (in the sense of minimizing the topology and displacements) and other algorithms (different from the alternate direction algorithm) should be considered.
This analysis of the primal and dual formulation is schematically shown in Figure [[#img-66|66]].
<div id='img-66'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-MaxMin.png|600px|On the left, a minimization (''min min'') version of the ''material design'' problem. The stresses are regarded as design variables (dual formulation). On the right, a saddle point (''max min'') version of the ''material design'' problem is presented. The displacement are considered as the design variables (primal formulation). Since we have observed convergence difficulties in the saddle-point version, we have used the dual formulation in the'' material design'' problem. ]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 66:''' On the left, a minimization (''min min'') version of the ''material design'' problem. The stresses are regarded as design variables (dual formulation). On the right, a saddle point (''max min'') version of the ''material design'' problem is presented. The displacement are considered as the design variables (primal formulation). Since we have observed convergence difficulties in the saddle-point version, we have used the dual formulation in the'' material design'' problem.
|}
===5.5.3 RVE geometry as a design variable===
Having all the results of the ''material design'' and'' multiscale topology optimization'' problem in mind, it is convenient to comment some aspects about the RVE geometry. Up to now, the macroscopic stiffness of the structure has been maximized by means of the macroscopic topology <math display="inline">\chi </math> and the microscopic topology <math display="inline">\chi _{\mu }</math>. Regarding the latter, a square domain of the micro-structure have been used. However, other choices are possible. For instance, one could think on extending the space of design variables by introducing the geometry of the RVE. The possible geometries of the RVE are restricted to the ones that fulfill periodic boundary conditions (see section [[#eq-2.33|2.33]]). Triangles, rectangles or hexagons are some examples.
In pursuing extreme materials, ''Sigmund'' in <span id='citeF-1'></span>[[#cite-1|[1]]] uses, for example, parallelogram geometries. See also work <span id='citeF-108'></span>[[#cite-108|[108]]] for more details.
<div id='img-67'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-square.png|100px|]]
|[[Image:draft_Samper_118254298-rectangular.png|100px|]]
|-
|[[Image:draft_Samper_118254298-Parallelogram.png|600px|]]
|[[Image:draft_Samper_118254298-Hexagon.png|600px|Different kind of micro-structures geometries that fulfill periodic boundary conditions. The possibility of using other kind of micro-structure geometries allow obtaining extreme materials with more optimal constitutive tensors. The ''Computational Vademecum'' conceives incorporating improved micro-structures with no needs of modifying the proposed methodology. ]]
|- style="text-align: center; font-size: 75%;"
| colspan="2" | '''Figure 67:''' Different kind of micro-structures geometries that fulfill periodic boundary conditions. The possibility of using other kind of micro-structure geometries allow obtaining extreme materials with more optimal constitutive tensors. The ''Computational Vademecum'' conceives incorporating improved micro-structures with no needs of modifying the proposed methodology.
|}
Note that, square, rectangular and hexagon geometries are indeed a particular case of the parallelogram. To be specific, one could parametrize the RVE by the inclination angle of the parallelogram and the aspect ratio of the sides. The square, the rectangle and the hexagon geometry can be recovered by considering specific values of these two variables. Thereby, the micro-structure design variables can be extended to the micro-structure topology jointly with inclination angle and the aspect ratio of the parallelogram. Thus, the possibility of using other geometries enhance the space of optimal solutions and the final optimal macro-structure may increase its stiffness.
Thus, the interest now deals with solving the ''material design ''problem not only respect to the topology but also respect to the geometry. In the case of the compliance, ''Allaire'' presents significant results in book <span id='citeF-3'></span>[[#cite-3|[3]]]. It asserts that the optimal constitutive tensor is obtained after an homogenization process of a rank-2 laminate RVE.
<div id='img-68'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:draft_Samper_118254298-329.png|100px|]]
|[[Image:draft_Samper_118254298-Rank2_Laminates.png|600px|On the left, an optimal topology of a square RVE, on the right, a rank-2 laminate micro-structure. The Computational Vademecum can be improved by considering all kind of micro-structures (not only square RVEs). In the case of compliance, it can be seen that the optimal values are achieved when considering rank-2 laminates. <span id='citeF-3'></span>[[#cite-3|[3]]]. ]]
|- style="text-align: center; font-size: 75%;"
| colspan="2" | '''Figure 68:''' On the left, an optimal topology of a square RVE, on the right, a rank-2 laminate micro-structure. The Computational Vademecum can be improved by considering all kind of micro-structures (not only square RVEs). In the case of compliance, it can be seen that the optimal values are achieved when considering rank-2 laminates. <span id='citeF-3'></span>[[#cite-3|[3]]].
|}
Referring to our work, the idea of increasing the design variable space or the possibility of using rank-2 laminates would complement the ''Computational Vademecum'' approach. Rather than being a drawback, it would enrich the pre-computed database. To this aim, it would be required to exchange the actual topologies and constitutive tensors (obtained with square RVEs) by the new optimal ones.
To our best knowledge, this fact is a clear advantage of the ''Computational Vademecum'' approach. The database can be improved if more optimal topologies are found or some manufacturing constraints must be added. However, the approach remains the same. Thus, the Computational Vademecum concept confers robustness and room for improvement to the approaches (''material design'' and ''multi-scale topology optimization'') proposed in this Chapter for increasing the stiffness of a structure.
===5.5.4 Limitations===
In view of the ''Point-to-point ''and'' Component-based multi-scale topology optimization'' results, an important improvement of the stiffness (<math display="inline">30%</math> and <math display="inline">21%</math>) has been achieved. In addition, the idea of generating the Computational Vademecum offers an appropiate and reduced time-consuming approach for solving the non-linear and large-scale optimization problem. However some inconveniences appear.
First, the Computational Vademecum is limited to a specific fraction volume. However, one could naturally think on extending the Computational Vademecum with an extra variable. Certainly, it would entail additional computations.
Second, in the void part of the domain, the microstructure topologies are also optimized. From the physical point of view, this options seems to be unreasonable. However, it is worth stressing that, strictly speaking, the void part behaves as a weak material and designing the micro-structure makes perfect sense. To avoid these computations, one may deactivate the void elements.
Finally, another clear limitation deals with extending the methodology to 3D problems. In this sense, the dimensions of the Computational Vademecum would significantly increase and the parametric space could no longer be represented by the unit sphere. However, one could replace the ''multi-scale topology optimization ''by a sub-optimal problem in which the optimal micro-structure topologies are sought in a reduced and representative sub-domain of the parametric domain. This study is left for future work.
==5.6 Summary and conclusions==
The present chapter addressed multi-scale topology optimization problems. Accounting for a two-scale computational homogenization scheme (<math display="inline">FE^{2}</math>), the optimization problem is governed by the influence of the design variables (defined at the micro-scale or, additionally, at the macro-scale) in the cost function (defined at the macro-scale).
To this aim, we first presented the ''Point-to-point material design problem'' as an alternative to the ''macroscopic topology optimization'' problem to maximize the stiffness of a structure. Likewise, in order to achieve manufacturing (and consequently sub-optimal) designs, a ''Component-based material design problem'' was also introduced.
The high complexity of the problem, which accounts for the few works devoted in the literature to this topic, was examined. A material catalog, termed ''Computational Vademecum'' in the present work, was built as an off-line computation to mitigate the unaffordable time-consuming computations of the problem. It allows circumventing the micro-structure topology-design effort in each sampling macroscopic point (in the ''Point-to-point material design ''case) or component (in the ''Component-based material design ''case) by selecting form the ''Computational Vademecum'' the pre-computed optimal microstructure topology. On the one hand, it is worth stressing that the ''Slerp algorithm'' jointly with the ''Mixed formulation'' presented in Chapter 2, manages to converge more than <math display="inline">2000</math> microscopic topology optimization problems. This success strengthens the use of the ''Slerp algorithm'' and exhibits its robustness. In addition, once the ''Computational Vademecum ''is available, it can be repeatedly consulted by any structure made of the same base material.
To deal with the strong non-linearity of the problem, an ''alternate direction'' algorithm was proposed. The results showed that a few number of iterations are needed to converge the problem. This finding suggests its use in multi-scale topology optimization problems. A key strength of both ''Point-to-point ''and'' Component-based material design ''approaches is that a considerable improvement of the structural stiffness (<math display="inline">~30%</math> and <math display="inline">~15%</math> respectively) was achieved.
Additionally, we examined the convergence of the ''Component-based material design ''approach to the ''Point-to-point material design ''approach, which results in a consistent relation between both approaches. Furthermore, the presented efficiency parameter helped on determining the appropriate number of components, which is governed by the trade-off between the stiffness of the structure and the manufacturability constraints.
A second and even more stimulating part of the study consists in using complementary (instead of alternatively) the ''Point-to-Point ''or ''Component-based multiscale topology optimization'' jointly with the macroscopic topology optimization problem. Since the optimal microscopic topologies collected in the ''Computational Vademecum'' confers anisotropic constitutive tensors, the anisotropic macroscopic topology optimization problem accounts for the use of the anisotropic topological derivative, obtained in Chapter [[#4 Topological derivative extension to anisotropic elastic materials |4]].
The ''Point-to-Point ''and'' Component-based multiscale topology optimization ''provided an additional (around <math display="inline">~25%</math> and <math display="inline">~15%</math>) increase of the stiffness over the already increase obtained by the macroscopic topology design. In addition, due to the ''Computational Vademecum'' concept, all the examples were solved in less than ten minutes of computation with a standard PC (3.40GHz processor in a 64-bit architecture) in a Matlab<math display="inline">^{\mbox{©}}</math> environment. When examining the results, a strong coupling between the macro and micro scale, not only from the mechanical point of view but also from the topological point of view, were observed. Yet, the numerical examples confirmed the success of the dual formulation ( in stresses) rather than the primal formulation (in strains).
Nowadays, the ''Computational Vademecum'' concept could be straightforward adapted to industrial problems. The current RVEs would be replaced by a standard composite material and the microstructure design variables by the orientation of fibers and number of plies.
Regarding the short future, if new optimization tools appear for obtaining improved microscopic topologies, the ''Computational Vademecum'' can be enhanced replacing the current microstructure topologies by the improved ones. The micro-structures would be replaced, but the ''Computational Vademecum'' would remain useful. Certainly, additional research is needed to extend the methodology to 3D problems.
=6 Conclusions=
==6.1 Achievements==
This study adresses multi-scale topology optimization problems. As reported in the literature, the problem evidences a large complexity and high computational cost. The challenge was to devise appropiate algorithms and techniques with the capability of solving the problem in a robust and efficient fashion. This was achieved by enhancing the current topological derivative algorithms, by obtaining a closed-form of the anisotropic topological derivative and by proposing algorithms and shrewd reduction techniques for dealing with multi-scale topology optimization problems.
In Chapter 3, we could thoroughly establish the foundations of using topological derivative in topology optimization problems. The numerical instabilities presented by the Slerp algorithm has been treated by different authors using re-meshing techniques. We have managed to avoid it by proposing a Mixed formulation approach to deal with the interface elements. The Slerp algorithm has evidenced a considerable improvement. On the one hand, spurious local minima have vanished when determining the line-search parameter. On the other hand, the Slerp algorithm is now able to converge (with no need of re-meshing techniques) leading to significant computational savings.
In Chapter 4, we have obtained a closed-form of the topological derivative for anisotropic materials. A deep understanding of the <math display="inline">z</math> transform and the complex variable has led to solve analytically the exterior problem of a infinite anisotropic domain with an anisotropic circle inclusion. Complementary, the exterior problem, in the case of isotropic materials, has been also solved analytically through the Airy function. Full details are collected in Appendices [[#7 Analytical solution of the isotropic exterior problem|7]] and [[#8 Analytical solution of the anisotropic exterior problem|8]]. We have checked that the expression of the anisotropic topological derivative expression coincides with the the isotropic version when considering isotropic materials. Additionally, the anisotropic topological derivative expression have been validated through a set of convergent numerical experiments. The obtained expression has opened the possibility of solving the topology optimization problem when dealing with anisotropic materials. The achieved optimal topologies have evidenced the strong dependency of the optimal topology with the anisotropic material response.
In Chapter 5, we have tackled the multi-scale topology optimization problem. The strong non-linearities presented by the problem have been mitigated due to the use of an alternate directions algorithm. Furthermore, the use of a Computation Vademecum, which has been computed as a previous step (off-line), has saved much of the computational cost of solving the microscopic topology optimization problem in each macroscopic Gauss point. In addition, the huge (<math display="inline">\sim{2000}</math>) optimal microscopic topologies collected in the Computational Vademecum evidenced the robustness of the Slerp Algorithm when using the ''Mixed-formulation'' approach. A significant improvement, increase of around <math display="inline">\sim{30}%</math> and <math display="inline">\sim{15}%</math> of the structural stiffness, has been achieved considering the ''Point-to-Point'' and the ''Component-based material design'' approach respectively. Additionally, when considering both the macroscopic and microscopic topologies, on top of the increased stiffness already obtained by optimizing the macro-scale, an extra increased stiffness around <math display="inline">\sim{20}%</math> or <math display="inline">\sim{15}%</math> is obtained by optimizing the micro-scale, depending if the ''Point-to-Point'' or the ''Component-based multiscale topology optimization ''approach is used. The obtained results have evidenced that, with the methodology proposed in this work, a two-scale topology optimization problem can be solved in less than ten minutes of computation with a standard PC (3.40GHz processor in a 64-bit architecture) in a Matlab<math display="inline">^{\mbox{©}}</math> environment.
==6.2 Concluding remarks==
<ol>
<li>The topological derivative evaluates the sensitivity of a cost function when inserting an inclusion in the domain. In view of the results, the topological derivative, in conjunction with the ''Slerp'' algorithm, results in a powerful tool for solving topology optimization problems. On top of that, the ''Mixed formulation'' has contributed in endowing robustness and computational savings to the algorithm; no re-meshing techniques are now necessary. We believe that this approach is an appropiate strategy to solve topology optimization problems since no heuristic parameters are involved, no large gray regions appear and no high time-consuming computations must be considered. </li>
<li>The anisotropic topological derivative has opened the possibility of extending the method to anisotropic materials. We believe that the burdensome computation of the anisotropic topological derivative is accounted for the high use of the anisotropic materials in industrial applications. In addition, when addressing multiscale topology optimization problems, the optimization of the macroscopic topology makes use of the anisotropic topological derivative, since the computational homogenization of microscopic topologies infers anisotropic response to the macro-scale. </li>
<li>We consider that the optimization problems, in which the design variables are of different nature but can be clearly distinguished or grouped, lend themselves to be solved by means of the alternate direction algorithm. </li>
<li>In the case of multiscale topology optimization, we can naturally distinguish between three groups: the stresses, the macroscopic topology and the microscopic topologies. Each group of variables can be updated (with an appropiate algorithm) by freezing the other groups of variables. In this work, the three algorithms are: the equilibrium equation for the stresses and the Slerp algorithm for the both macroscopic and microscopic topologies. Although the alternate direction converges linearly, in our case, only few iterations have been needed to solve the problem. </li>
<li>As a main drawback, the alternate direction algorithm can become inappropriate when significant computational costs are needed to solve one group of variables. In our case, the bottle-neck of the problem consists in the optimization of the microscopic topologies. We have circumvent this difficulty by first obtaining and collecting in the Computational Vademecum the optimal microstructure topologies, and then by selecting them during the coupled optimization problem. This results in insignificant computations when optimizing the microscopic topologies. We believe that these approach can be straightforwardly tailored to other complex and coupled optimization problems, specially when multiscale techniques are involved. </li>
<li>In conclusion, all the algorithms and methods proposed throughout this study constitute a initial seedbed of the multi-scale topology optimization techniques. The results of this work clearly show how the stiffness of a structure can be improved by means of material design. Although designing the microscopic topology is not standard nowadays in industrial applications, the promising new additive manufacturing techniques, like 3D printing, seem to be able to make true in the short future. </li>
</ol>
==6.3 Future work==
Certainly, the framework built in this study represents a foundation for future developments in ''multi-scale topology optimization'' problems. Some of them have been suggest throughout the dissertation. They are summerized in the following points:
<ol>
<li>The Slerp algorithm presents a bothersome behavior when dealing with cost functions that tends to zero in the optimal. In this case, it results in that the topological derivative tends also to zero. Since the aim of the algorithm is to preserve parallelism between the level-set and the topological derivative (zero in this case), the convergence is no longer achieved. Undoubtedly, future developments should consider tailoring the algorithm to this kind of problems. </li>
<li>Regarding the alternate direction algorithm, excellent results have been achieved when compliance and volume are considered as the cost function and the constraint respectively. A more natural approach would be minimizing the volume and ensure that the stress state remains under a certain value. However, in this case, the alternate direction algorithm can not be straightforwardly used. New strategies for solving the ''multiscale topology optimization'' problem when no considering the compliance should be devised in future work. </li>
<li>Regarding 3D problems, two kind of difficulties must be studied. On the one hand, the computation of the anisotropic topological derivative has been restricted to 2D problems. However, the 3D anisotropic topological derivative expression can be considered as one of the most challenges of the topic in the short future. </li>
<li>On the other hand, new techniques must be devised to extend the parametric domain of the Computational Vademecum since, up to now, it is parametrized by only two design variables. Being capable to encompass 3D problems and extending the Computational Vademecum through the Poisson ratio and the volume fraction would represent a major breakthrough. For this purpose, as a future work, we believe convenient resorting to two of the most emerging model reduction techniques: the proper orthogonal decomposition (POD) or the proper generalized decomposition (PGD). </li>
</ol>
=A Analytical solution of the isotropic exterior problem=
In this Appendix, we aim at solving analytically the exterior problem in order to compute the final expression of the topological derivative.
It consists in solving a two dimensional problem in plane stress for an isotropic infinite domain (hereafter referred matrix) with a unitary centered circular inclusion inserted of another isotropic material. Two kind of boundary conditions are considered; firstly, at infinity the stresses are imposed to be zero; and secondly, due to the Eshelby theorem a constant behavior of the stresses is imposed in the inclusion. In addition, the transmission conditions (in stresses and displacements) across the interface of the inclusion and the matrix are also considered. All that conditions are necessary for solving the free constants appearing in the problem.
The process of solving the exterior problem and of getting the final expression for the polarization tensor, is organized as follows. First, the equilibrium equation and the Beltrami-Michell compatibility equations are introduced using a Cartesian coordinate system. Then, since a circular inclusion is considered in the problem, both the equilibrium and the Beltrami-Michell compatibility equations are expressed in polar coordinates. The Airy function is proposed as the only unknown to be found in the problem such that, on the one hand, it satisfies automatically the equilibrium equation, and on the other hand, its expression can be determined by solving the Beltrami-Michell compatibility equation, which in terms of the Airy function becomes a biharmonic equation. Next, the boundary and transmission conditions are imposed to find the free parameters appearing in the Airy function for both the matrix and the inclusion. Finally, we express the stresses on the inclusion in terms of the stresses tensor that appear in the normal stress jump across the interface of the inclusion and the matrix. This last relation represents the main ingredient for computing the topological derivative.
Notice that, on the exterior problem ([[#eq-4.19|4.19]]), the stresses on the inclusion are denoted by <math display="inline">\sigma _{\epsilon }(w)\vert _{B_{\epsilon }(\widehat{x})}</math> and the displacements by <math display="inline">w</math>. For convenience, we change notation as follows
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \begin{array}{ccc} \sigma _{\epsilon }(w)\vert _{B_{\epsilon }(\widehat{x})} & \rightarrow & \sigma ^{i}\\ \sigma _{\epsilon }(w)\vert _{\Omega \backslash B_{\epsilon }(\widehat{x})} & \rightarrow & \sigma ^{e}\\ w & \rightarrow & u \end{array} </math>
|}
|}
==A.1 Equilibrium and Beltrami-Michell equations==
The general equilibrium equation is normally expressed as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \nabla \cdot \sigma +\rho b=\rho \ddot{u} </math>
|}
|}
where <math display="inline">\rho b</math> and <math display="inline">\rho \ddot{u}</math> represents the body forces an the inertial terms. Neglecting both terms, and using a Cartesian coordinate system, the equilibrium equation is written as
<span id="eq-A.1"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\frac{\partial \sigma _{x}}{\partial x}+\frac{\partial \sigma _{xy}}{\partial y}=0\qquad \frac{\partial \sigma _{y}}{\partial y}+\frac{\partial \sigma _{xy}}{\partial x}=0. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (A.1)
|}
in which we assume a 2D plane stress behavior. Then, the Airy function <math display="inline">\phi (x,y)</math> is defined by enforcing the second derivatives to fulfill
<span id="eq-A.2"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\sigma _{x}=\frac{\partial ^{2}\phi }{\partial y^{2}}\qquad \sigma _{y}=\frac{\partial ^{2}\phi }{\partial x^{2}}\qquad \sigma _{xy}=-\frac{\partial ^{2}\phi }{\partial y\partial x}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (A.2)
|}
Note that with this definition the equilibrium equation ([[#eq-A.1|A.1]]) is automatically satisfied. The equilibrium equation is necessary but not sufficient to be a solution of an elasticity problem. In addition, the compatibility conditions must be satisfied, which in terms of stresses (commonly called Beltrami-Michell compatibility conditions) with considering no body forces takes the following form
<span id="eq-A.3"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\Delta (\sigma _{x}+\sigma _{y})=0. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (A.3)
|}
Thus, the laplacian of the trace of the stress tensor must be zero. Clearly, in Cartesian coordinates, the laplacian is denoted as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \Delta =\left(\frac{\partial ^{2}}{\partial x^{2}}+\frac{\partial ^{2}}{\partial y^{2}}\right). </math>
|}
|}
Inserting the stresses of equations ([[#eq-A.2|A.2]]) in terms of the Airy function in the Beltrami-Michel compatibility equation ([[#eq-A.3|A.3]]), we obtain
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \Delta (\underbrace{\frac{\partial ^{2}\phi }{\partial y^{2}}}_{\sigma _{x}}+\underbrace{\frac{\partial ^{2}\phi }{\partial x^{2}}}_{\sigma _{y}})=\Delta \Delta \phi =\Delta ^{2}\phi=0 </math>
|}
|}
which stands for the biharmonic equation for the Airy function. Commonly, it is also expressed as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \left(\frac{\partial ^{2}}{\partial x^{2}}+\frac{\partial ^{2}}{\partial y^{2}}\right)\left(\frac{\partial ^{2}}{\partial x^{2}}+\frac{\partial ^{2}}{\partial y^{2}}\right)\phi =0. </math>
|}
|}
However, since we deal with a circular inclusion, it is more appropiate to reformulate the problem in polar coordinates. We can now proceed analogously to the equilibrium equations which in this case are writing in the following form
<span id="eq-A.4"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\frac{\partial \sigma _{r}}{\partial r}+\cfrac{1}{r}\frac{\partial \sigma _{r\theta }}{\partial \theta }+\cfrac{1}{r}(\sigma _{r}-\sigma _{\theta })=0,\qquad \frac{\partial \sigma _{r\theta }}{\partial r}+\cfrac{1}{r}\frac{\partial \sigma _{\theta }}{\partial \theta }+\cfrac{2}{r}\sigma _{r\theta }=0. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (A.4)
|}
Similarly, the Airy function <math display="inline">\phi (r,\theta )</math> is defined fulfilling
<span id="eq-A.5"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\sigma _{r}=\frac{1}{r}\frac{\partial \phi }{\partial r}+\frac{1}{r^{2}}\frac{\partial ^{2}\phi }{\partial \theta ^{2}};\qquad \sigma _{\theta }=\frac{\partial ^{2}\phi }{\partial r^{2}};\qquad \sigma _{r\theta }=-\frac{\partial }{\partial r}\left(\frac{1}{r}\frac{\partial \phi }{\partial \theta }\right). </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (A.5)
|}
Note that, again, with these definitions, the equilibrium equation ([[#eq-A.4|A.4]]) is automatically satisfied.
Considering the independence of the first invariant on the system of coordinates, that is <math display="inline">\sigma _{x}+\sigma _{y}=\sigma _{r}+\sigma _{\theta }</math>, according to equation ([[#eq-A.3|A.3]]), we have
<span id="eq-A.6"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\Delta (\sigma _{r}+\sigma _{\theta })=0. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (A.6)
|}
Likewise, the laplacian in polar coordinates takes the following form,
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \Delta =\left(\frac{\partial ^{2}}{\partial r^{2}}+\frac{1}{r}\frac{\partial }{\partial r}+\frac{1}{r^{2}}\frac{\partial ^{2}}{\partial \theta ^{2}}\right), </math>
|}
|}
Substituting the stresses in terms of the Airy function from equation ([[#eq-A.5|A.5]]) into the Beltrami-Michel equation ([[#eq-A.6|A.6]]), we obtain the biharmonic equation for the Airy function in polar coordinates, that is,
<span id="eq-A.7"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\Delta (\underbrace{\frac{1}{r}\frac{\partial \phi }{\partial r}+\frac{1}{r^{2}}\frac{\partial ^{2}\phi }{\partial \theta ^{2}}}_{\sigma _{r}}+\underbrace{\frac{\partial ^{2}\phi }{\partial r^{2}}}_{\sigma _{\theta }})=\Delta \Delta \phi =\Delta ^{2}\phi=0. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (A.7)
|}
For simplicity, the biharmonic equation is also commonly expressed more schematically in the following form
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \left(\frac{\partial ^{2}}{\partial r^{2}}+\frac{1}{r}\frac{\partial }{\partial r}+\frac{1}{r^{2}}\frac{\partial ^{2}}{\partial \theta ^{2}}\right)\left(\frac{\partial ^{2}}{\partial r^{2}}+\frac{1}{r}\frac{\partial }{\partial r}+\frac{1}{r^{2}}\frac{\partial ^{2}}{\partial \theta ^{2}}\right)\phi =0. </math>
|}
|}
==A.2 Boundary and transmission conditions==
For the solution of the biharmonic equation, we need to define the boundary conditions that must be satisfied. It is worth mentioning that since we consider two bodies (inclusion and matrix), two Airy function appears as the unknowns of the problem, one for each body.
Regarding the matrix, in the way that the exterior problem is defined, we impose that at infinity the stresses cancel, this is,
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \lim _{r\to \infty }\sigma _{r}^{e}(r,\theta )=\lim _{r\to \infty }\sigma _{\theta }^{e}(r,\theta )=\lim _{r\to \infty }\sigma _{r\theta }^{e}(r,\theta )=0. </math>
|}
|}
Note that all the variables (Airy function <math display="inline">\phi </math>, the stresses <math display="inline">\sigma </math> and the strains <math display="inline">\varepsilon </math>) are hereafter denoted by a super-index <math display="inline">e</math> in the case of the matrix and <math display="inline">i</math> in the case of the inclusion
Regarding the boundary conditions for the inclusion, we impose the Eshelby theorem <span id='citeF-109'></span><span id='citeF-110'></span><span id='citeF-111'></span>[[#cite-109|[109,110,111]]], which asserts that the strain fields inside the inclusion are constant if the loading at infinity is constant (zero in this case). For further information of the Eshelby theorem, the reader is referred to works <span id='citeF-112'></span><span id='citeF-113'></span>[[#cite-112|[112,113]]]. Thus, for the case of elastic materials, the constant value of the strain field brings constant value of the stress field, i.e.,
<span id="eq-A.8"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\sigma _{r}^{i}(r,\theta )\neq f(r)\qquad \sigma _{\theta }^{i}(r,\theta )\neq f(r)\qquad \sigma _{r\theta }^{i}(r,\theta )\neq f(r) </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (A.8)
|}
Note that the dependency on <math display="inline">\theta </math> is due to the dependency of the basis (polar) on which it is expressed, but not on the values of the tensor. If it is expressed in the principal coordinates no dependency on <math display="inline">\theta </math> appears.
This dependency on <math display="inline">\theta </math> is clearly seen when we impose the jump on traction across the boundary of the inclusion. Thus, once the boundary conditions are imposed in both solids, the transmission conditions across the interface of the inclusion and the matrix must be satisfied. Regarding the stresses, the exterior problem is defined such that the jump of the traction across the interface must be equal to the normal component of the given stress tensor <math display="inline">S</math>, this is
<span id="eq-A.9"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\left(\sigma ^{e}(1,\theta )-\sigma ^{i}(1,\theta )\right)\cdot n=S\cdot n\quad \Rightarrow \quad \left[\begin{array}{c}\sigma _{r}^{e}(1,\theta )-\sigma _{r}^{i}\\ \sigma _{r\theta }^{e}(1,\theta )-\sigma _{r\theta }^{i} \end{array}\right]=\left[\begin{array}{c}S_{r}\\ S_{r\theta } \end{array}\right]\quad \forall \theta{.} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (A.9)
|}
Thus, the stresses will be discontinuous across the interface. Although the exterior problem is solved in polar coordinates, the data <math display="inline">S</math> and the solution must be provided into Cartesian coordinates. Thus, we try to re-express the tensor <math display="inline">S</math> in polar coordinates in terms of its Cartesian counterpart. Pre and post-multiplying by the standard rotation matrix, we obtain
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \left[\begin{array}{cc} S_{r} & S_{r\theta }\\ S_{r\theta } & S_{\theta } \end{array}\right]=\left[\begin{array}{cc} \cos (\theta ) & \sin (\theta )\\ -\sin (\theta ) & \cos (\theta ) \end{array}\right]\left[\begin{array}{cc} S_{x} & S_{xy}\\ S_{xy} & S_{y} \end{array}\right]\left[\begin{array}{cc} \cos (\theta ) & -\sin (\theta )\\ \sin (\theta ) & \cos (\theta ) \end{array}\right]. </math>
|}
|}
Accordingly, if we proceed to express the relation in vector notation as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \left[\begin{array}{c} S_{r}\\ S_{\theta }\\ S_{r\theta } \end{array}\right]=\left[\begin{array}{c} S_{x}\cos ^{2}(\theta )+S_{y}\sin ^{2}(\theta )+2S_{xy}\cos (\theta )\sin (\theta )\\ S_{x}\sin ^{2}(\theta )+S_{y}\cos ^{2}(\theta )-2S_{xy}\cos (\theta )\sin (\theta )\\ S_{xy}(\cos ^{2}(\theta )-\sin ^{2}(\theta ))-(S_{x}-S_{y})\cos (\theta )\sin (\theta ) \end{array}\right] </math>
|}
|}
and after applying the trigonometric identities <math display="inline">\cos (2\theta )=\cos ^{2}(\theta )-\sin ^{2}(\theta )</math> and <math display="inline">\sin (2\theta \hbox{)=2 }\cos \hbox{( }\theta \hbox{)sin( }\theta \hbox{)}</math>, we shall write the above expression as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \left[\begin{array}{c} S_{r}\\ S_{\theta }\\ S_{r\theta } \end{array}\right]=\left[\begin{array}{c} \frac{S_{x}+S_{y}}{2}-\frac{S_{y}-S_{x}}{2}\cos (2\theta )+S_{xy}\sin (2\theta )\\ \frac{S_{x}+S_{y}}{2}+\frac{S_{y}-S_{x}}{2}\cos (2\theta )-S_{xy}\sin (2\theta )\\ S_{xy}\cos (2\theta )+\frac{S_{y}-S_{x}}{2}\sin (2\theta ) \end{array}\right] </math>
|}
|}
which in a matrix-vector representation takes the following form
<span id="eq-A.10"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\left[\begin{array}{c}S_{r}\\ S_{\theta }\\ S_{r\theta } \end{array}\right]=\left[\begin{array}{ccc}\frac{S_{x}+S_{y}}{2} & \frac{S_{x}-S_{y}}{2} & S_{xy}\\ \frac{S_{x}+S_{y}}{2} & \frac{S_{y}-S_{x}}{2} & -S_{xy}\\ 0 & S_{xy} & \frac{S_{y}-S_{x}}{2} \end{array}\right]\left[\begin{array}{c}1\\ \hbox{cos}(2\theta )\\ \hbox{sin}(2\theta ) \end{array}\right]. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (A.10)
|}
Thus, both the first and the last equation of the above expression are going to be considered in the transmission conditions ([[#eq-A.9|A.9]]). Note that although the tensor <math display="inline">S</math> is constant a dependency on <math display="inline">\theta </math> appears due to its representation on the polar basis of the tensor. This is analogous to the inclusion stresses <math display="inline">\sigma ^{i}</math> dependency that appear in the Eshelby conditions ([[#eq-A.8|A.8]]). The dependency on the angle <math display="inline">\theta </math> appears due to its representation on the polar basis.
Regarding the transmission conditions on displacements, we must ensure, in polar coordinates, that the jump across the boundary of the inclusion of the <math display="inline">\theta </math> component of the strains must be zero (see <span id='citeF-114'></span>[[#cite-114|[114]]] for further information), i.e.,
<span id="eq-A.11"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\varepsilon _{\theta }^{e}(1,\theta )-\varepsilon _{\theta }^{i}=0\qquad \forall \theta{.} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (A.11)
|}
The biharmonic equation jointly with all these conditions are the necessary ingredients for solving the exterior problem.
==A.3 Resolution of the biharmonic equation==
Since we have to satisfy the transmission conditions and the tensor <math display="inline">S</math> is expressed in equation ([[#eq-A.10|A.10]]) as a combination of <math display="inline">1</math>, <math display="inline">\cos (\theta )</math> and <math display="inline">\sin (\theta )</math>, the Airy function is proposed at least depending on that terms. More specifically, that is
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \phi (r,\theta )=\left[\begin{array}{ccc} \phi _{0}(r) & \phi _{c}(r) & \phi _{s}(r)\end{array}\right]\left[\begin{array}{c} 1\\ \hbox{cos}(2\theta )\\ \hbox{sin}(2\theta ) \end{array}\right]=\phi _{0}(r)+\phi _{c}(r)\hbox{cos}(2\theta )+\phi _{s}(r)\hbox{sin}(2\theta{).} </math>
|}
|}
Introducing the above expression in the biharmonic equation ([[#eq-A.7|A.7]]), we obtain
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \Delta ^{2}\phi =\Delta ^{2}\phi _{0}+\Delta ^{2}(\phi _{c}\hbox{cos}(2\theta ))+(\Delta ^{2}\phi _{s}\hbox{sin}(2\theta ))=0. </math>
|}
|}
Considering the biharmonic operator, the following equations can be written
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \begin{array}{rc} \frac{\partial ^{4}\phi _{0}}{\partial r^{4}}+\frac{2}{r}\frac{\partial ^{3}\phi _{0}}{\partial r^{3}}-\frac{1}{r^{2}}\frac{\partial ^{2}\phi _{0}}{\partial r^{2}}+\frac{1}{r^{3}}\frac{\partial \phi _{0}}{\partial r}, & (1)\\ \frac{\partial ^{4}\phi _{c}}{\partial r^{4}}+\frac{2}{r}\frac{\partial ^{3}\phi _{c}}{\partial r^{3}}-\frac{9}{r^{2}}\frac{\partial ^{2}\phi _{c}}{\partial r^{2}}+\frac{9}{r^{3}}\frac{\partial \phi _{c}}{\partial r}=0, & (\cos (2\theta ))\\ \frac{\partial ^{4}\phi _{s}}{\partial r^{4}}+\frac{2}{r}\frac{\partial ^{3}\phi _{s}}{\partial r^{3}}-\frac{9}{r^{2}}\frac{\partial ^{2}\phi _{s}}{\partial r^{2}}+\frac{9}{r^{3}}\frac{\partial \phi _{s}}{\partial r}=0. & (\sin (2\theta )) \end{array} </math>
|}
|}
We now proceed to study and solve (up to constant parameters) each term of the Airy function and then we sum them up.
Regarding the term <math display="inline">\phi _{0}</math>, it must satisfy
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \frac{\partial ^{4}\phi _{0}}{\partial r^{4}}+\frac{2}{r}\frac{\partial ^{3}\phi _{0}}{\partial r^{3}}-\frac{1}{r^{2}}\frac{\partial ^{2}\phi _{0}}{\partial r^{2}}+\frac{1}{r^{3}}\frac{\partial \phi _{0}}{\partial r}=0, </math>
|}
|}
and after applying the change of variable <math display="inline">r=e^{t}</math>, the above equation becomes the following linear one
<span id="eq-A.12"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\frac{\partial ^{4}\phi _{0}}{\partial t^{4}}-4\frac{\partial ^{3}\phi _{0}}{\partial t^{3}}+4\frac{\partial ^{2}\phi _{0}}{\partial t^{2}}=0. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (A.12)
|}
Since it has linear behavior, we can solve it through the characteristic equation
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> t^{4}-4t+4t^{2}=0. </math>
|}
|}
whose roots (both doubles) are <math display="inline">t=0</math> and <math display="inline">t=2</math>. Thus the solution of equation ([[#eq-A.12|A.12]]) reads as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \phi _{0}(t)=A_{0}t+B_{0}te^{2t}+C_{0}e^{-2t}+D_{0} </math>
|}
|}
and after undoing the change of variable, we obtain
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \phi _{0}(r)=A_{0}\hbox{log}(r)+B_{0}r^{2}\hbox{log}(r)+C_{0}r^{2}+D_{0} </math>
|}
|}
which can be expressible in a vector form as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \phi _{0}(r)=\left[\begin{array}{cccc} A_{0} & B_{0} & C_{0} & D_{0}\end{array}\right]\left[\begin{array}{c} r^{2}\\ r^{2}\hbox{log}(r)\\ \hbox{log}(r)\\ 1 \end{array}\right]=K_{0}^{T}R_{0}. </math>
|}
|}
We proceed similarly for the function <math display="inline">\phi _{c}(r,\theta )</math>. The compatibility equation is written as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \frac{\partial ^{4}\phi _{c}}{\partial r^{4}}+\frac{2}{r}\frac{\partial ^{3}\phi _{c}}{\partial r^{3}}-\frac{9}{r^{2}}\frac{\partial ^{2}\phi _{c}}{\partial r^{2}}+\frac{9}{r^{3}}\frac{\partial \phi _{c}}{\partial r}=0. </math>
|}
|}
After applying the same change of variable <math display="inline">r=e^{t}</math> and solving the characteristic equation, we obtain that the term <math display="inline">\phi _{c}(t)</math> is of the form
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \phi _{c}(t)=A_{c}e^{2t}+B_{c}e^{4t}+C_{c}e^{-2t}+D_{c}. </math>
|}
|}
Undoing again the change of variable, we end up with the expression for <math display="inline">\phi _{c}(r)</math> as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \phi _{c}(r)=A_{c}r+\frac{B_{c}}{r}+C_{c}r^{4}+D_{c} </math>
|}
|}
which can be written in a vector form as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \phi _{c}(r)=\left[\begin{array}{cccc} A_{c} & B_{c} & C_{c} & D_{c}\end{array}\right]\left[\begin{array}{c} r\\ 1/r^{2}\\ r^{4}\\ 1 \end{array}\right]=K_{c}^{T}R_{c}. </math>
|}
|}
Since <math display="inline">\phi _{s}(r)</math> has to solve the same equation than <math display="inline">\phi _{s}(r)</math>, it can be written in the same terms, that is
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \phi _{s}(r)=\left[\begin{array}{cccc} A_{s} & B_{s} & C_{s} & D_{s}\end{array}\right]\left[\begin{array}{c} r\\ 1/r^{2}\\ r^{4}\\ 1 \end{array}\right]=K_{s}^{T}R_{s}. </math>
|}
|}
Thus, the Airy function is compactly expressible as
<span id="eq-A.13"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\phi =\left[\begin{array}{ccc}R_{0} & R_{c} & R_{s}\end{array}\right]\left[\begin{array}{ccc}K_{0}^{T} & 0 & 0\\ 0 & K_{c}^{T} & 0\\ 0 & 0 & K_{s}^{T} \end{array}\right]\left[\begin{array}{c}1\\ \hbox{cos}(2\theta )\\ \hbox{sin}(2\theta ) \end{array}\right]. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (A.13)
|}
The free parameters are collected in the vectors <math display="inline">K_{0}</math>, <math display="inline">K_{c}</math> and <math display="inline">K_{s}</math> and are going to be determined after applying the boundary and transmission conditions.
==A.4 Resolution of the free parameters==
Once we have the expression of the Airy function, we move to compute the <math display="inline">\sigma </math> field. According to relations ([[#eq-A.5|A.5]]) and considering the expression ([[#eq-A.13|A.13]]), we obtain
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \begin{array}{rcl} \left[\begin{array}{c} \sigma _{r}\\ \sigma _{\theta }\\ \sigma _{r\theta } \end{array}\right]& = & \left[\begin{array}{c} \left(\frac{1}{r}\frac{\partial }{\partial r}+\frac{1}{r^{2}}\frac{\partial ^{2}}{\partial \theta ^{2}}\right)\\ \left(\frac{\partial ^{2}}{\partial r^{2}}\right)\\ \left(-\frac{\partial }{\partial r}\left(\frac{1}{r}\frac{\partial }{\partial \theta }\right)\right) \end{array}\right]\left[\begin{array}{ccc} \phi _{0}(r) & \phi _{c}(r) & \phi _{s}(r)\end{array}\right]\left[\begin{array}{c} 1\\ \hbox{cos}(2\theta )\\ \hbox{sin}(2\theta ) \end{array}\right]=\\ \\ & = & \left[\begin{array}{ccc} K_{0}^{T}\left(\frac{1}{r}\frac{\partial }{\partial r}\right)R_{0} & K_{c}^{T}\left(\frac{1}{r}\frac{\partial }{\partial r}-\frac{4}{r^{2}}\right)R_{c} & K_{s}^{T}\left(\frac{1}{r}\frac{\partial }{\partial r}-\frac{4}{r^{2}}\right)R_{s}\\ K_{0}^{T}\left(\frac{\partial ^{2}}{\partial r^{2}}\right)R_{0} & K_{c}^{T}\left(\frac{\partial ^{2}}{\partial r^{2}}\right)R_{c} & K_{s}^{T}\left(\frac{\partial ^{2}}{\partial r^{2}}\right)R_{s}\\ 0 & -2K_{s}^{T}\left(\frac{\partial }{\partial r}\left(\frac{1}{r}\right)\right)R_{s} & 2K_{c}^{T}\left(\frac{\partial }{\partial r}\left(\frac{1}{r}\right)\right)R_{c} \end{array}\right]\left[\begin{array}{c} 1\\ \hbox{cos}(2\theta )\\ \hbox{sin}(2\theta ) \end{array}\right]. \end{array} </math>
|}
|}
Note that each term of the matrix stands for a scalar product between the <math display="inline">K_{0}</math>, <math display="inline">K_{c}</math>, <math display="inline">K_{s}</math> and some derivatives of <math display="inline">R_{0}</math>, <math display="inline">R_{c}</math> and <math display="inline">R_{s}</math>. Let us define the following relation by
<span id="eq-A.14"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{rcl}\left[\begin{array}{c}\sigma _{r}\\ \sigma _{\theta }\\ \sigma _{r\theta } \end{array}\right]& = & \left[\begin{array}{ccc}K_{0}^{T}dR_{0}^{r} & K_{c}^{T}dR_{c}^{r} & K_{s}^{T}dR_{s}^{r}\\ K_{0}^{T}dR_{0}^{\theta } & K_{c}^{T}dR_{c}^{\theta } & K_{s}^{T}dR_{s}^{\theta }\\ 0 & -2K_{s}^{T}dR_{s}^{r\theta } & 2K_{c}^{T}dR_{c}^{r\theta } \end{array}\right]\left[\begin{array}{c}1\\ \hbox{cos}(2\theta )\\ \hbox{sin}(2\theta ) \end{array}\right]\end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (A.14)
|}
in which each term <math display="inline">dR_{0}^{r}</math>, <math display="inline">dR_{c}^{r}</math>, <math display="inline">dR_{s}^{r}</math>, <math display="inline">dR_{0}^{\theta }</math>, <math display="inline">dR_{c}^{\theta }</math>, <math display="inline">dR_{s}^{\theta }</math>,<math display="inline">dR_{0}^{r\theta }</math>, <math display="inline">dR_{c}^{r\theta }</math> and <math display="inline">dR_{s}^{r\theta }</math> are computed as follows
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> dR_{0}^{r}=\left(\frac{1}{r}\frac{\partial }{\partial r}\right)R_{0}=\left(\frac{1}{r}\frac{\partial }{\partial r}\right)\left[\begin{array}{c} r^{2}\\ r^{2}\hbox{log}(r)\\ \hbox{log}(r)\\ 1 \end{array}\right]=\left[\begin{array}{c} 2\\ 1+2\hbox{log}(r)\\ 1/r^{2}\\ 0 \end{array}\right] </math>
|}
|}
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> dR_{0}^{\theta }=\left(\frac{\partial ^{2}}{\partial r^{2}}\right)R_{0}=\left(\frac{\partial ^{2}}{\partial r^{2}}\right)\left[\begin{array}{c} r^{2}\\ r^{2}\hbox{log}(r)\\ \hbox{log}(r)\\ 1 \end{array}\right]=\left[\begin{array}{c} 2\\ 3+2\hbox{log}(r)\\ -1/r^{2}\\ 0 \end{array}\right] </math>
|}
|}
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> dR_{c}^{r}=dR_{s}^{r}=\left(\frac{1}{r}\frac{\partial }{\partial r}-\frac{4}{r^{2}}\right)R_{c}=\left(\frac{1}{r}\frac{\partial }{\partial r}-\frac{4}{r^{2}}\right)\left[\begin{array}{c} r\\ 1/r^{2}\\ r^{4}\\ 1 \end{array}\right]=\left[\begin{array}{c} -2\\ -6/r^{4}\\ 0\\ -4/r^{2} \end{array}\right] </math>
|}
|}
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> dR_{c}^{\theta }=dR_{s}^{\theta }=\left(\frac{\partial ^{2}}{\partial r^{2}}\right)R_{c}=\left(\frac{\partial ^{2}}{\partial r^{2}}\right)\left[\begin{array}{c} r\\ 1/r^{2}\\ r^{4}\\ 1 \end{array}\right]=\left[\begin{array}{c} 2\\ 6/r^{4}\\ 12r^{2}\\ 0 \end{array}\right] </math>
|}
|}
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> dR_{c}^{r\theta }=dR_{s}^{r\theta }=\left(\frac{\partial }{\partial r}\left(\frac{1}{r}\right)\right)R_{c}=\left(\frac{\partial }{\partial r}\left(\frac{1}{r}\right)\right)\left[\begin{array}{c} r\\ 1/r^{2}\\ r^{4}\\ 1 \end{array}\right]=\left[\begin{array}{c} 1\\ -3/r^{4}\\ 3r^{2}\\ -1/r^{2} \end{array}\right] </math>
|}
|}
===A.4.1 Boundary conditions in the matrix===
For determining the free parameters, we first apply on the matrix the condition ([[#eq-A.8|A.8]]) of zero stress at infinity which leads to cancel the following constants
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> A_{0}^{e}=B_{0}^{e}=A_{c}^{e}=A_{s}^{e}=C_{c}^{e}=C_{s}^{e}=0. </math>
|}
|}
Since the last term of <math display="inline">dR_{0}^{r}</math> and <math display="inline">dR_{0}^{\theta }</math> is canceled there is no reason of keeping the constant <math display="inline">D_{0}^{e},</math> hence
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> D_{0}^{e}=0. </math>
|}
|}
Consequently, the vectors <math display="inline">K_{0}</math>, <math display="inline">K_{c}</math> and <math display="inline">K_{s}</math> become
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> K_{0}=C_{0}^{e}\qquad K_{c}=\left[\begin{array}{c} B_{c}^{e}\\ D_{c}^{e} \end{array}\right]\qquad K_{S}=\left[\begin{array}{c} B_{s}^{e}\\ D_{s}^{e} \end{array}\right] </math>
|}
|}
and similarly the <math display="inline">dR</math> vectors becomes
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> dR_{0}^{r}=\frac{1}{r^{2}}\qquad dR_{0}^{\theta }=-\frac{1}{r^{2}} </math>
|}
|}
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> dR_{c}^{r}=dR_{s}^{r}=\left[\begin{array}{c} -6/r^{4}\\ -4/r^{2} \end{array}\right]\qquad dR_{c}^{\theta }=dR_{s}^{\theta }=\left[\begin{array}{c} 6/r^{4}\\ 0 \end{array}\right]\qquad dR_{c}^{r\theta }=dR_{s}^{r\theta }=\left[\begin{array}{c} -3/r^{4}\\ -1/r^{2} \end{array}\right]. </math>
|}
|}
Substituting all these reduced expression into equation ([[#eq-A.14|A.14]]), we are ready to compute the term <math display="inline">\sigma ^{e}(1,\theta )</math> that appears in the transmission condition just imposing <math display="inline">r=1</math> as follows
<span id="eq-A.15"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\sigma ^{e}(1,\theta )=\left[\begin{array}{c}\sigma _{r}^{e}(1,\theta )\\ \sigma _{\theta }^{e}(1,\theta )\\ \sigma _{r\theta }^{e}(1,\theta ) \end{array}\right]=\left[\begin{array}{ccc}C_{0}^{e} & -6B_{c}^{e}-4D_{c}^{e} & -6B_{s}^{e}-4D_{s}^{e}\\ -C_{0}^{e} & 6B_{c}^{e} & 6B_{s}^{e}\\ 0 & 6B_{c}^{e}+2D_{c}^{e} & -6B_{s}^{e}-2D_{s}^{e} \end{array}\right]\left[\begin{array}{c}1\\ \hbox{cos}(2\theta )\\ \hbox{sin}(2\theta ) \end{array}\right]. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (A.15)
|}
===A.4.2 Boundary conditions in the inclusion ===
Regarding the conditions on the inclusion, we have to impose a constant value of the stressed as it is detailed in ([[#eq-A.8|A.8]]). Thus, all the constants that multiply terms that depend on variable <math display="inline">r</math> are canceled, that is
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> C_{0}^{i}=B_{0}^{i}=B_{c}^{i}=B_{s}^{i}=D_{c}^{i}=D_{s}^{i}=C_{c}^{i}=C_{s}^{i}=0 </math>
|}
|}
And similarly, since <math display="inline">D_{0}^{i}</math> is arbitrary and it does not appear on the stress, there is no reasons to keep it. Hence,
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> D_{0}^{i}=0. </math>
|}
|}
Consequently, the vector <math display="inline">K_{0}</math>, <math display="inline">K_{c}</math> and <math display="inline">K_{s}</math> become
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> K_{0}^{i}=A_{0}^{i}\qquad K_{c}^{i}=A_{c}^{i}\qquad K_{S}^{e}=A_{s}^{i}. </math>
|}
|}
and the <math display="inline">dR</math> vector are reduced to the following expression
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> dR_{0}^{r}=2\qquad dR_{0}^{\theta }=2 </math>
|}
|}
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> dR_{c}^{r}=dR_{s}^{r}=\begin{array}{c} -2\end{array}\qquad dR_{c}^{\theta }=dR_{s}^{\theta }=2\qquad dR_{c}^{r\theta }=dR_{s}^{r\theta }=1. </math>
|}
|}
In order to apply the transmission condition, substituting the above reduced expression in the stress field equation ([[#eq-A.14|A.14]]), we obtain the constant stress field in the inclusion as
<span id="eq-A.16"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\sigma ^{i}=\left[\begin{array}{c}\sigma _{r}^{i}\\ \sigma _{\theta }^{i}\\ \sigma _{r\theta }^{i} \end{array}\right]=\left[\begin{array}{ccc}2A_{0}^{i} & -2A_{c}^{i} & -2A_{s}^{i}\\ 2A_{0}^{i} & 2A_{c}^{i} & 2A_{s}^{i}\\ 0 & -2A_{s}^{i} & 2A_{c}^{i} \end{array}\right]\left[\begin{array}{c}1\\ \hbox{cos}(2\theta )\\ \hbox{sin}(2\theta ) \end{array}\right]. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (A.16)
|}
Note that since the stresses are constant in the inclusion, the above expression stands also for the stresses on the interface.
It is worth mentioning that if we write the stresses into the Cartesian components analogously to expression ([[#eq-A.10|A.10]]) as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \sigma ^{i}(1,\theta )=\left[\begin{array}{c} \sigma _{r}^{i}(1,\theta )\\ \sigma _{\theta }^{i}(1,\theta )\\ \sigma _{r\theta }^{i}(1,\theta ) \end{array}\right]=\left[\begin{array}{ccc} \frac{\sigma _{x}^{i}+\sigma _{y}^{i}}{2} & \frac{\sigma _{x}^{i}-\sigma _{y}^{i}}{2} & \sigma _{xy}^{i}\\ \frac{\sigma _{x}^{i}+\sigma _{y}^{i}}{2} & \frac{\sigma _{y}^{i}-\sigma _{x}^{i}}{2} & -\sigma _{xy}^{i}\\ 0 & \sigma _{xy}^{i} & \frac{\sigma _{y}^{i}-\sigma _{x}^{i}}{2} \end{array}\right]\left[\begin{array}{c} 1\\ \hbox{cos}(2\theta )\\ \hbox{sin}(2\theta ) \end{array}\right] </math>
|}
|}
and we identify all the terms of both matrices, we can relate the Cartesian components of the stresses with the constants <math display="inline">A_{0}^{i}</math>, <math display="inline">A_{c}^{i}</math> and <math display="inline">A_{s}^{i}</math> as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \sigma _{x}^{i}=2(A_{0}^{i}-A_{c}^{i})\qquad \sigma _{y}^{i}=2(A_{0}^{i}+A_{c}^{i})\qquad \sigma _{xy}^{i}=-2A_{s}^{i}, </math>
|}
|}
which in matrix notation is written as
<span id="eq-A.17"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\left[\begin{array}{c}\sigma _{x}^{i}\\ \sigma _{y}^{i}\\ \sigma _{xy}^{i} \end{array}\right]=2\underbrace{\left[\begin{array}{ccc} 1 & -1 & 0\\ 1 & 1 & 0\\ 0 & 0 & -1 \end{array}\right]}_{T}\left[\begin{array}{c}A_{0}^{i}\\ A_{c}^{i}\\ A_{s}^{i} \end{array}\right]. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (A.17)
|}
That last relation will be useful to find the final expression for the topological derivative. With all these boundary conditions imposed, we end up with 8 unknowns <math display="inline">A_{0}^{i}</math>, <math display="inline">A_{c}^{i}</math> , <math display="inline">A_{s}^{i}</math>, <math display="inline">B_{c}^{e}</math>,<math display="inline">B_{s}^{e}</math>,<math display="inline">C_{0}^{e}</math>, <math display="inline">D_{c}^{e}</math> and <math display="inline">D_{s}^{e}</math> that are going to be determined after imposing the transmission conditions.
===A.4.3 Stress transmission condition ===
We apply the transmission condition in stresses across the interface. The first equation of ([[#eq-A.9|A.9]]) imposes continuity on the radial component of the stress as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \sigma _{r}^{e}(1,\theta )-\sigma _{r}^{i}=S_{r}\qquad \forall \theta </math>
|}
|}
Considering the matrix representation ([[#eq-A.10|A.10]]) of the stress <math display="inline">S</math> and comparing it with the difference with the matrix representation of the stresses on the matrix ([[#eq-A.15|A.15]]) and the inclusion ([[#eq-A.16|A.16]]), we can identify the <math display="inline">1</math>, <math display="inline">\cos \hbox{( }\theta \hbox{)}</math> and <math display="inline">\sin (\theta )</math> terms and write the following equations
<span id="eq-A.18"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{rc}C_{0}^{e}-2A_{0}^{i}=\frac{S_{x}^{i}+S_{y}^{i}}{2} & (1)\\ -6B_{c}^{e}-4D_{c}^{e}+2A_{c}^{i}=\frac{S_{x}^{i}-S_{y}^{i}}{2} & (\cos (2\theta ))\\ -6B_{s}^{e}-4D_{s}^{e}+2A_{s}^{i}=S_{xy} & (\sin (2\theta )) \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (A.18)
|}
Similarly, according to ([[#eq-A.9|A.9]]), the continuity of the shear component <math display="inline">\sigma _{r\theta }</math> is imposed as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \sigma _{r\theta }^{e}(1,\theta )-\sigma _{r\theta }^{i}=S_{r\theta }\qquad \forall \theta{.} </math>
|}
|}
Considering again the matrix representation of <math display="inline">S</math>, <math display="inline">\sigma _{r\theta }^{e}</math> and <math display="inline">\sigma _{r\theta }^{i}</math> and identifying the <math display="inline">1</math>, <math display="inline">\cos \hbox{( }\theta \hbox{)}</math> and <math display="inline">\sin (\theta )</math> terms, we can write the second group of equations as
<span id="eq-A.19"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{rc}0=0 & (1)\\ 6B_{s}^{e}+2D_{s}^{e}+2A_{s}^{i}=S_{xy} & (\cos (2\theta ))\\ -6B_{c}^{e}-2D_{c}^{e}-2A_{c}^{i}=\frac{S_{y}^{i}-S_{x}^{i}}{2} & (\sin (2\theta )) \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (A.19)
|}
===A.4.4 Strain transmission condition ===
The last condition to impose is the strain transmission condition ([[#eq-A.11|A.11]]). Since we assume plane stress and isotropic material behavior, the strain can be related with the stresses for both the matrix and the inclusion through the following inverse constitutive relation
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \varepsilon _{\theta }^{e}(1,\theta )=\frac{1}{E^{e}}\sigma _{\theta }^{e}(1,\theta )-\frac{\nu ^{e}}{E^{e}}\sigma _{r}^{e}(1,\theta ) </math>
|}
|}
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \varepsilon _{\theta }^{i}(1,\theta )=\frac{1}{E^{i}}\sigma _{\theta }^{i}-\frac{\nu ^{i}}{E^{i}}\sigma _{r}^{i} </math>
|}
|}
where <math display="inline">E^{e}</math>, <math display="inline">E^{i}</math>, <math display="inline">\nu ^{e}</math> and <math display="inline">\nu ^{i}</math> represents the Young modulus and Poisson ratio for the matrix and the inclusion. Inserting the above relation in the transmission condition ([[#eq-A.11|A.11]]) and considering equations ([[#eq-A.15|A.15]]) and ([[#eq-A.16|A.16]]), we can write the last group of equations as
<span id="eq-A.20"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{rc}-\frac{1+\nu ^{e}}{E^{e}}C_{0}^{e}-2\frac{1-\nu ^{i}}{E^{i}}A_{0}^{i}=0 & (1)\\ 6\frac{1+\nu ^{e}}{E^{e}}B_{c}^{e}+\frac{4\nu ^{e}}{E^{e}}D_{c}^{e}-\frac{1+\nu ^{i}}{E^{i}}2A_{c}^{i}=0 & (\cos (2\theta ))\\ 6\frac{1+\nu ^{e}}{E^{e}}B_{s}^{e}+\frac{4\nu ^{e}}{E^{e}}D_{s}^{e}-\frac{1+\nu ^{i}}{E^{i}}2A_{s}^{i}=0 & (\sin (2\theta{)).} \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (A.20)
|}
==A.5 System of equations for the free parameters==
Adding and rearranging all the group of equations, we can split them in three groups as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \left[\begin{array}{cc} 1 & -2\\ -\frac{1+\nu ^{e}}{E^{e}} & -2\frac{1-\nu ^{i}}{E^{i}} \end{array}\right]\left[\begin{array}{c} C_{0}^{e}\\ A_{0}^{i} \end{array}\right]=\left[\begin{array}{c} \frac{S_{x}^{i}+S_{y}^{i}}{2}\\ 0 \end{array}\right], </math>
|}
|}
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \left[\begin{array}{ccc} -6 & -4 & 2\\ -6 & -2 & -2\\ 6\frac{1+\nu ^{e}}{E^{e}} & \frac{4\nu ^{e}}{E^{e}} & -2\frac{1+\nu ^{i}}{E^{i}} \end{array}\right]\left[\begin{array}{c} B_{c}^{e}\\ D_{c}^{e}\\ A_{c}^{i} \end{array}\right]=\left[\begin{array}{c} \frac{S_{x}^{i}-S_{y}^{i}}{2}\\ \frac{S_{y}^{i}-S_{x}^{i}}{2}\\ 0 \end{array}\right], </math>
|}
|}
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \left[\begin{array}{ccc} -6 & -4 & 2\\ 6 & 2 & 2\\ 6\frac{1+\nu ^{e}}{E^{e}} & \frac{4\nu ^{e}}{E^{e}} & -2\frac{1+\nu ^{i}}{E^{i}} \end{array}\right]\left[\begin{array}{c} B_{s}^{e}\\ D_{s}^{e}\\ A_{s}^{i} \end{array}\right]=\left[\begin{array}{c} S_{xy}\\ S_{xy}\\ 0 \end{array}\right]. </math>
|}
|}
The matrices of the three system of equations are invertible, thus, all the constants can be uniquely determined.
Regarding the <math display="inline">A_{0}^{i}</math>, <math display="inline">A_{c}^{i}</math> and <math display="inline">A_{s}^{i}</math>, we provide its values in a matrix form as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \left[\begin{array}{c} A_{0}^{i}\\ A_{c}^{i}\\ A_{s}^{i} \end{array}\right]=\frac{1}{4}\underbrace{\left[\begin{array}{ccc} -d_{1} & -d_{1} & 0\\ d_{2} & d_{2} & 0\\ 0 & 0 & 2d_{2} \end{array}\right]}_{D}\left[\begin{array}{c} S_{xy}\\ S_{xy}\\ S_{xy} \end{array}\right] </math>
|}
|}
where the matrix <math display="inline">D</math> has been introduced and the adimensional constants <math display="inline">d_{1}</math> and <math display="inline">d_{2}</math> take the following values
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> d_{1}=\frac{1}{1+\frac{E^{e}(1-\nu ^{i})}{E^{i}(1-\nu ^{e})}}\qquad d_{2}=\frac{1}{1+\frac{E^{e}(1+\nu ^{i})}{E^{i}(3-\nu ^{e})}}. </math>
|}
|}
Thus, according to expression ([[#eq-A.17|A.17]]), we can write the stresses on the inclusion in terms of the stresses <math display="inline">S</math> as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \begin{array}{rcl} \left[\begin{array}{c} \sigma _{x}^{i}\\ \sigma _{y}^{i}\\ \sigma _{xy}^{i} \end{array}\right]& = & 2T\left[\begin{array}{c} A_{0}^{i}\\ A_{c}^{i}\\ A_{s}^{i} \end{array}\right]=2T\frac{1}{4}D\left[\begin{array}{c} S_{xy}\\ S_{xy}\\ S_{xy} \end{array}\right]\\ \\ & = & \underbrace{\frac{1}{2}\left[\begin{array}{ccc} -d_{1}-d_{2} & -d_{1}-d_{2} & 0\\ d_{2}-d_{1} & d_{2}-d_{1} & 0\\ 0 & 0 & -2d_{2} \end{array}\right]}_{A_{i}}\left[\begin{array}{c} S_{x}\\ S_{y}\\ S_{xy} \end{array}\right] \end{array} </math>
|}
|}
where we have introduced the matrix <math display="inline">A_{i}</math>. Thus, after solving the exterior problem through the Airy function, the boundary and transmission conditions, we have obtained a linear expression that relates the stresses in the inclusion with the stresses <math display="inline">S</math> as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \sigma ^{i}=A_{i}S. </math>
|}
|}
The appendix closes with this last relation since by substituting A in ([[#eq-4.34|4.34]]), we have obtained the polarization tensor which uniquely define the topological derivative.
=B Analytical solution of the anisotropic exterior problem=
In this appendix, we solve the exterior problem for an anisotropic infinite domain with a circular inclusion of an other anisotropic material. Henceforth, we call matrix to the material of the infinite domain and inclusion to the other one. The boundary and transmission conditions are equivalent to the isotropic case. This is to say, we impose in the matrix zero stress value at infinity and constant stresses to the inclusion due to Eshelby theorem. Regarding the transmission condition, we enforce continuity equilibrium on the normal direction of the stresses and continuity to the displacements.
The solving process is organized as follows. First, similarly to the isotropic case, we define a potential that satisfies automatically the equilibrium equation. However, we use Cartesian coordinates and a complex potential whereas in the isotropic case, the potential is defined as a real function and polar coordinates are considered. Then, we enforce that the potential satisfies the compatibility equation in stresses, but now it does not result to the Beltrami-Michel equations, since anisotropic materials are considered. After integrating the compatibility equation and defining an intermediate potential, we provide some results of complex variables and we impose the transmission conditions for the stresses and displacements. We also provide a justification for the anstatz used and we determine in a matrix form the system of equation needed for solving the problem. Finally, since the problem is too complex to be solved directly by a symbolic software, we provide some properties which makes the problem more compact and solvable by such symbolic software.
The main ideas and part of the notation have been extracted form the classical book <span id='citeF-47'></span>[[#cite-47|[47]]].
Notice that, on the exterior problem ([[#eq-4.19|4.19]]), the stresses on the inclusion are denoted by <math display="inline">\sigma _{\epsilon }(w)\vert _{B_{\epsilon }(\widehat{x})}</math> and the displacements by <math display="inline">w</math>. For convenience, we change notation as follows
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \begin{array}{ccc} \sigma _{\epsilon }(w)\vert _{B_{\epsilon }(\widehat{x})} & \rightarrow & \sigma ^{i}\\ \sigma _{\epsilon }(w)\vert _{\Omega \backslash B_{\epsilon }(\widehat{x})} & \rightarrow & \sigma ^{e}\\ w & \rightarrow & u \end{array} </math>
|}
|}
==B.1 Equilibrium equation and compatibility conditions for anisotropic materials==
As mentioned in the isotropic Appendix [[#7 Analytical solution of the isotropic exterior problem|7]], the equilibrium equation in Cartesian coordinates reads as
<span id="eq-B.1"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\frac{\partial \sigma _{x}}{\partial x}+\frac{\partial \sigma _{xy}}{\partial y}=0\qquad \frac{\partial \sigma _{y}}{\partial y}+\frac{\partial \sigma _{xy}}{\partial x}=0. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.1)
|}
where the body forces have been neglected. We define the potential <math display="inline">F(x,y)</math> (stress function in book <span id='citeF-47'></span>[[#cite-47|[47]]] and homologous to the Airy function) as,
<span id="eq-B.2"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\sigma _{x}=\frac{\partial ^{2}F}{\partial y^{2}}\quad \sigma _{y}=\frac{\partial ^{2}F}{\partial x^{2}}\quad \sigma _{x}=-\frac{\partial ^{2}F}{\partial y\partial x}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.2)
|}
Note that the potential satisfies automatically the equilibrium equation ([[#eq-B.1|B.1]]). The strain compatibility conditions in plane stress reads as
<span id="eq-B.3"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\frac{\partial ^{2}\epsilon _{x}}{\partial y^{2}}+\frac{\partial ^{2}\epsilon _{x}}{\partial y^{2}}-\frac{\partial ^{2}\gamma _{xy}}{\partial x\partial y}=0. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.3)
|}
Assuming elastic behavior the anisotropic constitutive law in its inverse form is written as
<span id="eq-B.4"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\left[\begin{array}{c}\epsilon _{x}\\ \epsilon _{y}\\ \gamma _{xy} \end{array}\right]=\underbrace{\left[\begin{array}{ccc} \alpha _{11} & \alpha _{12} & \alpha _{13}\\ \alpha _{12} & \alpha _{22} & \alpha _{23}\\ \alpha _{13} & \alpha _{23} & \alpha _{33} \end{array}\right]}_{\alpha }\left[\begin{array}{c}\sigma _{x}\\ \sigma _{y}\\ \sigma _{xy} \end{array}\right] </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.4)
|}
where <math display="inline">\alpha _{ij}</math> with <math display="inline">(i,j)=1..3</math> are the components of the constitutive tensor <math display="inline">\mathbb{C}</math> (in matrix notation). Inserting the relation ([[#eq-B.2|B.2]]) into the constitutive law ([[#eq-B.4|B.4]]), and the constitutive law into the compatibility condition ([[#eq-B.3|B.3]]), we obtain
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \alpha _{22}\frac{\partial ^{4}F}{\partial x^{4}}-2\alpha _{23}\frac{\partial ^{4}F}{\partial x^{3}\partial y}+(2\alpha _{12}+\alpha _{33})\frac{\partial ^{4}F}{\partial x^{2}\partial y^{2}}-2\alpha _{13}\frac{\partial ^{4}F}{\partial x\partial y^{3}}+\alpha _{11}\frac{\partial ^{4}F}{\partial y^{4}}=0. </math>
|}
|}
Following the integration procedure of the book <span id='citeF-47'></span>[[#cite-47|[47]]] (Page 29), the potential can be written as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> F=2\Re (F_{1}(z_{1})+F_{2}(z_{2})) </math>
|}
|}
where <math display="inline">\Re </math> denotes the real part and <math display="inline">z_{1}</math> and <math display="inline">z_{2}</math> define a new coordinate system
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> z_{1}=x+\mu _{\hbox{1}}y\quad z_{2}=x+\mu _{2}y </math>
|}
|}
in which the parameters <math display="inline">\mu _{i}</math> with <math display="inline">i=1,2</math>, are the solutions of the characteristic equation
<span id="eq-B.5"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\alpha _{11}\mu ^{4}-2\alpha _{16}\mu ^{3}+(2\alpha _{12}+\alpha _{33})\mu ^{2}-2\alpha _{13}\mu{+\alpha}_{22}=0. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.5)
|}
We define the anisotropic potential <math display="inline">\Phi _{1}</math> and <math display="inline">\Phi _{2}</math> as the derivative of the potential <math display="inline">F</math>, this is,
<span id="eq-B.6"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\Phi _{1}(z_{1})=\frac{\partial F_{1}}{\partial z_{1}},\quad \Phi _{2}(z_{2})=\frac{\partial F_{2}}{\partial z_{2}}.\quad </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.6)
|}
Substituting the above definition into equations ([[#eq-B.2|B.2]]), the stress tensor is expressed as follows
<span id="eq-B.7"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{rcl}\sigma _{x} & = & 2\Re (\mu _{1}^{2}\Phi _{1}^{'}(z_{1})+\mu _{2}^{2}\Phi _{2}^{'}(z_{2})),\\ \sigma _{y} & = & 2\Re (\Phi _{1}^{'}(z_{1})+\Phi _{2}^{'}(z_{2})),\\ \tau _{xy} & = & -2\Re (\mu _{1}\Phi _{1}^{'}(z_{1})+\mu _{2}\Phi _{2}^{'}(z_{2})). \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.7)
|}
Regarding the displacement, in the small strain context, the strains can be written in terms of the displacement as
<span id="eq-B.8"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\varepsilon _{x}=\frac{\partial u_{x}}{\partial x}\quad \varepsilon _{x}=\frac{\partial u_{y}}{\partial x}\quad \gamma _{xy}=\frac{\partial u_{x}}{\partial y}+\frac{\partial u_{y}}{\partial x}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.8)
|}
Integrating the above expression and taking into account the constitutive law ([[#eq-B.4|B.4]]), it is easy to see (detailed in book <span id='citeF-47'></span>[[#cite-47|[47]]]) that the displacements may be written as
<span id="eq-B.9"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{c}u_{x}=2\Re (p_{1}\Phi _{1}(z_{1})+p_{2}\Phi _{2}(z_{2}))-\omega y\\ u_{y}=2\Re (q_{1}\Phi _{1}(z_{1})+q_{2}\Phi _{2}(z_{2}))+\omega x \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.9)
|}
where <math display="inline">\omega </math> characterize a rotation and the complex numbers <math display="inline">p_{i}</math> and <math display="inline">q_{i}</math> are defined as
<span id="eq-B.10"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{c}p_{1}=\alpha _{11}\mu _{1}^{2}+\alpha _{12}-\alpha _{13}\mu _{1},\\ q_{1}=\alpha _{12}\mu _{1}^{2}+\alpha _{22}/\mu _{1}-\alpha _{23,} \end{array}\quad \begin{array}{c}p_{2}=\alpha _{11}\mu _{2}^{2}+\alpha _{12}-\alpha _{13}\mu _{2,}\\ q_{2}=\alpha _{12}\mu _{2}^{2}+\alpha _{22}/\mu _{2}-\alpha _{23}. \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.10)
|}
==8.2 Special case of a infinite plate with an inclusion==
The idea is now to apply the above definitions to the concerning problem, i.e., the case of an infinite plate with an inclusion.
Regarding the stresses, on the one hand, the stresses appearing in the matrix, hereafter referred <math display="inline">\sigma ^{m}</math>, are derived from the anisotropic potential detailed in equation ([[#eq-B.7|B.7]]). On the other hand, according to the Eshelby theorem <span id='citeF-109'></span><span id='citeF-110'></span><span id='citeF-111'></span>[[#cite-109|[109,110,111]]], the stresses in the inclusion <math display="inline">\sigma ^{I}</math> are constant. Thus,
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \left[\begin{array}{c} \sigma _{x}^{m}\\ \sigma _{y}^{m}\\ \sigma _{xy}^{m} \end{array}\right]=\left[\begin{array}{c} 2\Re (\mu _{1}^{2}\Phi _{1}^{'}(z_{1})+\mu _{2}^{2}\Phi _{2}^{'}(z_{2})),\\ 2\Re (\Phi _{1}^{'}(z_{1})+\Phi _{2}^{'}(z_{2})),\\ -2\Re (\mu _{1}\Phi _{1}^{'}(z_{1})+\mu _{2}\Phi _{2}^{'}(z_{2})). \end{array}\right]\quad \hbox{and}\quad \left[\begin{array}{c} \sigma _{x}^{I}\\ \sigma _{y}^{I}\\ \sigma _{xy}^{I} \end{array}\right]. </math>
|}
|}
Regarding the displacements in the inclusion, since we deal with constant strains <math display="inline">\epsilon ^{I}</math> (Eshleby theorem), the equation ([[#eq-B.8|B.8]]) becomes
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \varepsilon _{x}^{I}=\frac{\partial u_{x}}{\partial x}\quad \varepsilon _{y}^{I}=\frac{\partial u_{y}}{\partial x}\quad \gamma _{xy}^{I}=\frac{\partial u_{x}}{\partial y}+\frac{\partial u_{y}}{\partial x}. </math>
|}
|}
Integrating the first two terms as follows
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \frac{\partial u_{x}}{\partial x}=\varepsilon _{x}^{I}x+f(y),\quad \frac{\partial u_{y}}{\partial x}=\varepsilon _{y}^{I}y+g(x) </math>
|}
|}
and inserting the above expressions in the third term, we obtain
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> f'(y)+g'(x)=\gamma _{xy}^{I}\quad \Rightarrow \quad \begin{array}{c} f'(y)=C_{1}\\ g'(x)=C_{2} \end{array}\Rightarrow \quad C_{1}+C_{2}=\gamma _{xy}^{I} </math>
|}
|}
and integrating again respect to the Cartesian coordinates, the function <math display="inline">f(y)</math> and <math display="inline">g(x)</math> read as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \begin{array}{rcl} f(y) & = & C_{1}y+u_{0}^{I}\\ g(x) & = & (\gamma _{xy}^{I}-C_{1})x+v_{0}^{I}. \end{array} </math>
|}
|}
Redefining the constant <math display="inline">C_{1}</math> by <math display="inline">\omega ^{I}</math>, and neglecting the rigid body displacement <math display="inline">u_{0}^{I}</math> and <math display="inline">v_{0}^{I}</math>, the displacement on the inclusion <math display="inline">u^{I}</math> in a matrix form is expressed as
<span id="eq-B.11"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\left[\begin{array}{c}u_{x}^{I}\\ u_{y}^{I} \end{array}\right]=\left(\left[\begin{array}{cc}\varepsilon _{x}^{I} & 0\\ \gamma _{xy}^{I} & \epsilon _{y}^{I} \end{array}\right]+\left[\begin{array}{cc}0 & \omega ^{I}\\ -\omega ^{I} & 0 \end{array}\right]\right)\left[\begin{array}{c}x\\ y \end{array}\right]. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.11)
|}
Regarding the displacement on the matrix, according to equation ([[#eq-B.9|B.9]]), they are derived from the anisotropic potentials <math display="inline">\Phi _{1}</math> and <math display="inline">\Phi _{2}</math> as
<span id="eq-B.12"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\left[\begin{array}{c}u_{x}^{m}\\ u_{y}^{m} \end{array}\right]=\left[\begin{array}{c}2\Re (p_{1}\Phi _{1}(z_{1})+p_{2}\Phi _{2}(z_{2}))-\omega ^{m}y,\\ 2\Re (q_{1}\Phi _{1}(z_{1})+q_{2}\Phi _{2}(z_{2}))+\omega ^{m}x \end{array}\right]. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.12)
|}
Rearranging the above expression in a matrix form, we finally obtain
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \left[\begin{array}{c} u_{x}^{m}\\ u_{y}^{m} \end{array}\right]=2\Re \left(\left[\begin{array}{cc} p_{1} & p_{2}\\ q_{1} & q_{2} \end{array}\right]\left[\begin{array}{c} \Phi _{1}\\ \Phi _{2} \end{array}\right]\right)-\left[\begin{array}{cc} 0 & \omega ^{m}\\ -\omega ^{m} & 0 \end{array}\right]\left[\begin{array}{c} x\\ y \end{array}\right] </math>
|}
|}
==B.3 Coordinates in the inclusion==
Before imposing the transmission condition, let us study the values of the coordinates on the inclusion. Since we assume that an elliptic inclusion (circular in this case) is inserted, the coordinates can be written in elliptic coordinates as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \begin{array}{c} \left.x\right|_{\partial B}=x_{\Gamma }=a\cos v\\ \left.y\right|_{\partial B}=y_{\Gamma }=b\sin v \end{array} </math>
|}
|}
or in matrix form as
<span id="eq-B.13"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\left[\begin{array}{c}x_{\Gamma }\\ y_{\Gamma } \end{array}\right]=\left[\begin{array}{cc}a & 0\\ 0 & b \end{array}\right]\left[\begin{array}{c}\cos v\\ \sin v \end{array}\right] </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.13)
|}
where the sub-index <math display="inline">\Gamma </math> denotes the value on the elliptic inclusion. The complex variable <math display="inline">z_{\Gamma }</math> in the elliptic inclusion is expressed as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \left.z\right|_{\partial B}=z_{\Gamma }=x_{\Gamma }+\mu y_{\Gamma }=a\cos v+\mu b\sin v, </math>
|}
|}
and its square value as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> z_{\Gamma }^{2}=a^{2}\cos ^{2}v+\mu ^{2}b^{2}\sin ^{2}v+2ab\mu \cos v\sin v. </math>
|}
|}
Thus, applying simple trigonometric algebra, we can compute the following equation
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \begin{array}{rcl} z_{\Gamma }^{2}-a^{2}-\mu ^{2}b^{2} & = & a^{2}(\cos ^{2}v-1)+\mu ^{2}b^{2}(\sin ^{2}v-1)+2ab\mu \cos v\sin v=\\ & = & -[a^{2}\sin ^{2}v+\mu ^{2}b^{2}\cos ^{2}v-2\mu ba\sin v\cos v]=\\ & = & -(a\sin v-\mu b\cos v)^{2}. \end{array} </math>
|}
|}
Finally, defining the complex variable <math display="inline">\xi _{\Gamma }</math> on the inclusion is reduced to
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \xi _{\Gamma }=\frac{z_{\Gamma }+\sqrt{z_{\Gamma }^{2}-a^{2}-\mu ^{2}b^{2}}}{a-i\mu b}=\frac{a\cos v+\mu b\sin v+i(a\sin v-\mu b\cos v)}{a-i\mu b} </math>
|}
|}
we end up with the simplified following expression
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \xi _{\Gamma }=\cos v+i\sin v=e^{v}\quad \Rightarrow \quad \frac{1}{\xi _{\Gamma }}=\cos v-i\sin v. </math>
|}
|}
Thus, both coordinates <math display="inline">x_{\Gamma }</math> and <math display="inline">y_{\Gamma }</math> can be written in terms of the complex variables <math display="inline">\xi _{\Gamma }</math> as
<span id="eq-B.14"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>x_{\Gamma }=\Re (\frac{a}{\xi _{\Gamma }})\quad y_{\Gamma }=\Re (\frac{ib}{\xi _{\Gamma }}) </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.14)
|}
==B.4 Transmission conditions ==
We proceed now to impose the transmission conditions through the interface of the inclusion and the matrix. Both conditions in stresses and in displacements will provide the necessary conditions to solve the constants of the problem.
===B.4.1 Transmission conditions in stresses ===
Since we want to solve the exterior problem stated in equation ([[#eq-4.39|4.39]]), the difference of the stresses between the inclusion and the matrix in the normal direction must be the traction caused by the given stresses <math display="inline">S</math>, this is
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \left(\sigma ^{I}-\sigma _{\Gamma }^{m}\right)\cdot n=S\cdot n. </math>
|}
|}
Note that the stresses on the matrix are denoted by the sub-index <math display="inline">\Gamma </math>. By contrast, since the stresses on the inclusion are constant, they are no longer needed to be denoted by sub-index <math display="inline">\Gamma </math>. Re-expressing it in matrix notation, we obtain
<span id="eq-B.15"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\left[\begin{array}{cc}\sigma _{x}^{m} & \sigma _{xy}^{m}\\ \sigma _{xy}^{m} & \sigma _{y}^{m} \end{array}\right]_{\Gamma }\underbrace{\left[\begin{array}{c} n_{x}\\ n_{y} \end{array}\right]}_{n_{\Gamma }}=\left[\begin{array}{cc}S_{x}-\sigma _{x}^{I} & S_{xy}-\sigma _{xy}^{I}\\ S_{xy}-\sigma _{xy}^{I} & S_{y}-\sigma _{y}^{I} \end{array}\right]\underbrace{\left[\begin{array}{c} n_{x}\\ n_{y} \end{array}\right]}_{n_{\Gamma }}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.15)
|}
Defining the vector position <math display="inline">r_{\Gamma }</math> in terms of a parametric coordinate <math display="inline">s</math> in the inclusion as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> r_{\Gamma }(s)=\left[\begin{array}{c} x_{\Gamma }(s)\\ y_{\Gamma }(s) \end{array}\right], </math>
|}
|}
the tangent <math display="inline">t_{\Gamma }</math> and normal <math display="inline">n_{\Gamma }</math> read as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> t_{\Gamma }=\frac{dr}{ds}=\left[\begin{array}{c} \frac{dx}{ds}\\ \frac{dy}{ds} \end{array}\right]\quad n_{\Gamma }=\frac{dr}{ds}=\left[\begin{array}{c} \frac{dy}{ds}\\ -\frac{dx}{ds} \end{array}\right]. </math>
|}
|}
Now, owing to the above expression and equation ([[#eq-B.2|B.2]]), we proceed to express a general stresses tensor projected in the normal direction as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \left[\begin{array}{cc} \sigma _{x} & \tau _{xy}\\ \tau _{xy} & \sigma _{y} \end{array}\right]\left[\begin{array}{c} n_{x}\\ n_{y} \end{array}\right]=\left[\begin{array}{cc} \frac{\partial ^{2}F}{\partial y^{2}} & \frac{\partial ^{2}F}{\partial y\partial x}\\ \frac{\partial ^{2}F}{\partial y\partial x} & \frac{\partial ^{2}F}{\partial x^{2}} \end{array}\right]\left[\begin{array}{c} \frac{dy}{ds}\\ -\frac{dx}{ds} \end{array}\right]=\left[\begin{array}{c} \frac{\partial }{\partial y}\frac{dF}{ds}\\ \frac{\partial }{\partial x}\frac{dF}{ds} \end{array}\right] </math>
|}
|}
where we have used the property of exchanging the derivatives. Using this last expression in equation ([[#eq-B.15|B.15]]) for each stress tensor <math display="inline">\sigma ^{m},</math> <math display="inline">\sigma ^{I}</math> and <math display="inline">S</math>, we can re-write the transmission condition as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \left[\begin{array}{c} \frac{\partial }{\partial y}\frac{dF_{m}}{ds}\\ \frac{\partial }{\partial x}\frac{dF_{m}}{ds} \end{array}\right]_{\Gamma }=\left[\begin{array}{c} \frac{\partial }{\partial y}\frac{dF_{S}}{ds}\\ \frac{\partial }{\partial x}\frac{dF_{S}}{ds} \end{array}\right]_{\Gamma }-\left[\begin{array}{c} \frac{\partial }{\partial y}\frac{dF_{I}}{ds}\\ \frac{\partial }{\partial x}\frac{dF_{I}}{ds} \end{array}\right]_{\Gamma }\quad \forall s </math>
|}
|}
where <math display="inline">F_{m}</math>, <math display="inline">F_{I}</math> and <math display="inline">F_{S}</math> represents the matrix potential, the inclusion potential and the potential of the given stresses <math display="inline">S</math>. Integrating the above expression over all the inclusion, the following equality holds
<span id="eq-B.16"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\left[\begin{array}{c}\frac{\partial F_{m}}{\partial y}\\ \frac{\partial F_{m}}{\partial x} \end{array}\right]_{\Gamma }=\left[\begin{array}{c}\frac{\partial F_{S}}{\partial y}\\ \frac{\partial F_{S}}{\partial x} \end{array}\right]_{\Gamma }-\left[\begin{array}{c}\frac{\partial F_{I}}{\partial y}\\ \frac{\partial F_{I}}{\partial x} \end{array}\right]_{\Gamma }\quad \Rightarrow \quad \left[\begin{array}{c}\frac{\partial F_{m}}{\partial x}\\ \frac{\partial F_{m}}{\partial y} \end{array}\right]_{\Gamma }=\left[\begin{array}{c}\frac{\partial F_{S}}{\partial x}\\ \frac{\partial F_{S}}{\partial y} \end{array}\right]_{\Gamma }-\left[\begin{array}{c}\frac{\partial F_{I}}{\partial x}\\ \frac{\partial F_{I}}{\partial y} \end{array}\right]_{\Gamma }. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.16)
|}
Note that in the last step we have rearranged the order of the equations. Since the given stresses <math display="inline">S</math> and the stresses in the inclusion <math display="inline">\sigma ^{I}</math> are constant, integrating expression ([[#eq-B.2|B.2]]), the potentials <math display="inline">F_{S}</math> and <math display="inline">F_{I}</math> can be written as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \begin{array}{c} F_{S}=\frac{1}{2}S_{y}x^{2}-S_{xy}xy+\frac{1}{2}S_{x}y^{2}=\frac{1}{2}\left[\begin{array}{cc} x & y\end{array}\right]\left[\begin{array}{cc} S_{y} & -S_{xy}\\ -S_{xy} & S_{x} \end{array}\right]\left[\begin{array}{c} x\\ y \end{array}\right],\\ \\ F_{I}=\frac{1}{2}\sigma _{y}^{I}x^{2}-\sigma _{xy}^{I}xy+\frac{1}{2}\sigma _{x}^{I}y^{2}=\frac{1}{2}\left[\begin{array}{cc} x & y\end{array}\right]\left[\begin{array}{cc} \sigma _{y}^{I} & -\sigma _{xy}^{I}\\ -\sigma _{xy}^{I} & \sigma _{x}^{I} \end{array}\right]\left[\begin{array}{c} x\\ y \end{array}\right]. \end{array} </math>
|}
|}
Thus, the right hand side of equation ([[#eq-B.16|B.16]]) can be computed as
<span id="eq-B.17"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\left[\begin{array}{c}\frac{\partial F_{S}}{\partial y}\\ \frac{\partial F_{S}}{\partial y} \end{array}\right]-\left[\begin{array}{c}\frac{\partial F_{I}}{\partial y}\\ \frac{\partial F_{I}}{\partial y} \end{array}\right]=\left[\begin{array}{cc}S_{x}-\sigma _{x}^{I} & S_{xy}-\sigma _{xy}^{I}\\ S_{xy}-\sigma _{xy}^{I} & S_{y}-\sigma _{y}^{I} \end{array}\right]\left[\begin{array}{c}x_{\Gamma }\\ y_{\Gamma } \end{array}\right]. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.17)
|}
Regarding the left hand side, expression ([[#eq-B.6|B.6]]) yields
<span id="eq-B.18"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\left[\begin{array}{c}\frac{\partial F_{m}}{\partial y}\\ \frac{\partial F_{m}}{\partial y} \end{array}\right]=\left[\begin{array}{c}2\Re (\Phi _{1}(z_{1})+\Phi _{2}(z_{2}))\\ 2\Re (\mu _{1}\Phi _{1}(z_{1})+\mu _{2}\Phi _{2}(z_{2})) \end{array}\right]. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.18)
|}
Inserting these two last equation ([[#eq-B.17|B.17]]) and ([[#eq-B.18|B.18]]) in ([[#eq-B.16|B.16]]), we finally obtain the transmission condition in terms of the anisotropic potentials <math display="inline">\Phi _{1}</math> and <math display="inline">\Phi _{2}</math> as
<span id="eq-B.19"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>2\Re \left(\left[\begin{array}{cc}1 & 1\\ \mu _{1} & \mu _{2} \end{array}\right]\left[\begin{array}{c}\phi _{1}^{\Gamma }\\ \phi _{2}^{\Gamma } \end{array}\right]\right)=\left[\begin{array}{cc}S_{x}-\sigma _{x}^{I} & S_{xy}-\sigma _{xy}^{I}\\ S_{xy}-\sigma _{xy}^{I} & S_{y}-\sigma _{y}^{I} \end{array}\right]\left[\begin{array}{c}x_{\Gamma }\\ y_{\Gamma } \end{array}\right]. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.19)
|}
Note that using the relation ([[#eq-B.14|B.14]]), the transmission condition can be computed also by the following equation
<span id="eq-B.20"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>2\Re \left(\left[\begin{array}{cc}1 & 1\\ \mu _{1} & \mu _{2} \end{array}\right]\left[\begin{array}{c}\phi _{1}^{\Gamma }\\ \phi _{2}^{\Gamma } \end{array}\right]\right)=\left[\begin{array}{cc}S_{x}-\sigma _{x}^{I} & S_{xy}-\sigma _{xy}^{I}\\ S_{xy}-\sigma _{xy}^{I} & S_{y}-\sigma _{y}^{I} \end{array}\right]\Re \bigl(\frac{1}{\xi _{\Gamma }}\left[\begin{array}{c}a\\ ib \end{array}\right]\bigr). </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.20)
|}
===B.4.2 Transmission conditions in displacements ===
Similarly, we impose the transmission condition in displacements stated in equation ([[#eq-4.39|4.39]]). The displacement field must be continuous on the interface, i.e,
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> u_{\Gamma }^{m}=u_{\Gamma }^{I}. </math>
|}
|}
According to the expression obtained in equation ([[#eq-B.11|B.11]]) and ([[#eq-B.12|B.12]]) for the displacement in the inclusion and in the matrix, it is convenient to rewrite the transmission condition in displacements as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \begin{array}{c} 2\Re \left(\left[\begin{array}{cc} p_{1} & p_{2}\\ q_{1} & q_{2} \end{array}\right]\left[\begin{array}{c} \Phi _{1}^{\Gamma }\\ \Phi _{2}^{\Gamma } \end{array}\right]\right)-\left[\begin{array}{cc} 0 & \omega ^{m}\\ -\omega ^{m} & 0 \end{array}\right]\left[\begin{array}{c} x_{\Gamma }\\ y_{\Gamma } \end{array}\right]=\\ \\ \qquad \left(\left[\begin{array}{cc} \varepsilon _{x}^{I} & 0\\ \gamma _{xy}^{I} & \epsilon _{y}^{I} \end{array}\right]+\left[\begin{array}{cc} 0 & \omega ^{I}\\ -\omega ^{I} & 0 \end{array}\right]\right)\left[\begin{array}{c} x_{\Gamma }\\ y_{\Gamma } \end{array}\right]. \end{array} </math>
|}
|}
Defining a global rotation as <math display="inline">\tilde{\omega }=\omega ^{I}-\omega ^{m}</math>, we end up with the following expression of the transmission condition in displacements
<span id="eq-B.21"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>2\Re \left(\left[\begin{array}{cc}p_{1} & p_{2}\\ q_{1} & q_{2} \end{array}\right]\left[\begin{array}{c}\Phi _{1}^{\Gamma }\\ \Phi _{2}^{\Gamma } \end{array}\right]\right)=\left(\left[\begin{array}{cc}\varepsilon _{x}^{I} & 0\\ \gamma _{xy}^{I} & \epsilon _{y}^{I} \end{array}\right]+\left[\begin{array}{cc}0 & \tilde{\omega }\\ -\tilde{\omega } & 0 \end{array}\right]\right)\left[\begin{array}{c}x_{\Gamma }\\ y_{\Gamma } \end{array}\right]. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.21)
|}
Note that if we consider the relation ([[#eq-B.14|B.14]]), the above equation reads as
<span id="eq-B.22"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>2\Re \left(\left[\begin{array}{cc}p_{1} & p_{2}\\ q_{1} & q_{2} \end{array}\right]\left[\begin{array}{c}\Phi _{1}^{\Gamma }\\ \Phi _{2}^{\Gamma } \end{array}\right]\right)=\left(\left[\begin{array}{cc}\tilde{\varepsilon _{x}} & 0\\ \tilde{\gamma _{xy}} & \tilde{\epsilon _{y}} \end{array}\right]+\left[\begin{array}{cc}0 & \tilde{\omega }\\ -\tilde{\omega } & 0 \end{array}\right]\right)\Re \bigl(\frac{1}{\xi _{\Gamma }}\left[\begin{array}{c}a\\ ib \end{array}\right]\bigr) </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.22)
|}
==B.5 Proposing the ansatz==
According to the reference book <span id='citeF-47'></span>[[#cite-47|[47]]] (Page <math display="inline">193</math>), the ansatz for the anisotropic potentials <math display="inline">\Phi _{1}</math> and <math display="inline">\Phi _{2}</math> for an infinite plate with an elliptic inclusion an constant stresses at infinity (zero in our case) is of the form
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \begin{array}{c} \Phi _{1}(z_{1})=A_{0}+A_{\ln }\ln \xi _{1}+\frac{A_{1}}{\xi _{1}}+\frac{A_{2}}{\xi _{1}^{2}}+...\\ \Phi _{2}(z_{2})=B_{0}+B_{\ln }\ln \xi _{2}+\frac{B_{2}}{\xi _{2}}+\frac{B_{2}}{\xi _{2}^{2}}+... \end{array} </math>
|}
|}
where <math display="inline">A_{0},</math><math display="inline">A_{\ln }</math>, <math display="inline">A_{1}</math>, ... and <math display="inline">B_{0},</math><math display="inline">B_{\ln }</math>, <math display="inline">B_{1}</math>, ... are a priori complex constants to be determined. However, taking into account the expression obtained in the transmission conditions ([[#eq-B.20|B.20]]) and ([[#eq-B.22|B.22]]), they must take the following values
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \begin{array}{ccc} A_{0}=A_{ln}=A_{2}=...=0 & & A_{1}\neq R_{1}\\ B_{0}=B_{ln}=B_{2}=...=0 & & B_{1}\neq R_{2} \end{array} </math>
|}
|}
where <math display="inline">A_{1}</math> and <math display="inline">B_{1}</math> are rewritten as <math display="inline">R_{1}</math> and <math display="inline">R_{2}.</math> Thus, the anisotropic potentials read as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \Phi _{1}(z_{1})=\frac{R_{1}}{\xi _{1}}\qquad \Phi _{2}(z_{2})=\frac{R_{2}}{\xi _{2}}. </math>
|}
|}
In order to apply the transmission conditions, the anisotropic potentials in the inclusion are obtained as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \left[\begin{array}{c} \Phi _{1}^{\Gamma }\\ \Phi _{2}^{\Gamma } \end{array}\right]=\left[\begin{array}{c} R_{1}\\ R_{2} \end{array}\right]\frac{1}{\xi _{\Gamma }}=\left[\begin{array}{c} R_{1}\\ R_{2} \end{array}\right]\cos v-i\sin v=\left[\begin{array}{c} R_{1}\\ R_{2} \end{array}\right]\left[\begin{array}{cc} 1 & -i\\ 1 & -i \end{array}\right]\left[\begin{array}{c} \cos v\\ \sin v \end{array}\right] </math>
|}
|}
and splitting the complex numbers <math display="inline">R_{1}</math> and <math display="inline">R_{2}</math> in its real (<math display="inline">R_{1}^{R}</math>,<math display="inline">R_{2}^{R}</math>) and imaginary part (<math display="inline">R_{1}^{I}</math>,<math display="inline">R_{2}^{I}</math>), we obtain
<span id="eq-B.23"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\left[\begin{array}{c}\Phi _{1}^{\Gamma }\\ \Phi _{2}^{\Gamma } \end{array}\right]=\left[\begin{array}{cc}R_{1}^{R}+iR_{1}^{I} & -iR_{1}^{R}+R_{1}^{I}\\ R_{2}^{R}+iR_{2}^{I} & -iR_{2}^{R}+R_{2}^{I} \end{array}\right]\left[\begin{array}{c}\cos v\\ \sin v \end{array}\right]=\left[\begin{array}{cc}R_{1}^{R} & R_{1}^{I}\\ R_{2}^{R} & R_{2}^{I} \end{array}\right]\left[\begin{array}{cc}1 & -i\\ i & 1 \end{array}\right]\left[\begin{array}{c}\cos v\\ \sin v \end{array}\right] </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.23)
|}
==B.6 Compact form for the transmission conditions ==
We proceed now to rewrite the transmission condition in compact form for both the stresses and displacements.
===B.6.1 Compact form for the transmission conditions in stresses ===
According to the matrix expression ([[#eq-B.23|B.23]]) of the anisotropic potentials and the relation ([[#eq-B.13|B.13]]), the transmission condition in stresses ([[#eq-B.19|B.19]]) becomes
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \begin{array}{c} 2\Re \left(\left[\begin{array}{cc} 1 & 1\\ \mu _{1} & \mu _{2} \end{array}\right]\left[\begin{array}{cc} R_{1}^{R} & R_{1}^{I}\\ R_{2}^{R} & R_{2}^{I} \end{array}\right]\left[\begin{array}{cc} 1 & -i\\ i & 1 \end{array}\right]\right)\left[\begin{array}{c} \cos v\\ \sin v \end{array}\right]=\\ \\ \qquad =\left[\begin{array}{cc} \sigma _{y}^{I}-S_{y} & -(\sigma _{xy}^{I}-S_{xy})\\ -(\sigma _{xy}^{I}-S_{xy}) & \sigma _{x}^{I}-S_{x} \end{array}\right]\left[\begin{array}{cc} a & 0\\ 0 & b \end{array}\right]\left[\begin{array}{c} \cos v\\ \sin v \end{array}\right] \end{array} </math>
|}
|}
Since it must be satisfied for all <math display="inline">\nu </math>, we shall rewrite the above expression as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \begin{array}{c} 2\Re \Biggl(\underbrace{\left[\begin{array}{cccc} 1 & 0 & 1 & 0\\ 0 & 1 & 0 & 1\\ \mu _{1} & 0 & \mu _{2} & 0\\ 0 & \mu _{1} & 0 & \mu _{2} \end{array}\right]}_{K_{\sigma _{0}}}\underbrace{\left[\begin{array}{cccc} 1 & i & 0 & 0\\ -i & 1 & 0 & 0\\ 0 & 0 & 1 & i\\ 0 & 0 & -i & 1 \end{array}\right]}_{I_{i}}\Biggr)\underbrace{\left[\begin{array}{c} R_{1}^{R}\\ R_{1}^{I}\\ R_{2}^{R}\\ R_{2}^{I} \end{array}\right]}_{Y}=\\ \\ \qquad =\underbrace{\left[\begin{array}{cccc} 0 & a & 0 & 0\\ 0 & 0 & -b & 0\\ 0 & 0 & -a & 0\\ b & 0 & 0 & 0 \end{array}\right]}_{M_{\sigma }}\Biggl(\underbrace{\left[\begin{array}{c} \sigma _{x}^{I}\\ \sigma _{y}^{I}\\ \sigma _{xy}^{I}\\ \tilde{\omega } \end{array}\right]}_{X_{I}}-\underbrace{\left[\begin{array}{c} S_{x}\\ S_{y}\\ S_{xy}\\ 0 \end{array}\right]}_{X_{m}}\Biggr) \end{array} </math>
|}
|}
where we have organized the unknowns <math display="inline">R_{1}^{R},R_{1}^{I},R_{2}^{R}</math> and <math display="inline">R_{2}^{I}</math> in the vector <math display="inline">Y</math>. Note that it helps us to define the matrices <math display="inline">K_{\sigma _{0}}</math>,<math display="inline">I_{i}</math>, <math display="inline">M_{\sigma }</math> and the vectors <math display="inline">X_{I}</math> and <math display="inline">X_{m}</math>. Thus, defining the matrix <math display="inline">K_{\sigma }</math> as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> K_{\sigma }=\Re (K_{\sigma _{0}}I_{i}) </math>
|}
|}
the left and right hand side of the transmission conditions for the stresses are reduced to
<span id="eq-B.24"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{rcl}LHS_{\sigma } & = & 2K_{\sigma }Y\\ RHS_{\sigma } & = & M_{\sigma }(X_{I}-X_{m}) \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.24)
|}
===B.6.2 Compact form for the transmission conditions in displacements===
Similarly, according to the matrix expression ([[#eq-B.23|B.23]]) of the anisotropic potentials and the relation ([[#eq-B.13|B.13]]), the transmission condition in displacements ([[#eq-B.21|B.21]]) becomes
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \begin{array}{c} 2\Re \left(\left[\begin{array}{cc} p_{1} & p_{2}\\ q_{1} & q_{2} \end{array}\right]\left[\begin{array}{cc} R_{1}^{R} & R_{1}^{I}\\ R_{2}^{R} & R_{2}^{I} \end{array}\right]\left[\begin{array}{cc} 1 & -i\\ i & 1 \end{array}\right]\right)\left[\begin{array}{c} \cos v\\ \sin v \end{array}\right]=\\ \\ \qquad =\left(\left[\begin{array}{cc} \tilde{\epsilon _{x}} & 0\\ \tilde{\gamma _{xy}} & \tilde{\epsilon _{y}} \end{array}\right]+\left[\begin{array}{cc} 0 & \tilde{\omega }\\ -\tilde{\omega } & 0 \end{array}\right]\right)\left[\begin{array}{cc} a & 0\\ 0 & b \end{array}\right]\left[\begin{array}{c} \cos v\\ \sin v \end{array}\right] \end{array} </math>
|}
|}
Since it must be satisfied for all <math display="inline">\nu </math>, the terms of <math display="inline">\cos \nu </math> and <math display="inline">\sin \nu </math> disappear. We shall write the left hand side of the above expression as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> 2\Re \Biggl(\underbrace{\left[\begin{array}{cccc} p_{1} & 0 & p_{2} & 0\\ 0 & p_{1} & 0 & p_{2}\\ q_{1} & 0 & q_{2} & 0\\ 0 & q_{1} & 0 & q_{2} \end{array}\right]}_{K_{u_{0}}}\underbrace{\left[\begin{array}{cccc} 1 & i & 0 & 0\\ -i & 1 & 0 & 0\\ 0 & 0 & 1 & i\\ 0 & 0 & -i & 1 \end{array}\right]}_{I_{i}}\Biggr)\underbrace{\left[\begin{array}{c} R_{1}^{R}\\ R_{1}^{I}\\ R_{2}^{R}\\ R_{2}^{I} \end{array}\right]}_{Y} </math>
|}
|}
where again we have organized the unknowns <math display="inline">R_{1}^{R},R_{1}^{I},R_{2}^{R}</math> and <math display="inline">R_{2}^{I}</math> in the vector <math display="inline">Y</math> and we have defined the matrix <math display="inline">K_{u_{0}}.</math> Regarding the right hand side, we rearrange it as follows
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \underbrace{\left[\begin{array}{cccc} a & 0 & 0 & 0\\ 0 & b & 0 & 0\\ 0 & 0 & a & 0\\ 0 & 0 & 0 & b \end{array}\right]}_{M_{u}}\Biggl(\underbrace{\left[\begin{array}{c} \varepsilon _{x}^{I}\\ 0\\ \gamma _{xy}^{I}\\ \varepsilon _{y}^{I} \end{array}\right]}_{\varepsilon ^{I}}-\underbrace{\left[\begin{array}{c} \varepsilon _{x}^{m}\\ 0\\ \gamma _{xy}^{m}\\ \varepsilon _{y}^{m} \end{array}\right]}_{\varepsilon ^{m}}+\left[\begin{array}{c} 0\\ \tilde{\omega }\\ -\tilde{\omega }\\ 0 \end{array}\right]\Biggr) </math>
|}
|}
where the matrix <math display="inline">M_{u}</math> has been defined. Taking into account the constitutive law ([[#eq-B.4|B.4]]), we can express the vector of the strains in the inclusion as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \begin{array}{c} \left[\begin{array}{c} \varepsilon _{x}^{I}\\ 0\\ \gamma _{xy}^{I}\\ \varepsilon _{y}^{I} \end{array}\right]=\left[\begin{array}{ccc} 1 & 0 & 0\\ 0 & 0 & 0\\ 0 & 0 & 1\\ 0 & 1 & 0 \end{array}\right]\left[\begin{array}{c} \varepsilon _{x}^{I}\\ \varepsilon _{y}^{I}\\ \gamma _{xy}^{I} \end{array}\right]=\left[\begin{array}{ccc} 1 & 0 & 0\\ 0 & 0 & 0\\ 0 & 0 & 1\\ 0 & 1 & 0 \end{array}\right]\left[\begin{array}{ccc} \alpha _{11}^{I} & \alpha _{12}^{I} & \alpha _{13}^{I}\\ \alpha _{12}^{I} & \alpha _{22}^{I} & \alpha _{23}^{I}\\ \alpha _{13}^{I} & \alpha _{23}^{I} & \alpha _{33}^{I} \end{array}\right]\left[\begin{array}{c} \sigma _{x}^{I}\\ \sigma _{y}^{I}\\ \sigma _{xy}^{I} \end{array}\right]=\\ \\ =\underbrace{\left[\begin{array}{ccc} 1 & 0 & 0\\ 0 & 0 & 0\\ 0 & 0 & 1\\ 0 & 1 & 0 \end{array}\right]}_{I_{1}}\underbrace{\left[\begin{array}{ccc} \alpha _{11}^{I} & \alpha _{12}^{I} & \alpha _{13}^{I}\\ \alpha _{12}^{I} & \alpha _{22}^{I} & \alpha _{23}^{I}\\ \alpha _{13}^{I} & \alpha _{23}^{I} & \alpha _{33}^{I} \end{array}\right]}_{\alpha ^{I}}\underbrace{\left[\begin{array}{cccc} 1 & 0 & 0 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0 \end{array}\right]}_{I_{2}}\underbrace{\left[\begin{array}{c} \sigma _{x}^{I}\\ \sigma _{y}^{I}\\ \sigma _{xy}^{I}\\ \tilde{\omega } \end{array}\right]}_{X_{I}} \end{array} </math>
|}
|}
where we have introduced the definitions of the matrices <math display="inline">I_{1}</math> and <math display="inline">I_{2}</math>. Thus, in compact form we can write
<span id="eq-B.25"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\varepsilon ^{I}=I_{1}\alpha _{I}I_{2}X_{I} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.25)
|}
Similarly, the rotation term is expressed as
<span id="eq-B.26"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\left[\begin{array}{c}0\\ \tilde{\omega }\\ -\tilde{\omega }\\ 0 \end{array}\right]=\underbrace{\left[\begin{array}{cccc} 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 1\\ 0 & 0 & 0 & -1\\ 0 & 0 & 0 & 0 \end{array}\right]}_{I_{3}}\left[\begin{array}{c}\sigma _{x}^{I}\\ \sigma _{y}^{I}\\ \sigma _{xy}^{I}\\ \tilde{\omega } \end{array}\right]\quad \Rightarrow \omega _{v}=I_{3}X_{I} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.26)
|}
where the matrix <math display="inline">I_{3}</math> has also been defined. Thus, defining the matrix <math display="inline">K_{u}</math> as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> K_{u}=\Re (K_{u_{0}}I_{i}) </math>
|}
|}
the left and right hand side of the displacements transmission conditions become
<span id="eq-B.27"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{rcl}LHS_{u} & = & 2K_{u}Y,\\ RHS_{u} & = & M_{u}(\varepsilon ^{I}+\omega _{v}). \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.27)
|}
Note that the right hand side, according to ([[#eq-B.25|B.25]]) and ([[#eq-B.26|B.26]]), can be also expressed as
<span id="eq-B.28"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>RHS_{u}=M_{u}(\underbrace{I_{1}\alpha _{I}I_{2}}_{\tilde{\alpha }_{I}}X_{I}+I_{3}X_{I})=M_{u}(\tilde{\alpha }_{I}+I_{3})X_{I}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.28)
|}
==B.7 System of equations for solving the exterior problem==
At this point, we proceed to write the full system of equations. By definition, the left and right hand side must be equivalent, i.e.,
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \begin{array}{c} LHS_{\sigma }=RHS_{\sigma }\\ LHS_{u}=RHS_{u.} \end{array} </math>
|}
|}
Considering expressions ([[#eq-B.27|B.27]]), ([[#eq-B.28|B.28]]) and ([[#eq-B.24|B.24]]), the necessary system of equations are written as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \begin{array}{rcl} 2K_{\sigma }Y & = & M_{\sigma }(X_{I}-X_{m})\\ 2K_{u}Y & = & M_{u}(\tilde{\alpha }_{I}+I_{3})X_{I}. \end{array} </math>
|}
|}
Note that although <math display="inline">Y</math> and <math display="inline">X_{I}</math> are the unknowns of the system of equation, we are only interested in the relation between <math display="inline">X_{I}</math> with <math display="inline">X_{m}</math>. To this end, we isolate variable <math display="inline">Y</math> from the first equation and we inserted in the second one, thus, we obtain
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> K_{u}K_{\sigma }^{-1}M_{\sigma }(X_{I}-X_{m})=M_{u}(\tilde{\alpha }_{I}+I_{3})X_{I}. </math>
|}
|}
Grouping <math display="inline">X_{I}</math> and <math display="inline">X_{m}</math> terms, the above expression reads as
<span id="eq-B.29"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\underbrace{\bigl(K_{u}K_{\sigma }^{-1}M_{\sigma }-M_{u}(\tilde{\alpha }_{I}+I_{3})\bigr)}_{K_{G}^{I}}X_{I}=\underbrace{\bigl(K_{u}K_{\sigma }^{-1}M_{\sigma }\bigr)}_{K_{G}^{m}}X_{m} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.29)
|}
where <math display="inline">K_{G}^{I}</math> and <math display="inline">K_{G}^{m}</math> have been defined. Thus, the unknowns <math display="inline">X_{I}</math> can be found in terms of <math display="inline">X_{m}</math> by solving the following equation
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \left[\begin{array}{c} \sigma _{x}^{I}\\ \sigma _{y}^{I}\\ \sigma _{xy}^{I}\\ \tilde{\omega } \end{array}\right]=\left(K_{G}^{I}\right)^{-1}K_{G}^{m}\left[\begin{array}{c} S_{x}\\ S_{y}\\ S_{xy}\\ 0 \end{array}\right]. </math>
|}
|}
Since we are only interested in the stresses in the inclusion in terms of the given stresses <math display="inline">S</math>, we pre and post multiply by the <math display="inline">I_{2}</math> matrix as follows
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \left[\begin{array}{c} \sigma _{x}^{I}\\ \sigma _{y}^{I}\\ \sigma _{xy}^{I} \end{array}\right]=\underbrace{\left[\begin{array}{cccc} 1 & 0 & 0 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0 \end{array}\right]}_{I_{2}}\left(K_{G}^{I}\right)^{-1}K_{G}^{m}\underbrace{\left[\begin{array}{ccc} 1 & 0 & 0\\ 0 & 1 & 0\\ 0 & 0 & 1\\ 0 & 0 & 0 \end{array}\right]}_{I_{2}^{T}}\left[\begin{array}{c} S_{x}\\ S_{y}\\ S_{xy} \end{array}\right]. </math>
|}
|}
Finally, we can identify the matrix <math display="inline">A</math> as the matrix that pre multiply the given stresses <math display="inline">S</math>, i.e.,
<span id="eq-B.30"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\underbrace{\left[\begin{array}{c} \sigma _{x}^{I}\\ \sigma _{y}^{I}\\ \sigma _{xy}^{I} \end{array}\right]}_{\sigma ^{I}}=\underbrace{I_{2}\left(K_{G}^{I}\right)^{-1}K_{G}^{m}I_{2}^{T}}_{A_{i}}\underbrace{\left[\begin{array}{c} S_{x}\\ S_{y}\\ S_{xy} \end{array}\right]}_{S}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.30)
|}
Thus, the obtained linear relation
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \sigma ^{I}=A_{i}S </math>
|}
|}
provide us the necessary result to compute the topological derivative.
==B.8 Practical implementation for computing the <math>A</math> matrix==
Although the matrix <math display="inline">A</math> is well defined and might be obtained only by using the corresponding definitions, our experience shows us that, in practice, it is computational unaffordable when using symbolic softwares to compute its explicit expression. We have to make use of some algebraic properties of the complex numbers.
Basically, the critical operation lies on the <math display="inline">K_{u}K_{\sigma }^{-1}</math> term which appears in <math display="inline">K_{G}^{I}</math> and <math display="inline">K_{G}^{m}</math>. By definition it is written as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> K_{u}K_{\sigma }^{-1}=\Re (K_{u_{0}}I_{i})\Re (K_{\sigma _{0}}I_{i})^{-1}. </math>
|}
|}
On the one hand, we will prove that the term <math display="inline">K_{\sigma }^{-1}</math> satisfies
<span id="eq-B.31"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>K_{\sigma }^{-1}=\Re (K_{\sigma _{0}}I_{i})^{-1}=\Re (K_{\sigma _{0}}^{-1}I_{i}) </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.31)
|}
and, on the other hand, we will prove that the following relation holds
<span id="eq-B.32"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{rcl}K_{u}K_{\sigma }^{-1} & = & \Re (K_{u_{0}}I_{i})\Re (K_{\sigma _{0}}^{-1}I_{i})=\Re (K_{u_{0}}K_{\sigma _{0}}^{-1}I_{i})\\ & = & \Re (K_{u_{0}}K_{\sigma _{0}}^{-1})-\Im (K_{u_{0}}K_{\sigma _{0}}^{-1})I_{S} \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.32)
|}
where <math display="inline">\Im </math> operator takes the imaginary part and <math display="inline">I_{S}</math> is further defined. With these properties at hand, the term <math display="inline">K_{u_{0}}K_{\sigma _{0}}^{-1}</math> can be written as
<span id="eq-B.33"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>K_{u_{0}}K_{\sigma _{0}}^{-1}=\left[\begin{array}{cccc}p_{1} & 0 & p_{2} & 0\\ 0 & p_{1} & 0 & p_{2}\\ q_{1} & 0 & q_{2} & 0\\ 0 & q_{1} & 0 & q_{2} \end{array}\right]\left[\begin{array}{cccc}1 & 0 & 1 & 0\\ 0 & 1 & 0 & 1\\ \mu _{1} & 0 & \mu _{2} & 0\\ 0 & \mu _{1} & 0 & \mu _{2} \end{array}\right]^{-1}=\left[\begin{array}{cccc}\lambda & 0 & -\kappa & 0\\ 0 & \lambda & 0 & -\kappa \\ \rho & 0 & -\gamma & 0\\ 0 & \rho & 0 & -\gamma \end{array}\right] </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.33)
|}
where the complex variables <math display="inline">\lambda </math>, <math display="inline">\kappa </math>, <math display="inline">\rho </math> and <math display="inline">\gamma </math> have been defined as
<span id="eq-B.34"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\lambda =\frac{p_{1}\mu _{\hbox{2}}-p_{2}\mu _{1}}{\mu _{1}-\mu _{2}}\quad \kappa =\frac{p_{1}-p_{2}}{\mu _{1}-\mu _{2}}\quad \rho =\frac{q_{1}\mu _{\hbox{2}}-q_{2}\mu _{1}}{\mu _{1}-\mu _{2}}\quad \gamma =\frac{q_{1}-q_{2}}{\mu _{1}-\mu _{2}}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.34)
|}
Finally, we provide the procedure to the get the expression of the matrix <math display="inline">A_{i}</math> in a way that is solvable computationally by a symbolic software.
<ol>
<li>Define symbolically variables <math display="inline">\mu _{\hbox{1}},</math><math display="inline">\mu _{2},</math> <math display="inline">p_{1}</math>, <math display="inline">p_{2}</math>,<math display="inline">q_{1}</math> and <math display="inline">q_{2}</math>. </li>
<li>Compute the complex variables <math display="inline">\lambda ,</math><math display="inline">\kappa </math>, <math display="inline">\rho </math> and <math display="inline">\gamma </math> from equation ([[#eq-B.34|B.34]]). </li>
<li>Obtain <math display="inline">K_{u_{0}}K_{\sigma _{0}}^{-1}</math> from expression ([[#eq-B.33|B.33]]). </li>
<li>Obtain <math display="inline">K_{u}K_{\sigma }^{-1}</math> from expression ([[#eq-B.32|B.32]]). </li>
<li>Compute <math display="inline">K_{G}^{I}</math> and <math display="inline">K_{G}^{m}</math> from its definition described in equation ([[#eq-B.29|B.29]]). </li>
<li>Find matrix <math display="inline">A_{i}</math> from its definition in equation ([[#eq-B.30|B.30]]) by solving a symbolic system of equations. </li>
</ol>
Thus, the matrix <math display="inline">A_{i}</math> will be found in terms of <math display="inline">\mu _{\hbox{1}},</math><math display="inline">\mu _{2},</math> <math display="inline">p_{1}</math>, <math display="inline">p_{2}</math>,<math display="inline">q_{1}</math> and <math display="inline">q_{2}</math>, i.e,
<span id="eq-B.35"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>A_{i}=A_{i}(\mu _{\hbox{1}},\mu _{2},p_{1},p_{2},q_{1},q_{2}). </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (B.35)
|}
Consequently, when we want to compute the topological derivative in a topology optimization problem, we first have to solve the characteristic equation ([[#eq-B.5|B.5]]) for finding <math display="inline">\mu _{\hbox{1}}</math> and <math display="inline">\mu _{2}</math>, then the relation ([[#eq-B.10|B.10]]) to obtain <math display="inline">p_{1},p_{2},q_{1}</math> and <math display="inline">q_{2}</math> and finally substitute all these values in the explicit expression ([[#eq-B.35|B.35]]). Our experience show us that, computationally speaking, obtaining matrix <math display="inline">A_{i}</math> for anisotropic materials is almost as cheap as obtaining matrix <math display="inline">A_{i}</math> for isotropic material. In addition, it is worth mentioning that its computation must be done once before running a standard topological optimization code.
==B.9 Proof of the complex number properties used for computing matrix <math>A</math>==
To obtain matrix <math display="inline">A_{i}</math>, we have assume two complex numbers properties. We first recall the definition of the matrix <math display="inline">I_{i}</math>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> I_{i}=\left[\begin{array}{cccc} 1 & i & 0 & 0\\ -i & 1 & 0 & 0\\ 0 & 0 & 1 & i\\ 0 & 0 & -i & 1 \end{array}\right] </math>
|}
|}
and then we take its real and imaginary part
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \Re (I_{i})=I_{D}=\left[\begin{array}{cccc} 1 & 0 & 0 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1 \end{array}\right]\quad \Im (I_{i})=I_{S}=\left[\begin{array}{cccc} 0 & 1 & 0 & 0\\ -1 & 0 & 0 & 0\\ 0 & 0 & 0 & 1\\ 0 & 0 & -1 & 0 \end{array}\right] </math>
|}
|}
which helps us on defining <math display="inline">I_{D}</math> and <math display="inline">I_{S}</math>. Clearly, the following relations hold
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> I_{i}I_{i}=2I_{i}\quad I_{S}I_{S}=-I_{D}. </math>
|}
|}
In addition, pre and post-multiplying <math display="inline">I_{i}</math> by a general matrix <math display="inline">C</math>, we get the same matrix, i.e.,
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> CI_{i}=I_{i}C. </math>
|}
|}
Considering <math display="inline">C</math> and <math display="inline">B</math> as a two general complex matrices, the product <math display="inline">\Re (CI_{i})\Re (BI_{i})</math> becomes
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \begin{array}{rcl} \Re (CI_{i})\Re (BI_{i}) & = & \bigl[\Re (C)\Re (B)-\Im (C)\Im (B)\bigr]-\\ & & -\bigl[\Im (C)I_{S}\Re (B)+\Re (C)I_{S}\Im (B)\bigr] \end{array} </math>
|}
|}
Similarly, the product <math display="inline">\Im (CI_{i})\Im (BI_{i})</math> can be expressed as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \begin{array}{rcl} \Im (CI_{i})\Im (BI_{i}) & = & \bigl[\Re (C)I_{S}+\Im (C)\bigr]\bigl[\Re (B)I_{S}+\Im (B)\bigr]\\ & = & \bigl[\Re (C)I_{S}I_{S}\Re (B)+\Im (C)\Im (B)\bigr]+\\ & & +\bigl[\Im (C)I_{S}\Re (B)+\Re (C)I_{S}\Im (B)\bigr]\\ & = & -\Re (CI_{i})\Re (BI_{i}). \end{array} </math>
|}
|}
In addition, the real part of the product <math display="inline">CBI_{i}</math> fulfills the following relation
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \begin{array}{rcl} 2\Re (CBI_{i}) & = & 2\Re (CI_{i}B)=\Re (CI_{i}I_{i}B)\\ & = & \Re (CI_{i})\Re (I_{i}B)-\Im (CI_{i})\Im (BI_{i})\\ & = & 2\Re (CI_{i})\Re (I_{i}B). \end{array} </math>
|}
|}
Thus, dividing by two the above expression, we obtain
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \Re (CBI_{i})=\Re (CI_{i})\Re (I_{i}B) </math>
|}
|}
which is the complex property that we have used in equation ([[#eq-B.32|B.32]]). The complex property used in equation ([[#eq-B.31|B.31]]) is obtained by defining <math display="inline">B=C</math> in the above expression, that is
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \Re (CI_{i})\Re (I_{i}C^{-1})=\Re (CC^{-1}I_{i})=I_{D} </math>
|}
|}
and consequently
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \Re (I_{i}C^{-1})=\left(\Re (CI_{i})\right)^{-1}. </math>
|}
|}
===BIBLIOGRAPHY===
<div id="cite-1"></div>
'''[[#citeF-1|[1]]]''' M. P. Bendse and O. Sigmund. (2003) "Topology optimization. Theory, methods and applications". Springer-Verlag
<div id="cite-2"></div>
'''[[#citeF-2|[2]]]''' Hernández Ortega, Joaquín Alberto and Oliver Olivella, Xavier and Huespe, Alfredo Edmundo and Caicedo, Manuel Alejandro. (2012) "High-performance model reduction procedures in multiscale simulations". Centre Internacional de Metodes Numerics en Enginyeria (CIMNE)
<div id="cite-3"></div>
'''[[#citeF-3|[3]]]''' Allaire, Grégoire. (2012) "Shape optimization by the homogenization method", Volume 146. Springer Science & Business Media
<div id="cite-4"></div>
'''[[#citeF-4|[4]]]''' De Souza Neto, Eduardo A and Feijóo, Raúl A. (2010) "Variational Foundations of Large Strain Multiscale Solid Constitutive Models: Kinematical Formulation". Advanced Computational Materials Modeling: From Classical to Multi-Scale Techniques-Scale Techniques 341–378
<div id="cite-5"></div>
'''[[#citeF-5|[5]]]''' Oller, Sergio. (2014) "Numerical simulation of mechanical behavior of composite materials". Springer
<div id="cite-6"></div>
'''[[#citeF-6|[6]]]''' Kouznetsova, Varvara Gennadyevna. (2002) "Computational homogenization for the multi-scale analysis of multi-phase materials"
<div id="cite-7"></div>
'''[[#citeF-7|[7]]]''' de Souza Neto, EA and Blanco, PJ and Sánchez, PJ and Feijóo, RA. (2015) "An RVE-based multiscale theory of solids with micro-scale inertia and body force effects", Volume 80. Elsevier. Mechanics of Materials 136–144
<div id="cite-8"></div>
'''[[#citeF-8|[8]]]''' Ibrahimbegovc, Adnan and Brank, Bostjan. (2005) "Engineering structures under extreme conditions: multi-physics and multi-scale computer models in non-linear analysis and optimal design", Volume 194. IOS Press
<div id="cite-9"></div>
'''[[#citeF-9|[9]]]''' Krog, Lars and Tucker, Alastair and Rollema, Gerrit. (2002) "Application of topology, sizing and shape optimization methods to optimal design of aircraft components". Proc. 3rd Altair UK HyperWorks Users Conferece 1–12
<div id="cite-10"></div>
'''[[#citeF-10|[10]]]''' Dassault Systemes. (2011) "Topology and Shape Optimization with Abaqus"
<div id="cite-11"></div>
'''[[#citeF-11|[11]]]''' Altair Engineering "Altair HyperWorks OptiStruct"
<div id="cite-12"></div>
'''[[#citeF-12|[12]]]''' M. P. Bendse and N. Kikuchi. (1988) "Generating optimal topologies in structural design using an homogenization method", Volume 71. Computer Methods in Applied Mechanics and Engineering 2 197–224
<div id="cite-13"></div>
'''[[#citeF-13|[13]]]''' Rozvany, George IN. (2009) "A critical review of established methods of structural topology optimization", Volume 37. Springer. Structural and Multidisciplinary Optimization 3 217–237
<div id="cite-14"></div>
'''[[#citeF-14|[14]]]''' Neves, MM and Rodrigues, H and Guedes, J Miranda. (2000) "Optimal design of periodic linear elastic microstructures", Volume 76. Elsevier. Computers & Structures 1 421–429
<div id="cite-15"></div>
'''[[#citeF-15|[15]]]''' Rodrigues, H and Guedes, Jose M and Bendsoe, MP. (2002) "Hierarchical optimization of material and structure", Volume 24. Springer. Structural and Multidisciplinary Optimization 1 1–10
<div id="cite-16"></div>
'''[[#citeF-16|[16]]]''' Coelho, PG and Guedes, JM and Rodrigues, HC. (2015) "Multiscale topology optimization of bi-material laminated composite structures", Volume 132. Elsevier. Composite Structures 495–505
<div id="cite-17"></div>
'''[[#citeF-17|[17]]]''' J. Sokoowski and J. P. Zolésio. (1992) "Introduction to shape optimization - shape sensitivity analysis". Springer-Verlag
<div id="cite-18"></div>
'''[[#citeF-18|[18]]]''' G. Allaire and F. Jouve and A. M. Toader. (2004) "Structural optimization using sensitivity analysis and a level-set method", Volume 194. Journal of Computational Physics 1 363–393
<div id="cite-19"></div>
'''[[#citeF-19|[19]]]''' Huang, X and Xie, YM. (2008) "A new look at ESO and BESO optimization methods", Volume 35. Springer. Structural and Multidisciplinary Optimization 1 89–92
<div id="cite-20"></div>
'''[[#citeF-20|[20]]]''' Sokolowski, J. and Zochowski, A. (1999) "The topological derivative method in shape optimization", Volume 37. SIAM Journal on Control and Optimization 4 1251–1272
<div id="cite-21"></div>
'''[[#citeF-21|[21]]]''' Novotny, A. and Sokolowski, J. (2013) "Topological Derivatives in Shape Optimization". Springer Berlin Heidelberg
<div id="cite-22"></div>
'''[[#citeF-22|[22]]]''' A. A. Novotny and R. A. Feijóo and C. Padra and E. Taroco. (2003) "Topological sensitivity analysis", Volume 192. Computer Methods in Applied Mechanics and Engineering 7–8 803–829
<div id="cite-23"></div>
'''[[#citeF-23|[23]]]''' S. Amstutz. (2006) "Sensitivity analysis with respect to a local perturbation of the material property", Volume 49. Asymptotic Analysis 1-2 87–108
<div id="cite-24"></div>
'''[[#citeF-24|[24]]]''' S. Amstutz and H. Andrä. (2006) "A new algorithm for topology optimization using a level-set method", Volume 216. Journal of Computational Physics 2 573–588
<div id="cite-25"></div>
'''[[#citeF-25|[25]]]''' Allaire, Grégoire and Jouve, Francois and Toader, Anca-Maria. (2004) "Structural optimization using sensitivity analysis and a level-set method", Volume 194. Journal of Computational Physics 1 363–393
<div id="cite-26"></div>
'''[[#citeF-26|[26]]]''' Amstutz, S. and Novotny, A. A. and De Souza Neto, E. A. (2012) "Topological derivative-based topology optimization of structures subject to Drucker-Prager stress constraints", Volume 233-236. Elsevier B.V. Computer Methods in Applied Mechanics and Engineering 123–136
<div id="cite-27"></div>
'''[[#citeF-27|[27]]]''' Amstutz, S. and Giusti, S. M. and Novotny, A. A. and De Souza Neto, E. A. (2010) "Topological derivative for multi-scale linear elasticity models applied to the synthesis of microstructures", Volume 84. International Journal for Numerical Methods in Engineering 6 733–756
<div id="cite-28"></div>
'''[[#citeF-28|[28]]]''' Amstutz, Samuel. (2013) "Regularized perimeter for topology optimization", Volume 51. SIAM. SIAM Journal on Control and Optimization 3 2176–2199
<div id="cite-29"></div>
'''[[#citeF-29|[29]]]''' G. Allaire. (2007) "Conception optimale de structures", Volume 58. Springer-Verlag
<div id="cite-30"></div>
'''[[#citeF-30|[30]]]''' Murat, Francois. (1977) "Contre-exemples pour divers problemes ou le controle intervient dans les coefficients", Volume 112. Springer. Annali di Matematica Pura ed Applicata 1 49–68
<div id="cite-31"></div>
'''[[#citeF-31|[31]]]''' Ambrosio, Luigi and Buttazzo, Giuseppe. (1993) "An optimal design problem with perimeter penalization", Volume 1. Springer. Calculus of Variations and Partial Differential Equations 1 55–69
<div id="cite-32"></div>
'''[[#citeF-32|[32]]]''' Bourdin, Blaise. (2001) "Filters in topology optimization", Volume 50. Wiley Online Library. International Journal for Numerical Methods in Engineering 9 2143–2158
<div id="cite-33"></div>
'''[[#citeF-33|[33]]]''' Petersson, Joakim. (1999) "A finite element analysis of optimal variable thickness sheets", Volume 36. SIAM. SIAM journal on numerical analysis 6 1759–1778
<div id="cite-34"></div>
'''[[#citeF-34|[34]]]''' Bendsoe, Martin Philip and Kikuchi, Noboru. (1988) "Generating optimal topologies in structural design using a homogenization method", Volume 71. Computer Methods in Applied Mechanics and Engineering 2 197–224
<div id="cite-35"></div>
'''[[#citeF-35|[35]]]''' F. Murat and J. Simon. (1976) "Sur le controle par un domaine géométrique". Université Pierre et Marie Curie
<div id="cite-36"></div>
'''[[#citeF-36|[36]]]''' J. Céa. (1981) "Problems of shape optimal design", Volume II. Optimization of Distributed Parameters Structures 1005–1048
<div id="cite-37"></div>
'''[[#citeF-37|[37]]]''' Allaire, Grégoire and Jouve, Francois. (2006) "Coupling the level set method and the topological gradient in structural optimization". Springer. IUTAM symposium on topological design optimization of structures, machines and materials 3–12
<div id="cite-38"></div>
'''[[#citeF-38|[38]]]''' Masmoudi, Mohamed. (1998) "A synthetic presentation of shape and topological optimization". Conference on Inverse Problems, Control and Shape Optimization 30
<div id="cite-39"></div>
'''[[#citeF-39|[39]]]''' H. A. Eschenauer and V. V. Kobelev and A. Schumacher. (1994) "Bubble method for topology and shape optmization of structures", Volume 8. Structural Optimization 1 42–51
<div id="cite-40"></div>
'''[[#citeF-40|[40]]]''' A. Schumacher. (1995) "Topologieoptimierung von bauteilstrukturen unter verwendung von lochpositionierungkriterien". Universität-Gesamthochschule-Siegen
<div id="cite-41"></div>
'''[[#citeF-41|[41]]]''' Cea, Jean and Gioan, A and Michel, J. (1974) "Adaptation de la méthode du gradient a un probleme d'identification de domaine". Computing Methods in Applied Sciences and Engineering Part 2. Springer 391–402
<div id="cite-42"></div>
'''[[#citeF-42|[42]]]''' Novotny, A. A. and Feijóo, R. A. and Taroco, E. and Padra, C. (2003) "Topological sensitivity analysis", Volume 192. Computer Methods in Applied Mechanics and Engineering 7-8 803–829
<div id="cite-43"></div>
'''[[#citeF-43|[43]]]''' Gurtin, Morton E. (2000) "Configurational Forces as Basic Concepts of Continuum Physics". Configurational Forces
<div id="cite-44"></div>
'''[[#citeF-44|[44]]]''' Nazarov, Serguei a. and Sokolowski, Jan. (2003) "Asymptotic analysis of shape functionals", Volume 82. Journal de Mathématiques Pures et Appliquées 125–196
<div id="cite-45"></div>
'''[[#citeF-45|[45]]]''' R. W. Little. (1973) "Elasticity". Prentice-Hall
<div id="cite-46"></div>
'''[[#citeF-46|[46]]]''' N.I. Muskhelishvili. (1952) "Some Basic Problems on the Mathematical Theory of Elasticity". Noordhoff
<div id="cite-47"></div>
'''[[#citeF-47|[47]]]''' S. G. Lekhnitskii and S. W. Tsai and T. Cheron. (1968) "Anisotropic Plates". Gordon and Breach Science Publishers
<div id="cite-48"></div>
'''[[#citeF-48|[48]]]''' M. H. Saad. (2005) "Elasticity: Theory, Applications, and Numerics", Volume . Academic Press.
<div id="cite-49"></div>
'''[[#citeF-49|[49]]]''' Amstutz, Samuel and Andrä, Heiko. (2006) "A new algorithm for topology optimization using a level-set method", Volume 216. Journal of Computational Physics 2 573–588
<div id="cite-50"></div>
'''[[#citeF-50|[50]]]''' Burger, Martin and Hackl, Benjamin and Ring, Wolfgang. (2004) "Incorporating topological derivatives into level set methods", Volume 194. Journal of Computational Physics 1 344–362
<div id="cite-51"></div>
'''[[#citeF-51|[51]]]''' Giusti, S. M. and Novotny, A. A. and Padra, C. (2008) "Topological sensitivity analysis of inclusion in two-dimensional linear elasticity", Volume 32. Engineering Analysis with Boundary Elements 11 926–935
<div id="cite-52"></div>
'''[[#citeF-52|[52]]]''' Giusti, S. M. and Novotny, A. A. and Sokolowski, J. (2010) "Topological derivative for steady-state orthotropic heat diffusion problem", Volume 40. Structural and Multidisciplinary Optimization 1-6 53–64
<div id="cite-53"></div>
'''[[#citeF-53|[53]]]''' Novotny, A. A. and Feijóo, R. A. and Taroco, E. and Padra, C. (2007) "Topological sensitivity analysis for three-dimensional linear elasticity problem", Volume 196. Computer Methods in Applied Mechanics and Engineering 41-44 4354–4364
<div id="cite-54"></div>
'''[[#citeF-54|[54]]]''' Feijoo, Gonzalo R. (2004) "A new method in inverse scattering based on the topological derivative", Volume 20. Inverse Problems 6 1819–1840
<div id="cite-55"></div>
'''[[#citeF-55|[55]]]''' Canelas, Alfredo and Novotny, Antonio A. and Roche, Jean R. (2011) "A new method for inverse electromagnetic casting problems based on the topological derivative", Volume 230. Elsevier Inc. Journal of Computational Physics 9 3570–3588
<div id="cite-56"></div>
'''[[#citeF-56|[56]]]''' Canelas, Alfredo and Laurain, Antoine and Novotny, Antonio A. (2014) "A new reconstruction method for the inverse potential problem", Volume 268. Elsevier Inc. Journal of Computational Physics 417–431
<div id="cite-57"></div>
'''[[#citeF-57|[57]]]''' Masmoudi, Mohamed and Pommier, Julien and Samet, Bessem. (2005) "The topological asymptotic expansion for the Maxwell equations and some applications", Volume 21. Inverse Problems 2 547–564
<div id="cite-58"></div>
'''[[#citeF-58|[58]]]''' Auroux, Didier and Masmoudi, Mohamed and Belaid, Lamia. (2007) "Image Restoration and Classification By Topo-". Image Processing
<div id="cite-59"></div>
'''[[#citeF-59|[59]]]''' Jaafar Belaid, L. and Jaoua, M. and Masmoudi, M. and Siala, L. (2008) "Application of the topological gradient to image restoration and edge detection", Volume 32. Engineering Analysis with Boundary Elements 11 891–899
<div id="cite-60"></div>
'''[[#citeF-60|[60]]]''' Hintermüller, M. and Laurain, A. (2009) "Multiphase image segmentation and modulation recovery based on shape and topological sensitivity", Volume 35. Journal of Mathematical Imaging and Vision 1 1–22
<div id="cite-61"></div>
'''[[#citeF-61|[61]]]''' Hintermüller, Michael. (2005) "Fast level set based algorithms using shape and topological sensitivity information", Volume 39. Control and Cybernetics 3 593–597
<div id="cite-62"></div>
'''[[#citeF-62|[62]]]''' Larrabide, I. and Feijóo, R. A. and Novotny, A. A. and Taroco, E. A. (2008) "Topological derivative: A tool for image processing", Volume 86. Computers and Structures 13-14 1386–1403
<div id="cite-63"></div>
'''[[#citeF-63|[63]]]''' S. Amstutz and I. Horchani and M. Masmoudi. (2005) "Crack detection by the topological gradient method", Volume 34. Control and Cybernetics 1 81–101
<div id="cite-64"></div>
'''[[#citeF-64|[64]]]''' Ammari, Habib and Kang, Hyeonbae and Lee, Hyundae and Lim, Jisun. (2013) "Boundary perturbations due to the presence of small linear cracks in an elastic body", Volume 113. Journal of Elasticity 1 75–91
<div id="cite-65"></div>
'''[[#citeF-65|[65]]]''' Van Goethem, N. and Novotny, A. A. (2010) "Crack nucleation sensitivity analysis", Volume 33. Mathematical Methods in the Applied Sciences 16 1978–1994
<div id="cite-66"></div>
'''[[#citeF-66|[66]]]''' A. A. Novotny and J. Sokoowski. (2013) "Topological derivatives in shape optimization". Springer-Verlag, Berlin, Heidelberg 324
<div id="cite-67"></div>
'''[[#citeF-67|[67]]]''' Amstutz, Samuel. (2011) "Connections between topological sensitivity analysis and material interpolation schemes in topology optimization", Volume 43. Springer. Structural and Multidisciplinary Optimization 6 755–765
<div id="cite-68"></div>
'''[[#citeF-68|[68]]]''' S.M. Giusti and A. Ferrer and J. Oliver. (2016) "Topological sensitivity analysis in heterogeneous anisotropic elasticity problem. Theoretical and computational aspects", Volume . Computer Methods in Applied Mechanics and Engineering -
<div id="cite-69"></div>
'''[[#citeF-69|[69]]]''' Shoemake, Ken. (1985) "Animating rotation with quaternion curves", Volume 19. ACM. ACM SIGGRAPH computer graphics 3 245–254
<div id="cite-70"></div>
'''[[#citeF-70|[70]]]''' S. Amstutz. (2011) "Analysis of a level set method for topology optimization", Volume 26. Optimization Methods and Software 4-5 555–573
<div id="cite-71"></div>
'''[[#citeF-71|[71]]]''' Nocedal, Jorge and Wright, Stephen. (2006) "Numerical optimization". Springer Science & Business Media
<div id="cite-72"></div>
'''[[#citeF-72|[72]]]''' Gomes Lopes, C and Batista dos Santos, R and Novotny, A A. (2015) "Topological Derivative-based Topology Optimization of Structures Subject to Multiple Load-cases". Latin American Journal of Solids and Structures 12 834–860
<div id="cite-73"></div>
'''[[#citeF-73|[73]]]''' D. E. Campeo and S. M. Giusti and A. A. Novotny. (2014) "Topology Design of Plates Consedering Different Volume Control methods", Volume 31. Engineering Computations 5 826–842
<div id="cite-74"></div>
'''[[#citeF-74|[74]]]''' Esteves Campeo, Diego and Miguel Giusti, Sebastian and Antonio Novotny, Andre. (2014) "Topology design of plates considering different volume control methods", Volume 31. Engineering Computations 5 826–842
<div id="cite-75"></div>
'''[[#citeF-75|[75]]]''' Giusti, S. M. and Mello, L. A. M. and Silva, E. C. N. (2014) "Piezoresistive device optimization using topological derivative concepts", Volume 50. Structural and Multidisciplinary Optimization 3 453–464
<div id="cite-76"></div>
'''[[#citeF-76|[76]]]''' Uzawa, Hirofumi. (1958) "Iterative methods for concave programming", Volume 6. Stanford University Press, Stanford, CA. Studies in linear and nonlinear programming
<div id="cite-77"></div>
'''[[#citeF-77|[77]]]''' Allaire, Grégoire and Dapogny, Charles and Delgado, Gabriel and Michailidis, Georgios. (2014) "Multi-phase structural optimization via a level set method", Volume 20. EDP Sciences. ESAIM: Control, Optimisation and Calculus of Variations 2 576–611
<div id="cite-78"></div>
'''[[#citeF-78|[78]]]''' Amstutz, S. and Giusti, S. M. and Novotny, A. A. and De Souza Neto, E. A. (2010) "Topological derivative for multi-scale linear elasticity models applied to the synthesis of microstructures", Volume 84. International Journal for Numerical Methods in Engineering 6 733–756
<div id="cite-79"></div>
'''[[#citeF-79|[79]]]''' Belytschko, Ted and Liu, Wing Kam and Moran, Brian and Elkhodary, Khalil. (2013) "Nonlinear finite elements for continua and structures". John wiley & sons
<div id="cite-80"></div>
'''[[#citeF-80|[80]]]''' Ern, Alexandre and Guermond, Jean-Luc. (2013) "Theory and practice of finite elements", Volume 159. Springer Science & Business Media
<div id="cite-81"></div>
'''[[#citeF-81|[81]]]''' J. Sokoowski and A. Zochowski. (1999) "On the topological derivative in shape optimization", Volume 37. SIAM Journal on Control and Optimization 4 1251–1272
<div id="cite-82"></div>
'''[[#citeF-82|[82]]]''' R. C. R. Amigo and S.M. Giusti and A. A. Novotny and E. C. N. Silva and J. Sokolowski. (2016) "Optimum Design of Flextensional Piezoelectric Actuators into Two Spatial Dimensions", Volume 52. SIAM Journal on Control and Optimization 2 760-789
<div id="cite-83"></div>
'''[[#citeF-83|[83]]]''' A. J. Torii and A. A. Novotny and R. B. Santos. (2016) "Robust compliance topology optimization based on the topological derivative concept", Volume . International Journal for Numerical Methods in Engineering (to appear)
<div id="cite-84"></div>
'''[[#citeF-84|[84]]]''' H. Isaraki and K. Kuriyama and S. Harada and T. Yamada and T. Takahashi and T. Matsumoto. (2014) "A topology optimisation for three-dimensional acoustics with the level set method and the fast multipole boundary element method", Volume 1. Mechanical Engineering Journal 4 1–13
<div id="cite-85"></div>
'''[[#citeF-85|[85]]]''' S. Amstutz and A. A. Novotny and E. A. de Souza Neto. (2012) "Topological derivative-based topology optimization of structures subject to Drucker-Prager stress constraints", Volume 233–236. Computer Methods in Applied Mechanics and Engineering 123–136
<div id="cite-86"></div>
'''[[#citeF-86|[86]]]''' J. Rocha de Faria and D. Lesnic. (2015) "Topological Derivative for the Inverse Conductivity Problem: A Bayesian Approach", Volume 63. Journal of Scientific Computing 1 256–278
<div id="cite-87"></div>
'''[[#citeF-87|[87]]]''' S. M. Giusti and A. A. Novotny and E. A. de Souza Neto and R. A. Feijóo. (2009) "Sensitivity of the macroscopic elasticity tensor to topological microstructural changes", Volume 57. Journal of the Mechanics and Physics of Solids 3 555–570
<div id="cite-88"></div>
'''[[#citeF-88|[88]]]''' N. Van Goethem and A. A. Novotny. (2010) "Crack Nucleation Sensitivity Analysis", Volume 33. Mathematical Methods in the Applied Sciences 16 197–1994
<div id="cite-89"></div>
'''[[#citeF-89|[89]]]''' G. Allaire and F. de Gournay and F. Jouve and A. M. Toader. (2005) "Structural optimization using topological and shape sensitivity via a level set method", Volume 34. Control and Cybernetics 1 59–80
<div id="cite-90"></div>
'''[[#citeF-90|[90]]]''' G. Cardone and S.A. Nazarov and J. Sokoowski. (2010) "Asymptotic analysis, polarization matrices, and topological derivatives for piezoelectric materials with small voids.", Volume 48. SIAM Journal on Control and Optimization 6 3925–3961
<div id="cite-91"></div>
'''[[#citeF-91|[91]]]''' J. Sokoowski and A. Zochowski. (2003) "Optimality conditions for simultaneous topology and shape optimization", Volume 42. SIAM Journal on Control and Optimization 4 1198–1221
<div id="cite-92"></div>
'''[[#citeF-92|[92]]]''' G. Pólya and G. Szegö. (1951) "Izoperimetric inequalities in mathematical physics". Princeton University Press
<div id="cite-93"></div>
'''[[#citeF-93|[93]]]''' H. Ammari and H. Kang. (2007) "Polarization and moment tensors with applications to inverse problems and effective medium theory". Springer-Verlag
<div id="cite-94"></div>
'''[[#citeF-94|[94]]]''' S. M. Giusti and A. A. Novotny. (2012) "Topological derivative for an anisotropic and heterogeneous heat diffusion problem", Volume 46. Mechanical Research Communication 26–33
<div id="cite-95"></div>
'''[[#citeF-95|[95]]]''' S. M. Giusti and L. M. A. Mello and E. C. N. Silva. (2014) "Piezoresistive device optimization using topological derivative concepts", Volume 50. Structural and Multidisciplinary Optimization 453–464
<div id="cite-96"></div>
'''[[#citeF-96|[96]]]''' S. M. Giusti and A. A. Novotny and J. Sokoowski. (2010) "Topological derivative for steady-state orthotropic heat diffusion problem", Volume 40. Structural and Multidisciplinary Optimization 1 53–64
<div id="cite-97"></div>
'''[[#citeF-97|[97]]]''' E. Beretta and E. Bonnetier and E. Francini and A. L. Mazzucato. (2012) "Small volume asymptotics for anisotropic elastic inclusions", Volume 6. Inverse Problems and Imaging 1 1–23
<div id="cite-98"></div>
'''[[#citeF-98|[98]]]''' S. A. Nazarov and J. Sokoowski and M. Specovius-Neugebauer. (2010) "Polarization matrices in anisotropic heterogeneous elasticity", Volume 68. Asymptotic Analysis 4 189–221
<div id="cite-99"></div>
'''[[#citeF-99|[99]]]''' M. Bonnet and G. Delgado. (2013) "The topological derivative in anisotropic elasticity", Volume 66. The Quarterly Journal of Mechanics and Applied Mathematics 4 557–586
<div id="cite-100"></div>
'''[[#citeF-100|[100]]]''' V. A. Kozlov and V. G. Maz'ya and A. B. Movchan. (1999) "Asymptotic analysis of fields in multi-structures". Clarendon Press
<div id="cite-101"></div>
'''[[#citeF-101|[101]]]''' S. Amstutz. (2003) "Aspects théoriques et numériques en optimisation de forme topologique". Institut National des Sciences Appliquées
<div id="cite-102"></div>
'''[[#citeF-102|[102]]]''' Delgado, Gabriel. (2014) "Optimization of composite structures: A shape and topology sensitivity analysis". Ecole Polytechnique X
<div id="cite-103"></div>
'''[[#citeF-103|[103]]]''' S. M. Giusti. (2009) "Análise de sensibilidade topológica em modelos constitutivos multi-escala". Laboratório Nacional de Computaco Científica
<div id="cite-104"></div>
'''[[#citeF-104|[104]]]''' Xia, Liang and Breitkopf, Piotr. (2014) "Concurrent topology optimization design of material and structure within FE2 nonlinear multiscale analysis framework", Volume 278. Elsevier B.V. Computer Methods in Applied Mechanics and Engineering 524–542
<div id="cite-105"></div>
'''[[#citeF-105|[105]]]''' Chinesta, F and Leygue, A and Bordeu, F and Aguado, J V and Cueto, E and Gonzalez, D and Alfaro, I and Ammar, A and Huerta, A. (2013) "PGD-Based Computational Vademecum for Efficient Design, Optimization and Control", Volume 20. Archives of Computational Methods in Engineering 1 31–59
<div id="cite-106"></div>
'''[[#citeF-106|[106]]]''' G. Allaire. (2002) "Shape optimization by the homogenization method", Volume 146. Springer-Verlag
<div id="cite-107"></div>
'''[[#citeF-107|[107]]]''' Abbott, Ira Herbert and Von Doenhoff, Albert Edward. (1959) "Theory of wing sections, including a summary of airfoil data". Courier Corporation
<div id="cite-108"></div>
'''[[#citeF-108|[108]]]''' Sigmund, Ole. (2000) "A new class of extremal composites", Volume 48. Elsevier. Journal of the Mechanics and Physics of Solids 2 397–428
<div id="cite-109"></div>
'''[[#citeF-109|[109]]]''' Eshelby, J. D. (1957) "The Determination of the Elastic Field of an Ellipsoidal Inclusion, and Related Problems", Volume 241. Proceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences 1226 376–396
<div id="cite-110"></div>
'''[[#citeF-110|[110]]]''' Eshelby, J D. (1959) "The Elastic Field Outside an Ellipsoidal Inclusion", Volume 252. Proceedings of the Royal Society of London A: Mathematical, Physical and Engineering Sciences 1271 561–569
<div id="cite-111"></div>
'''[[#citeF-111|[111]]]''' Eshelby, JD and Nabarro, FRN. (1979) "Dislocations in solids". North-Holland Amsterdam
<div id="cite-112"></div>
'''[[#citeF-112|[112]]]''' Nazarov, SA. (2009) "Elasticity polarization tensor, surface enthalpy, and Eshelby theorem", Volume 159. Springer. Journal of Mathematical Sciences 2 133–167
<div id="cite-113"></div>
'''[[#citeF-113|[113]]]''' Nazarov, Sergei Aleksandrovich. (2009) "The Eshelby theorem and the problem on optimal patch", Volume 21. Russian Academy of Sciences, Branch of Mathematical Sciences. Algebra i analiz 5 155–195
<div id="cite-114"></div>
'''[[#citeF-114|[114]]]''' Sokolnikoff, Ivan Stephen and Specht, Robert Dickerson and others. (1956) "Mathematical theory of elasticity", Volume 83. McGraw-Hill New York
Return to Ferrer et al 2017a.
Published on 01/01/2017
Licence: CC BY-NC-SA license
Are you one of the authors of this document?