Skip to main content
Log in

A 2D topology optimisation algorithm in NURBS framework with geometric constraints

  • Published:
International Journal of Mechanics and Materials in Design Aims and scope Submit manuscript

Abstract

In this paper, the solid isotropic material with penalisation (SIMP) method for topology optimisation of 2D problems is reformulated in the non-uniform rational BSpline (NURBS) framework. This choice implies several advantages, such as the definition of an implicit filter zone and the possibility for the designer to get a geometric entity at the end of the optimisation process. Therefore, important facilities are provided in CAD postprocessing phases in order to retrieve a consistent and well connected final topology. The effect of the main NURBS parameters (degrees, control points, weights and knot-vector components) on the final optimum topology is investigated. Classic geometric constraints, as the minimum and maximum member size, have been integrated and reformulated according to the NURBS formalism. Furthermore, a new constraint on the local curvature radius has been developed thanks to the NURBS formalism and properties. The effectiveness and the robustness of the proposed method are tested and proven through some benchmarks taken from literature and the results are compared with those provided by the classical SIMP approach.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22

Similar content being viewed by others

References

  • Allaire, G., Jouve, F., Toader, A.M.: Structural optimization using sensitivity analysis and a level-set method. J. Comput. Phys. 194, 363–393 (2004)

    Article  MathSciNet  Google Scholar 

  • Allaire, G., Jouve, F., Michailidis, G.: Thickness control in structural optimization via a level set method. Struct. Multidiscip. Optim. 53(6), 1349–1382 (2016)

    Article  MathSciNet  Google Scholar 

  • Altair Engineering: OptiStruct 13.0 Reference Guide (2014)

  • Ansys Inc.: ANSYS 16.0 Structural Analysis Guide (2015)

  • Auricchio, F., da Veiga, L.B., Hughes, T.J.R., Reali, A., Sangalli, G.: Isogeometric collocation methods. Math. Models Methods Appl. Sci. 20(11), 2075–2107 (2010)

    Article  MathSciNet  Google Scholar 

  • Bendsoe, M., Kikuchi, N.: Generating optimal topologies in structural design using a homogenization method. Comput. Methods Appl. Mech. Eng. 71, 197–224 (1988)

    Article  MathSciNet  Google Scholar 

  • Bendsoe, M., Sigmund, O.: Topology Optimization: Theory, Methods and Applications. Springer, Berlin (2003)

    MATH  Google Scholar 

  • Costa, G., Montemurro, M., Pailhès, J.: A nurbs-based topology optimisation method including additive manufacturing constraints. In: 7th International Conference on Mechanics and Materials in Design (2017)

  • de Ruiter, M.J., van Keulen, F.: Topology optimization using a topology description function. Struct. Multidiscip. Optim. 26, 406–416 (2004)

    Article  Google Scholar 

  • FE-DESIGN GmbH: SIMUILIA Tosca Structure Documentation 8.0 (2013)

  • Goldman, R.: Curvature formulas for implicit curves and surfaces. Comput. Aided Geom. Des. 22, 632–658 (2005)

    Article  MathSciNet  Google Scholar 

  • Guest, J.K.: Imposing maximum length scale in topology optimization. Struct. Multidiscip. Opim. 37, 463–473 (2009)

    Article  MathSciNet  Google Scholar 

  • Guest, J.K., Prvost, J.H., Belytschko, T.: Achieving minimum length scale in topology optimization using nodal design variables and projection functions. Numer. Methods Eng. 61, 238–254 (2004)

    Article  MathSciNet  Google Scholar 

  • Guo, X., Zhang, W., Zhong, W.: Explicit feature control in structural topology optimization via level set method. Comput. Methods Appl. Mech. Eng. 272, 354–378 (2014)

    Article  MathSciNet  Google Scholar 

  • Kreisselmeier, G., Steinhauser, R.: Systematic control design by optimizing a vector performance index. IFAC Proc. Vol. 12(7), 113–117 (1979)

    Article  Google Scholar 

  • Luo, Z., Tong, L., Wang, M.Y., Wang, S.: Shape and topology optimization of compliant mechanisms using a parameterization level set method. J. Comput. Phys. 227, 680–705 (2007)

    Article  MathSciNet  Google Scholar 

  • Luo, Z., Tong, L., Kang, Z.: A level set method for structural shape and topology optimization using radial basis functions. Comput. Struct. 87, 425–434 (2009)

    Article  Google Scholar 

  • MathWorks Inc.: Optimization Toolbox Users Guide. The MathWorks Inc, 3 Apple Hill Drive, Natick (2011)

  • Mercelis, P., Kruth, J.P.: Residual stresses in selective laser sintering and selective laser melting. Rapid Prototyp. J. 12, 254–265 (2006)

    Article  Google Scholar 

  • Nocedal, J., Wright, S.J.: Numerical Optimization, 2nd edn. Springer, Berlin (2006)

    MATH  Google Scholar 

  • Piegl, L., Tiller, W.: The NURBS book. Springer-Verlag, Berlin, Heidelberg, New York (1997)

    Book  Google Scholar 

  • Poulsen, T.: A new scheme for imposing a minimum length scale in topology optimization. Int. J. Numer. Methods Eng. 57, 741–760 (2003)

    Article  MathSciNet  Google Scholar 

  • Qian, X.: Topology optimization in b-spline space. Comput. Methods Appl. Mech. Eng. 265, 15–35 (2013)

    Article  MathSciNet  Google Scholar 

  • Sethian, J.A.: Level Set Methods and Fast Marching Methods: Evolving Interfaces in Computational Geometry, Fluid Mechanics, Computer Vision, and Materials Science. Cambridge University Press, Cambridge (1999)

    MATH  Google Scholar 

  • Sigmund, O.: A 99 line topology optimization code written in Matlab. Struct. Multidiscip. Opim. 21, 120–127 (2001)

    Article  Google Scholar 

  • Sigmund, O.: Manufacturing tolerant topology optimization. Acta. Mech. Sin. 25, 227–239 (2009)

    Article  Google Scholar 

  • Svanberg, K.: The method of moving asymptotes: a new method for structural optimization. Int. J. Numer. Methods Eng. 24, 359–373 (1987)

    Article  MathSciNet  Google Scholar 

  • van Dijk, N.P., Maute, K., Langelaar, M., van Keulen, F.: Level-set methods for structural topology optimization: a review. Struct. Multidiscip. Optim. 48, 437–472 (2013)

    Article  MathSciNet  Google Scholar 

  • Wang, F., Lazarov, B.S., Sigmund, O.: On projection methods, convergence and robust formulations in topology optimization. Struct. Multidiscip. Opim. 43(6), 767–784 (2011)

    Article  Google Scholar 

  • Wang, S.Y., Wang, M.Y.: Radial basis functions and level set method for structural topology optimization. Int. J. Numer. Method Eng. 65(12), 2060–2090 (2006)

    Article  MathSciNet  Google Scholar 

  • Wang, Y., Benson, D.J.: Geometrically constrained isogeometric parametrized level-set based topology optimization via trimmed elements. Front. Mech. Eng. 11(4), 328–343 (2016)

    Article  Google Scholar 

  • Yamada, T., Izui, K., Nishiwaki, S., Takezawa, A.: A topology optimization method based on the level set method incorporating a fictitious interface energy. Comput. Methods Appl. Mech. Eng. 199, 28762891 (2010)

    Article  MathSciNet  Google Scholar 

  • Zhou, M., Lazarov, B.S., Wang, F., Sigmund, O.: Minimum length scale in topology optimization by geometric constraints. Comput. Methods Appl. Mech. Eng. 293, 266–282 (2015)

    Article  MathSciNet  Google Scholar 

Download references

Acknowledgements

The first author is grateful to the Nouvelle-Aquitaine region for its contribution to this paper through the FUTURPROD project.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Marco Montemurro.

Appendices

Appendix 1: Sensitivity analysis of compliance and volume fraction

Let G be a generic scalar quantity whose gradient with respect to the mesh elements is known (i.e. \(\frac{\partial G}{\partial \rho _e}\)). Now, the derivatives \(\frac{\partial G}{\partial \overline{\rho _{s,t}}}\) and \(\frac{\partial G}{\partial w_{s,t}}\) need to be computed, where \(\overline{\rho _{s,t}}\) is the generic control point of the NURBS scalar function and \(w_{s,t}\) the respective weight. Let \(I_{s,t}\) be the local support of the blending function associated to the control point \(\overline{\rho _{s,t}}\): it is evident that only those elements lying in the support will contribute to the sensitivity analysis. Therefore, the following general expressions can be inferred by the chaining rule for derivatives:

$$\begin{aligned} \frac{\partial G}{\partial \overline{\rho _{s,t}}}& {} = \sum _{e \in I_{s,t}} \frac{\partial G}{\partial \rho _e} \frac{\partial \rho _e}{\partial \overline{\rho _{s,t}}}, \end{aligned}$$
(67)
$$\begin{aligned} \frac{\partial G}{\partial w_{s,t}}& {} = \sum _{e \in I_{s,t}} \frac{\partial G}{\partial \rho _e} \frac{\partial \rho _e}{\partial w_{s,t}}. \end{aligned}$$
(68)

The derivative \(\frac{\partial \rho _e}{\partial \overline{\rho _{s,t}}}\) can be easily computed from Eq. (20):

$$\begin{aligned} \frac{\partial \rho _e}{\partial \overline{\rho _{s,t}}}=R_{s,t}(u_e,v_e). \end{aligned}$$
(69)

The derivative \(\frac{\partial \rho _e}{\partial w_{s,t}}\) is evaluated by explicitly inserting Eq. (2) in Eq. (20). The final expression can be retrieved after few computations:

$$\begin{aligned} \frac{\partial \rho _e}{\partial w_{s,t}}=\frac{R_{s,t}(u_e,v_e)}{w_{s,t}}(\overline{\rho _{s,t}}-\rho _e). \end{aligned}$$
(70)

Consequently, the sensitivity analysis for the compliance and the volume fraction can be deduced combining Eqs. (69) and (70) with Eqs. (18) and (19).

Appendix 2: Sensitivity analysis of constraints

1.1 Sensitivity analysis of the minimum member size constraint

Sensitivity of the monotonicity integral \(M_{\gamma _i}(\rho )\) with respect to the control points:

$$\begin{aligned} \begin{aligned}\dfrac{\partial M_{\gamma _i}(\rho )}{\partial \overline{\rho _{s,t}}}&= \sum _{j=1}^{N_{\varvec{{\mathrm {\gamma }}}_i}-1} \dfrac{\partial }{\partial \overline{\rho _{s,t}}} \left( \sqrt{(\rho _{j+1}-\rho _j)^2+\epsilon ^2} \right) - \left( \dfrac{\partial }{\partial \overline{\rho _{s,t}}} \sqrt{(\rho _{N_{{\varvec{\gamma }}_i}}-\rho _1)^2+\epsilon ^2} \right) \\& =\sum _{j=1}^{N_{{\varvec{\gamma }}_i}-1}\dfrac{(\rho _{j+1}-\rho _j) \left( \dfrac{\partial \rho _{j+1} }{\partial \overline{\rho _{s,t}}}- \dfrac{\partial \rho _{j} }{\partial \overline{\rho _{s,t}}}\right) }{\sqrt{(\rho _{j+1}-\rho _j)^2+\epsilon ^2}}-\dfrac{(\rho _{N_{{\varvec{\gamma }}_i}}-\rho _1)\left( \dfrac{\partial \rho _{N_{{\varvec{\gamma }}_i}} }{\partial \overline{\rho _{s,t}}} - \dfrac{\partial \rho _1}{\partial \overline{\rho _{s,t}}}\right) }{\sqrt{(\rho _{N_{{\varvec{\gamma }}_i}}-\rho _1)^2+\epsilon ^2}}\\& =\sum _{j=1}^{N_{{\varvec{\gamma }}_i}-1}\dfrac{(\rho _{j+1}-\rho _j) \left( R_{s,t}(u_{j+1},v_{j+1})- R_{s,t}(u_{j},v_{j})\right) }{\sqrt{(\rho _{j+1}-\rho _j)^2+\epsilon ^2}}+\\&\quad -\,\dfrac{(\rho _{N_{{\varvec{\gamma }}_i}}-\rho _1)\left( R_{s,t}(u_{N_{{\varvec{\gamma }}_i}},v_{N_{{\varvec{\gamma }}_i}})- R_{s,t}(u_{1},v_{1})\right) }{\sqrt{(\rho _{N_{{\varvec{\gamma }}_i}}-\rho _1)^2+\epsilon ^2}} . \end{aligned} \end{aligned}$$
(71)

Sensitivity of the monotonicity integral \(M_{\gamma _i}(\rho )\) with respect to the NURBS weights:

$$\begin{aligned} \begin{aligned} \dfrac{\partial M_{\gamma _i}(\rho )}{\partial w_{s,t}} & = \sum _{j=1}^{N_{{\varvec{\gamma }}_i}-1} \dfrac{\partial }{\partial w_{s,t}} \left( \sqrt{(\rho _{j+1}-\rho _j)^2+\epsilon ^2} \right) - \left( \dfrac{\partial }{\partial w_{s,t}} \sqrt{(\rho _{N_{{\varvec{\gamma }}_i}}-\rho _1)^2+\epsilon ^2} \right) \\& =\sum _{j=1}^{N_{{\varvec{\gamma }}_i}-1}\dfrac{(\rho _{j+1}-\rho _j) \left( \dfrac{\partial \rho _{j+1} }{\partial w_{s,t}}- \dfrac{\partial \rho _{j} }{\partial w_{s,t}}\right) }{\sqrt{(\rho _{j+1}-\rho _j)^2+\epsilon ^2}}-\dfrac{(\rho _{N_{{\varvec{\gamma }}_i}}-\rho _1)\left( \dfrac{\partial \rho _{N_{{\varvec{\gamma }}_i}} }{\partial w_{s,t}} - \dfrac{\partial \rho _1}{\partial w_{s,t}}\right) }{\sqrt{(\rho _{N_{{\varvec{\gamma }}_i}}-\rho _1)^2+\epsilon ^2}}\\& =\dfrac{1}{w_{s,t}}\sum _{j=1}^{N_{{\varvec{\gamma }}_i}-1}\dfrac{(\rho _{j+1}-\rho _j) \left( \dfrac{\partial \rho _{j+1} }{\partial \overline{\rho _{s,t}}}(\overline{\rho _{s,t}}-\rho _{j+1})- \dfrac{\partial \rho _{j} }{\partial \overline{\rho _{s,t}}}(\overline{\rho _{s,t}}-\rho _{j}) \right) }{\sqrt{(\rho _{j+1}-\rho _j)^2+\epsilon ^2}}+\\&\quad -\dfrac{1}{w_{s,t}}\dfrac{(\rho _{N_{{\varvec{\gamma }}_i}}-\rho _1)\left( \dfrac{\partial \rho _{N_{{\varvec{\gamma }}_i}} }{\partial \overline{\rho _{s,t}}}(\overline{\rho _{s,t}}-\rho _{N_{{\varvec{\gamma }}_i}}) - \dfrac{\partial \rho _1}{\partial \overline{\rho _{s,t}}}(\overline{\rho _{s,t}}-\rho _1)\right) }{\sqrt{(\rho _{N_{{\varvec{\gamma }}_i}}-\rho _1)^2+\epsilon ^2}}\\& =\dfrac{\overline{\rho _{s,t}}}{w_{s,t}} \left[ \sum _{j=1}^{N_{{\varvec{\gamma }}_i}-1}\dfrac{(\rho _{j+1}-\rho _j) \left( \dfrac{\partial \rho _{j+1} }{\partial \overline{\rho _{s,t}}}- \dfrac{\partial \rho _{j} }{\partial \overline{\rho _{s,t}}}\right) }{\sqrt{(\rho _{j+1}-\rho _j)^2+\epsilon ^2}}-\dfrac{(\rho _{N_{{\varvec{\gamma }}_i}}-\rho _1)\left( \dfrac{\partial \rho _{N_{{\varvec{\gamma }}_i}} }{\partial \overline{\rho _{s,t}}} - \dfrac{\partial \rho _1}{\partial \overline{\rho _{s,t}}}\right) }{\sqrt{(\rho _{N_{{\varvec{\gamma }}_i}}-\rho _1)^2+\epsilon ^2}} \right]\\&\quad +\dfrac{1}{w_{s,t}} \Bigg [ \sum _{j=1}^{N_{{\varvec{\gamma }}_i}-1}\dfrac{(\rho _{j+1}-\rho _j) \left( \rho _j \dfrac{\partial \rho _{j} }{\partial \overline{\rho _{s,t}}}- \rho _{j+1} \dfrac{\partial \rho _{j+1} }{\partial \overline{\rho _{s,t}}} \right) }{\sqrt{(\rho _{j+1}-\rho _j)^2+\epsilon ^2}} +\\&\quad - \left.\dfrac{(\rho _{N_{{\varvec{\gamma }}_i}}-\rho _1)\left( \rho _1 \dfrac{\partial \rho _{1} }{\partial \overline{\rho _{s,t}}} -\rho _{N_{{\varvec{\gamma }}_i}} \dfrac{\partial \rho _{N_{{\varvec{\gamma }}_i}} }{\partial \overline{\rho _{s,t}}} \right) }{\sqrt{(\rho _{N_{{\varvec{\gamma }}_i}}-\rho _1)^2+\epsilon ^2}} \right]\\& = \dfrac{\overline{\rho _{s,t}}}{w_{s,t}} \dfrac{\partial M_{\gamma _i}(\rho )}{\partial \overline{\rho _{s,t}}}+\dfrac{1}{w_{s,t}} \Bigg [ \sum _{j=1}^{N_{{\varvec{\gamma }}_i}-1}\dfrac{(\rho _{j+1}-\rho _j) \left( \rho _j R_{s,t}(u_{j},v_{j})- \rho _{j+1} R_{s,t}(u_{j+1},v_{j+1}) \right) }{\sqrt{(\rho _{j+1}-\rho _j)^2+\epsilon ^2}} +\\&\quad \left.- \dfrac{(\rho _{N_{{\varvec{\gamma }}_i}}-\rho _1)\left( \rho _1 R_{s,t}(u_{1},v_{1}) -\rho _{N_{{\varvec{\gamma }}_i}} R_{s,t}(u_{N_{{\varvec{\gamma }}_i}},v_{N_{{\varvec{\gamma }}_i}}) \right) }{\sqrt{(\rho _{N_{{\varvec{\gamma }}_i}}-\rho _1)^2+\epsilon ^2}} \right]. \end{aligned} \end{aligned}$$
(72)

1.2 Sensitivity analysis of the maximum member size constraint

The gradient of the maximum member size constraint is computed here with respect to the NURBS control points and weights:

$$\begin{aligned}&\dfrac{\partial g_{d_{max}}}{\partial \overline{\rho _{s,t}}}=\dfrac{1}{\dfrac{\pi d_{max}^2}{4}(1-\psi )} \dfrac{\partial }{\partial \overline{\rho _{s,t}}} \left( \sum _{e=1}^{N_e} \left( \sum _{i \in \Omega _e} \hat{\rho _i} A_i \right) ^\chi \right) ^{\dfrac{1}{\chi }}\nonumber \\&\quad =\dfrac{\left( \sum _{e=1}^{N_e} \left( \sum _{i \in \Omega _e} \overline{\rho _i}A_i \right) ^\chi \right) ^{\dfrac{1}{\chi }-1}}{\chi \dfrac{\pi d_{max}^2}{4}(1-\psi )} \left( \sum _{e=1}^{N_e} \dfrac{\partial }{\partial \overline{\rho _{s,t}}} \left( \sum _{i \in \Omega _e} \rho _i^\alpha A_i \right) ^\chi \right) \nonumber \\&\quad =\dfrac{\left( \sum _{e=1}^{N_e} \left( \sum _{i \in \Omega _e} \overline{\rho _i}A_i \right) ^\chi \right) ^{\dfrac{1}{\chi }}}{\dfrac{\pi d_{max}^2}{4}(1-\psi )} \dfrac{\left( \sum _{e=1}^{N_e} \left( \sum _{i \in \Omega _e} \rho _i^\alpha A_i \right) ^{\chi -1} \left( \sum _{i \in \Omega _e} \alpha \rho _i^{\alpha -1} \dfrac{\partial \rho _i}{\partial \overline{\rho _{s,t}}} A_i \right) \right) }{\sum _{e=1}^{N_e} \left( \sum _{i \in \Omega _e} \overline{\rho _i}A_i \right) ^\chi } \nonumber \\&\quad =\alpha (g_{d_{max}}+1)\dfrac{ \sum _{e=1}^{N_e} \left( \left( \sum _{i \in \Omega _e} \rho _i^\alpha A_i \right) ^{\chi -1} \left( \sum _{i \in \Omega _e} \rho _i^{\alpha -1} R_{s,t}(u_i,v_i) A_i \right) \right) }{\sum _{e=1}^{N_e} \left( \sum _{i \in \Omega _e} \overline{\rho _i}A_i \right) ^\chi }. \end{aligned}$$
(73)
$$\begin{aligned}\dfrac{\partial g_{d_{max}}}{\partial w_{s,t}}&=\alpha (g_{d_{max}}+1)\dfrac{ \sum _{e=1}^{N_e} \left( \left( \sum _{i \in \Omega _e} \rho _i^\alpha A_i \right) ^{\chi -1} \left( \sum _{i \in \Omega _e} \rho _i^{\alpha -1} \dfrac{\partial \rho _i}{\partial w_{s,t}} A_i \right) \right) }{\sum _{e=1}^{N_e} \left( \sum _{i \in \Omega _e} \overline{\rho _i}A_i \right) ^\chi }\nonumber \\& =\alpha (g_{d_{max}}+1)\dfrac{ \sum _{e=1}^{N_e} \left( \left( \sum _{i \in \Omega _e} \rho _i^\alpha A_i \right) ^{\chi -1} \left( \sum _{i \in \Omega _e} \rho _i^{\alpha -1} \dfrac{\partial \rho _i}{\partial \overline{\rho _{s,t}}}\dfrac{\overline{\rho _{s,t}}-\rho _i}{w_{s,t}} A_i \right) \right) }{\sum _{e=1}^{N_e} \left( \sum _{i \in \Omega _e} \overline{\rho _i}A_i \right) ^\chi }\nonumber \\& = \dfrac{\overline{\rho _{s,t}}}{w_{s,t}}\alpha (g_{d_{max}}+1)\dfrac{ \sum _{e=1}^{N_e} \left( \left( \sum _{i \in \Omega _e} \rho _i^\alpha A_i \right) ^{\chi -1} \left( \sum _{i \in \Omega _e} \rho _i^{\alpha -1} \dfrac{\partial \rho _i}{\partial \overline{\rho _{s,t}}} A_i \right) \right) }{\sum _{e=1}^{N_e} \left( \sum _{i \in \Omega _e} \overline{\rho _i}A_i \right) ^\chi }+\nonumber \\&\quad -\dfrac{1}{w_{s,t}}\alpha (g_{d_{max}}+1)\dfrac{ \sum _{e=1}^{N_e} \left( \left( \sum _{i \in \Omega _e} \rho _i^\alpha A_i \right) ^{\chi -1} \left( \sum _{i \in \Omega _e} \rho _i^{\alpha } \dfrac{\partial \rho _i}{\partial \overline{\rho _{s,t}}} A_i \right) \right) }{\sum _{e=1}^{N_e} \left( \sum _{i \in \Omega _e} \overline{\rho _i}A_i \right) ^\chi }\nonumber \\& =\dfrac{\overline{\rho _{s,t}}}{w_{s,t}}\dfrac{\partial g_{d_{max}}}{\partial \overline{\rho _{s,t}}}-\dfrac{\alpha (g_{d_{max}}+1)}{w_{s,t}} \dfrac{ \sum _{e=1}^{N_e} \left( \left( \sum _{i \in \Omega _e} \rho _i^\alpha A_i \right) ^{\chi -1} \left( \sum _{i \in \Omega _e} \rho _i^{\alpha } R_{s,t}(u_i,v_i) A_i \right) \right) }{\sum _{e=1}^{N_e} \left( \sum _{i \in \Omega _e} \overline{\rho _i}A_i \right) ^\chi }. \end{aligned}$$
(74)

1.3 Sensitivity analysis of the local curvature radius constraint

The gradient of the local curvature radius is computed with respect to the control points and to the weights. Let us write again Eq. (50) in a more convenient form:

$$\begin{aligned} r=-\,\dfrac{1}{WH} \dfrac{r_N}{r_D}. \end{aligned}$$
(75)

Thus, the derivatives write

$$\begin{aligned}&\dfrac{\partial r}{\partial \overline{\rho _{s,t}}}=r \left( \dfrac{1}{r_N} \dfrac{\partial r_N}{\partial \overline{\rho _{s,t}}} - \dfrac{1}{r_D} \dfrac{\partial r_D}{\partial \overline{\rho _{s,t}}} \right) , \end{aligned}$$
(76)
$$\begin{aligned}&\dfrac{\partial r}{\partial w_{s,t}}=r \left( \dfrac{1}{r_N} \dfrac{\partial r_N}{\partial w_{s,t}} - \dfrac{1}{r_D} \dfrac{\partial r_D}{\partial w_{s,t}} \right) . \end{aligned}$$
(77)

The complete expression of Eqs. (76) and (77) are not provided here for sake of brevity; anyway the reader can easily deduce them by using the following formulae to compute the derivatives of each term. They are deduced from the results of “Appendix 1”:

$$\begin{aligned}&\frac{\partial }{\partial \overline{\rho _{s,t}}} \left( \dfrac{\partial \rho }{\partial u} \right) =\dfrac{\partial R_{s,t}}{\partial u}, \end{aligned}$$
(78)
$$\begin{aligned}&\frac{\partial }{\partial \overline{\rho _{s,t}}} \left( \dfrac{\partial \rho }{\partial v} \right) =\dfrac{\partial R_{s,t}}{\partial v}, \end{aligned}$$
(79)
$$\begin{aligned}&\frac{\partial }{\partial \overline{\rho _{s,t}}} \left( \dfrac{\partial ^2 \rho }{\partial u^2} \right) =\dfrac{\partial ^2 R_{s,t}}{\partial u^2}, \end{aligned}$$
(80)
$$\begin{aligned}&\frac{\partial }{\partial \overline{\rho _{s,t}}} \left( \dfrac{\partial ^2 \rho }{\partial u \partial v} \right) =\dfrac{\partial ^2 R_{s,t}}{\partial u \partial v}, \end{aligned}$$
(81)
$$\begin{aligned}&\frac{\partial }{\partial \overline{\rho _{s,t}}} \left( \dfrac{\partial ^2 \rho }{\partial v^2} \right) =\dfrac{\partial ^2 R_{s,t}}{\partial v^2}, \end{aligned}$$
(82)
$$\begin{aligned}&\frac{\partial }{\partial w_{s,t}} \left( \dfrac{\partial \rho }{\partial u} \right) =\dfrac{\overline{\rho _{s,t}}-\rho }{w_{s,t}}\dfrac{\partial R_{s,t}}{\partial u}-\dfrac{R_{s,t}}{w_{s,t}} \dfrac{\partial \rho }{\partial u}, \end{aligned}$$
(83)
$$\begin{aligned}&\frac{\partial }{\partial w_{s,t}} \left( \dfrac{\partial \rho }{\partial v} \right) =\dfrac{\overline{\rho _{s,t}}-\rho }{w_{s,t}}\dfrac{\partial R_{s,t}}{\partial v}-\dfrac{R_{s,t}}{w_{s,t}} \dfrac{\partial \rho }{\partial v}, \end{aligned}$$
(84)
$$\begin{aligned}&\frac{\partial }{\partial w_{s,t}} \left( \dfrac{\partial ^2 \rho }{\partial u^2} \right) =\dfrac{1}{w_{s,t}} \left( (\overline{\rho _{s,t}}-\rho ) \dfrac{\partial ^2 R_{s,t}}{\partial u^2} -2\dfrac{\partial R_{s,t}}{\partial u}\dfrac{\partial \rho }{\partial u} -R_{s,t}\dfrac{\partial ^2 \rho }{\partial u^2} \right) , \end{aligned}$$
(85)
$$\begin{aligned}&\frac{\partial }{\partial w_{s,t}} \left( \dfrac{\partial ^2 \rho }{\partial u \partial v} \right) =\dfrac{1}{w_{s,t}} \left( (\overline{\rho _{s,t}}-\rho ) \dfrac{\partial ^2 R_{s,t}}{\partial u \partial v} -\dfrac{\partial R_{s,t}}{\partial u}\dfrac{\partial \rho }{\partial v}- \dfrac{\partial R_{s,t}}{\partial v}\dfrac{\partial \rho }{\partial u} -R_{s,t}\dfrac{\partial ^2 \rho }{\partial u \partial v} \right) , \end{aligned}$$
(86)
$$\begin{aligned}&\frac{\partial }{\partial w_{s,t}} \left( \dfrac{\partial ^2 \rho }{\partial v^2} \right) =\dfrac{1}{w_{s,t}} \left( (\overline{\rho _{s,t}}-\rho ) \dfrac{\partial ^2 R_{s,t}}{\partial v^2} -2\dfrac{\partial R_{s,t}}{\partial v}\dfrac{\partial \rho }{\partial v} -R_{s,t}\dfrac{\partial ^2 \rho }{\partial v^2} \right) . \end{aligned}$$
(87)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Costa, G., Montemurro, M. & Pailhès, J. A 2D topology optimisation algorithm in NURBS framework with geometric constraints. Int J Mech Mater Des 14, 669–696 (2018). https://doi.org/10.1007/s10999-017-9396-z

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10999-017-9396-z

Keywords

Navigation