<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xml:lang="en" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">CMES</journal-id>
<journal-id journal-id-type="nlm-ta">CMES</journal-id>
<journal-id journal-id-type="publisher-id">CMES</journal-id>
<journal-title-group>
<journal-title>Computer Modeling in Engineering &#x0026; Sciences</journal-title>
</journal-title-group>
<issn pub-type="epub">1526-1506</issn>
<issn pub-type="ppub">1526-1492</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">79578</article-id>
<article-id pub-id-type="doi">10.32604/cmes.2026.079578</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Explicit Reconstruction and Shape Optimization of Topology Optimization Results with Mechanical Performance Preservation</article-title>
<alt-title alt-title-type="left-running-head">Explicit Reconstruction and Shape Optimization of Topology Optimization Results with Mechanical Performance Preservation</alt-title>
<alt-title alt-title-type="right-running-head">Explicit Reconstruction and Shape Optimization of Topology Optimization Results with Mechanical Performance Preservation</alt-title>
</title-group>
<contrib-group>
<contrib id="author-1" contrib-type="author">
<name name-style="western"><surname>Tang</surname><given-names>Yuting</given-names></name><xref ref-type="aff" rid="aff-1">1</xref><xref ref-type="aff" rid="aff-2">2</xref><xref ref-type="aff" rid="aff-3">3</xref><xref ref-type="aff" rid="aff-4">4</xref></contrib>
<contrib id="author-2" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Li</surname><given-names>Yu</given-names></name><xref ref-type="aff" rid="aff-2">2</xref><xref ref-type="aff" rid="aff-3">3</xref><email>liyu_npu@outlook.com</email></contrib>
<contrib id="author-3" contrib-type="author">
<name name-style="western"><surname>Xiang</surname><given-names>Xingyu</given-names></name><xref ref-type="aff" rid="aff-2">2</xref><xref ref-type="aff" rid="aff-3">3</xref><xref ref-type="aff" rid="aff-5">5</xref></contrib>
<contrib id="author-4" contrib-type="author">
<name name-style="western"><surname>Luo</surname><given-names>Jiaxiang</given-names></name><xref ref-type="aff" rid="aff-1">1</xref><xref ref-type="aff" rid="aff-2">2</xref><xref ref-type="aff" rid="aff-3">3</xref><xref ref-type="aff" rid="aff-4">4</xref></contrib>
<contrib id="author-5" contrib-type="author">
<name name-style="western"><surname>Zhou</surname><given-names>Weien</given-names></name><xref ref-type="aff" rid="aff-2">2</xref><xref ref-type="aff" rid="aff-3">3</xref></contrib>
<contrib id="author-6" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Yao</surname><given-names>Wen</given-names></name><xref ref-type="aff" rid="aff-2">2</xref><xref ref-type="aff" rid="aff-3">3</xref><email>wendy0782@126.com</email></contrib>
<aff id="aff-1"><label>1</label><institution>College of Aerospace Science and Engineering, National University of Defense Technology</institution>, <addr-line>Changsha</addr-line>, <country>China</country></aff>
<aff id="aff-2"><label>2</label><institution>Defense Innovation Institute, Chinese Academy of Military Science</institution>, <addr-line>Beijing</addr-line>, <country>China</country></aff>
<aff id="aff-3"><label>3</label><institution>Intelligent Game and Decision Laboratory</institution>, <addr-line>Beijing</addr-line>, <country>China</country></aff>
<aff id="aff-4"><label>4</label><institution>State Key Laboratory of Space System Operation and Control</institution>, <addr-line>Changsha</addr-line>, <country>China</country></aff>
<aff id="aff-5"><label>5</label><institution>State Key Laboratory for Turbulence and Complex Systems, School of Mechanics and Engineering Science, Peking University</institution>, <addr-line>Beijing</addr-line>, <country>China</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>&#x002A;</label>Corresponding Authors: Yu Li. Email: <email>liyu_npu@outlook.com</email>; Wen Yao. Email: <email>wendy0782@126.com</email></corresp>
</author-notes>
<pub-date date-type="collection" publication-format="electronic">
<year>2026</year>
</pub-date>
<pub-date date-type="pub" publication-format="electronic">
<day>27</day><month>4</month><year>2026</year>
</pub-date>
<volume>147</volume>
<issue>1</issue>
<elocation-id>10</elocation-id>
<history>
<date date-type="received">
<day>23</day>
<month>01</month>
<year>2026</year>
</date>
<date date-type="accepted">
<day>23</day>
<month>03</month>
<year>2026</year>
</date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2026 The Authors. Published by Tech Science Press.</copyright-statement>
<copyright-year>2026</copyright-year>
<copyright-holder>The Authors</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_CMES_79578.pdf"></self-uri>
<abstract>
<p>Topology optimization is widely used in lightweight structural design to determine optimal material distributions. However, density-based results are represented in an implicit pixel-wise form with blurred boundaries and jagged contours, which limits their direct use in engineering design and manufacturing. This study proposes a two-stage post-processing framework to reconstruct topology optimization results into explicit parametric geometries while preserving structural performance. The framework first extracts and processes contour points from the optimized density field and reconstructs the geometry using Non-Uniform Rational B-Splines (NURBS). A subsequent shape optimization step based on the fixed-grid finite element method (FG-FEM) adjusts boundary control points to reduce performance deviation introduced during reconstruction while satisfying volume and topological homeomorphism constraints. Numerical examples, including the cantilever beam, Michell beam, half-MBB beam, and a quadcopter frame, validate the effectiveness of the framework. The results show that the proposed method enables explicit geometric reconstruction while maintaining structural performance, with compliance deviations within 0.5%&#x2013;2.6% in benchmark cases.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Topology optimization</kwd>
<kwd>post processing</kwd>
<kwd>explicit reconstruction</kwd>
<kwd>shape optimization</kwd>
<kwd>topological homeomorphism</kwd>
<kwd>performance preservation</kwd>
</kwd-group>
<funding-group>
<award-group id="awg1">
<funding-source>National Natural Science Foundation of China</funding-source>
<award-id>92371206</award-id>
</award-group>
</funding-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>Topology optimization integrates finite element methods and mathematical optimization algorithms to generate optimal material layouts at the conceptual design stage, and has found wide applications across various engineering fields [<xref ref-type="bibr" rid="ref-1">1</xref>]. According to the manner in which optimization results are presented, topology optimization methods can be classified into implicit approaches, such as density-based and level set methods [<xref ref-type="bibr" rid="ref-2">2</xref>&#x2013;<xref ref-type="bibr" rid="ref-4">4</xref>], and explicit approaches, such as moving morphable components or void methods [<xref ref-type="bibr" rid="ref-5">5</xref>,<xref ref-type="bibr" rid="ref-6">6</xref>]. However, significant challenges remain when applying topology optimization results to downstream applications. Due to mesh discretization and density penalization mechanisms, density-based topology optimization often produces intermediate-density regions and jagged boundaries. These artifacts lead to blurred structural contours and may result in localized stress concentrations [<xref ref-type="bibr" rid="ref-7">7</xref>]. The level set method represents optimization results implicitly, which hinders direct integration with computer aided design (CAD) systems [<xref ref-type="bibr" rid="ref-8">8</xref>]. Similarly, the results of the moving morphable components/void method rely on Boolean operations among components or void and lack a unified parametric description [<xref ref-type="bibr" rid="ref-9">9</xref>,<xref ref-type="bibr" rid="ref-10">10</xref>]. Among these approaches, density-based methods, such as the solid isotropic material with penalization (SIMP), have been widely adopted owing to their conceptual simplicity and numerical robustness [<xref ref-type="bibr" rid="ref-11">11</xref>]. In light of the aforementioned limitations, extensive research efforts have been devoted to developing post-processing techniques for interpreting the optimization results.</p>
<p>In terms of boundary recognition and smoothing of topology optimization results, considerable research has focused on extracting well-defined structural boundaries and enhancing geometric regularity. Hsu et al. [<xref ref-type="bibr" rid="ref-12">12</xref>] extracted contour lines from cross-sections of optimization results and employed sweeping techniques to reconstruct geometric models. Chu et al. [<xref ref-type="bibr" rid="ref-13">13</xref>] utilized support vector machine-based classification to distinguish different density regions, thereby obtaining clear structural boundaries. Tang and Chang [<xref ref-type="bibr" rid="ref-14">14</xref>] transformed the boundaries of topology optimization results into smooth, parameterized B-spline curves and surfaces. Wu et al. [<xref ref-type="bibr" rid="ref-15">15</xref>] performed vectorized boundary modeling based on Freeman chain codes and, by introducing boundary curvature parameters and finite element analysis, automatically identified geometric features and extracted fitting control points, enabling regularized boundary reconstruction and shape optimization. Li et al. [<xref ref-type="bibr" rid="ref-16">16</xref>] proposed a boundary density evolution method, in which unpenalized interpolation and density filtering were used to obtain clear topologies, followed by boundary post-processing based on nodal strain-energy-driven level sets to generate smooth contours. Swierstra et al. [<xref ref-type="bibr" rid="ref-17">17</xref>] employed a radial basis function-based level set approach to automatically extract geometric boundaries and combined it with the finite cell method for high precision boundary shape optimization, significantly improving smoothness. Li et al. [<xref ref-type="bibr" rid="ref-18">18</xref>] developed an efficient boundary smoothing strategy for bi-directional evolutionary structural optimization (BESO) results using pre-constructed lookup tables, generating smooth topologies while strictly preserving volume and key geometric features. Je&#x017E;ek et al. [<xref ref-type="bibr" rid="ref-19">19</xref>] proposed a geometric extraction framework based on signed distance functions and radial basis functions, achieving highly smooth boundaries while preserving topology and volume, thereby enhancing mechanical performance and manufacturing compatibility. Lin et al. [<xref ref-type="bibr" rid="ref-20">20</xref>,<xref ref-type="bibr" rid="ref-21">21</xref>] treated topology optimization results as images and, through geometric feature matching combined with artificial neural networks, automatically identified and fitted holes using parameterized templates, enabling a fully automated transition from topological layouts to shape optimization models. Yildiz et al. [<xref ref-type="bibr" rid="ref-22">22</xref>] employed neural-network-driven image processing techniques to automatically map holes in topology optimization results to predefined, manufacturing-oriented geometric features, thereby achieving an efficient conversion from conceptual layouts to optimizable and manufacturable models. Gamache et al. [<xref ref-type="bibr" rid="ref-23">23</xref>] developed a dedicated skeletonization algorithm for topology optimization results, which converts the density field into a truss-like skeleton while preserving mechanical connectivity, significantly enhancing the interpretability of low-order numerical results in terms of higher-level engineering concepts.</p>
<p>From the perspective of downstream design and manufacturing, extensive efforts have been made to reconstruct topology optimization outputs into parameterized and CAD-ready geometric representations. Joshi et al. [<xref ref-type="bibr" rid="ref-24">24</xref>] proposed an automated reconstruction pipeline that converts voxel-based topology optimization results into NURBS surfaces by combining Dual Contouring with <inline-formula id="ieqn-1"><mml:math id="mml-ieqn-1"><mml:msup><mml:mi>C</mml:mi><mml:mn>1</mml:mn></mml:msup></mml:math></inline-formula>-continuous surface fitting, enabling direct import into CAD systems. Liu et al. [<xref ref-type="bibr" rid="ref-25">25</xref>] achieved the automatic generation of high-fidelity yet low-complexity parametric CAD models through skeleton-guided boundary enhancement and curvature-adaptive B-spline fitting. Chac&#x00F3;n et al. [<xref ref-type="bibr" rid="ref-26">26</xref>] developed an automatic conversion framework that transforms 2D topology optimization images into IGES-format B-spline models, significantly improving manufacturability within CAD/computer aided manufacturing (CAM) environments. Koguchi and Kikuchi [<xref ref-type="bibr" rid="ref-27">27</xref>] extracted closed iso-surfaces using the marching cubes algorithm and reconstructed them with bi-quartic surface splines, preserving key geometric features while ensuring boundary smoothness for parametric CAD modeling. Yoely et al. [<xref ref-type="bibr" rid="ref-28">28</xref>] embedded explicit B-spline parameterizations directly into the topology optimization process, incorporating hole-size and curvature constraints to ensure manufacturability from the outset. Hsu and Hsu [<xref ref-type="bibr" rid="ref-29">29</xref>] realized a fully automated conversion of three-dimensional topology optimization results into smooth CAD models through sectional decomposition and B-spline contour fitting, combined with density filtering. Cuilli&#x00E9;re et al. [<xref ref-type="bibr" rid="ref-30">30</xref>] systematically investigated the integration bottlenecks encountered when transitioning from CAD to topology optimization and back to CAD for unstructured three-dimensional meshes, and compared the applicability and limitations of threshold-based and iso-density surface extraction methods. Wen et al. [<xref ref-type="bibr" rid="ref-31">31</xref>] combined marching cubes with sparse curve fitting to automatically convert topology optimization results into editable CAD models, enabling interactive design refinement via a Rhino-based plugin, particularly for geometries with fine scale features. Larsen and Jensen [<xref ref-type="bibr" rid="ref-32">32</xref>] employed predefined two-dimensional template fitting and sweeping-based modeling strategies to achieve semi-automatic conversion of topology optimization results into parametric CAD models, allowing a controllable trade-off between fitting accuracy and feature complexity. Bacciaglia et al. [<xref ref-type="bibr" rid="ref-33">33</xref>] developed a feature preserving automatic mesh smoothing algorithm that freezes critical geometric regions, preventing hole loss and excessive shrinkage typically associated with conventional vertex-based smoothing, and is suitable for industrial scale topology optimization post-processing. Ren et al. [<xref ref-type="bibr" rid="ref-34">34</xref>] proposed an adaptive multi-resolution CAD reconstruction framework, which integrates instant meshes quadrangulation, improved harmonic mapping, and adaptive sampling to convert topology optimization results into sparse-control-point, low-patch, and highly editable NURBS boundary representation models. By initializing the parameter domain using geodesic distances and adopting a multi-resolution strategy, the framework significantly reduces model complexity.</p>
<p>Although various strategies have been proposed to interpret topology optimization results and reconstruct CAD-compatible geometries, several limitations remain. For topology optimization problems formulated with compliance minimization, most existing reconstruction approaches rely on geometric or graphics-driven techniques and pay limited attention to changes in structural performance, which often leads to reconstructed models that deviate from the volume constraints and performance objectives obtained in the topology optimization stage. This study proposes a two-stage framework that explicitly reconstructs topology optimization results into parameterized geometries while maintaining the structural performance obtained in the topology optimization stage. The flowchart of the two-stage framework is illustrated in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>. In the first stage, the contour points are sequentially extracted, smoothed, filtered, and interpolated to obtain a parametric geometric representation. In the second stage, the initial geometry is further optimized by modifying the boundary control points, with the optimization driven by finite element analysis, sensitivity caculation, and a gradient-based solver. Finally, topology optimization results are converted into parametric models with mechanical performance preserved.</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>Flowchart of the two-stage framework with main steps.</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_79578-fig-1.tif"/>
</fig>
<p>To clarify the differences between the proposed framework and representative existing methods, a comparison of key properties of the reconstructed results is summarized in <xref ref-type="table" rid="table-1">Table 1</xref>.</p>
<table-wrap id="table-1">
<label>Table 1</label>
<caption>
<title>Comparison of key properties of reconstructed results among representative methods.</title>
</caption>
<table>
<colgroup>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/> </colgroup>
<thead>
<tr>
<th>Method/Ref.</th>
<th>Geometry Representation</th>
<th>Volume Fraction Satisfaction</th>
<th>Performance Deviation Control</th>
</tr>
</thead>
<tbody>
<tr>
<td>Ours</td>
<td>NURBS</td>
<td>Considered</td>
<td>Considered</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-15">15</xref>]</td>
<td>Freeman codes</td>
<td>Unconsidered</td>
<td>Unconsidered</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-17">17</xref>]</td>
<td>Level set</td>
<td>Considered</td>
<td>Considered</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-18">18</xref>]</td>
<td>Triangular or quadrangular meshes</td>
<td>Considered</td>
<td>Unconsidered</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-19">19</xref>]</td>
<td>Tetrahedral meshes</td>
<td>Considered</td>
<td>Unconsidered</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-25">25</xref>,<xref ref-type="bibr" rid="ref-31">31</xref>]</td>
<td>B-spline</td>
<td>Unconsidered</td>
<td>Unconsidered</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-34">34</xref>]</td>
<td>NURBS patches</td>
<td>Unconsidered</td>
<td>Unconsidered</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The remainder of this paper is organized as follows. <xref ref-type="sec" rid="s2">Section 2</xref> introduces the fundamental principles of density-based topology optimization. <xref ref-type="sec" rid="s3">Section 3</xref> presents the proposed geometry reconstruction procedure. The shape optimization procedure is described in <xref ref-type="sec" rid="s4">Section 4</xref>. <xref ref-type="sec" rid="s5">Section 5</xref> focuses on the analysis and discussion of the results produced by the proposed framework. Representative numerical examples, together with a practical engineering case of a quadcopter frame, are used to further assess the effectiveness and applicability of the framework. Conclusions are presented in <xref ref-type="sec" rid="s6">Section 6</xref>. <xref ref-type="app" rid="app-1">Appendix A</xref> presents the parametric sensitivity and robustness analysis of structural performance and shape, and <xref ref-type="app" rid="app-2">Appendix B</xref> reports the computational cost analysis for the benchmark case.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>Topology Optimization</title>
<p>Topology optimization is a class of structural design methodologies grounded in mathematical programming, in which structural design problems are formulated as computable models by optimally distributing material within a design domain to achieve targeted performance objectives. As a representative mathematical optimization problem, topology optimization relies on a well-defined objective function, appropriate constraint conditions, and sensitivity information of the design variables with respect to both the objective and the constraints. Together, these components constitute the theoretical foundation and critically influence algorithmic convergence and the reliability of the obtained results.</p>
<p>The basic principle of density-based topology optimization for compliance minimization problems can be summarized as follows. The design domain is first discretized into a finite element mesh, and an initial density value is assigned to each element, which governs its effective mechanical properties. Using mathematical optimization algorithms, the contribution of each element to the structural stiffness is evaluated. During the optimization process, the densities of inefficient elements are progressively reduced, while those of efficient elements are increased, leading to an optimized material distribution. As a result, the structural topology evolves and the topology optimization process is completed. The corresponding optimization formulation is given as
<disp-formula id="eqn-1"><label>(1)</label><mml:math id="mml-eqn-1" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mrow><mml:mtext>Find:</mml:mtext></mml:mrow><mml:mspace width="1em" /><mml:mi mathvariant="bold-italic">&#x03C1;</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="double-struck">R</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mrow><mml:mtext>min:</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:mspace width="1em" /><mml:mi>C</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mtext mathvariant="bold">F</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mrow><mml:mtext mathvariant="bold">U</mml:mtext></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mrow><mml:mtext>s.t.</mml:mtext></mml:mrow><mml:mspace width="1em" /><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mrow><mml:mtext mathvariant="bold">K</mml:mtext></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="bold-italic">&#x03C1;</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mtext mathvariant="bold">U</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mtext mathvariant="bold">F</mml:mtext></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi>V</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="bold-italic">&#x03C1;</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:msub><mml:mi>V</mml:mi><mml:mn>0</mml:mn></mml:msub></mml:mfrac></mml:mstyle><mml:mo>&#x2264;</mml:mo><mml:mrow><mml:mover><mml:mi>V</mml:mi><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mi>e</mml:mi></mml:msub><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">]</mml:mo><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:mi>e</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>In <xref ref-type="disp-formula" rid="eqn-1">Eq. (1)</xref>, <inline-formula id="ieqn-2"><mml:math id="mml-ieqn-2"><mml:mi mathvariant="bold-italic">&#x03C1;</mml:mi></mml:math></inline-formula> denotes the vector of design variables, with each component <inline-formula id="ieqn-3"><mml:math id="mml-ieqn-3"><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mi>e</mml:mi></mml:msub></mml:math></inline-formula> representing the density of the <inline-formula id="ieqn-4"><mml:math id="mml-ieqn-4"><mml:mi>e</mml:mi></mml:math></inline-formula>-th element. The objective function <italic>C</italic> represents the structural compliance. <inline-formula id="ieqn-5"><mml:math id="mml-ieqn-5"><mml:mrow><mml:mtext mathvariant="bold">F</mml:mtext></mml:mrow></mml:math></inline-formula> denotes the external load applied to the structure. <inline-formula id="ieqn-6"><mml:math id="mml-ieqn-6"><mml:mrow><mml:mtext mathvariant="bold">U</mml:mtext></mml:mrow></mml:math></inline-formula> is the nodal displacement vector. <inline-formula id="ieqn-7"><mml:math id="mml-ieqn-7"><mml:mrow><mml:mtext mathvariant="bold">K</mml:mtext></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="bold-italic">&#x03C1;</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is the global stiffness matrix, which depends on the element densities. <inline-formula id="ieqn-8"><mml:math id="mml-ieqn-8"><mml:mi>V</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="bold-italic">&#x03C1;</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> denotes the volume of the optimized structure, <inline-formula id="ieqn-9"><mml:math id="mml-ieqn-9"><mml:msub><mml:mi>V</mml:mi><mml:mn>0</mml:mn></mml:msub></mml:math></inline-formula> denotes the volume of the design domain, and <inline-formula id="ieqn-10"><mml:math id="mml-ieqn-10"><mml:mrow><mml:mover><mml:mi>V</mml:mi><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula> denotes the volume fraction constraint.</p>
<p>In topology optimization, the relationship between the elastic modulus of each element and its density is commonly established using the SIMP scheme, which is expressed as
<disp-formula id="eqn-2"><label>(2)</label><mml:math id="mml-eqn-2" display="block"><mml:msub><mml:mi>E</mml:mi><mml:mi>e</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msubsup><mml:mi>&#x03C1;</mml:mi><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x03B2;</mml:mi></mml:mrow></mml:msubsup><mml:msub><mml:mi>E</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo>,</mml:mo></mml:math></disp-formula>where <inline-formula id="ieqn-11"><mml:math id="mml-ieqn-11"><mml:msub><mml:mi>E</mml:mi><mml:mi>e</mml:mi></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-12"><mml:math id="mml-ieqn-12"><mml:msub><mml:mi>E</mml:mi><mml:mn>0</mml:mn></mml:msub></mml:math></inline-formula> denote the elastic modulus of the <inline-formula id="ieqn-13"><mml:math id="mml-ieqn-13"><mml:mi>e</mml:mi></mml:math></inline-formula>-th element and the solid material, respectively. <inline-formula id="ieqn-14"><mml:math id="mml-ieqn-14"><mml:mrow><mml:mi>&#x03B2;</mml:mi></mml:mrow></mml:math></inline-formula> is the penalization factor, which is typically set to 3 for compliance minimization problems. To ensure numerical stability, a lower bound of <inline-formula id="ieqn-15"><mml:math id="mml-ieqn-15"><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mi>e</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>3</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> is commonly imposed [<xref ref-type="bibr" rid="ref-35">35</xref>], thereby avoiding singularity of the global stiffness matrix.</p>
<p>The design variables are updated using gradient-based optimization algorithms, with the optimality criteria (OC) method adopted as the solution strategy. The sensitivities of the objective function and constraints with respect to the design variables are given by
<disp-formula id="eqn-3"><label>(3)</label><mml:math id="mml-eqn-3" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mi>e</mml:mi></mml:msub></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>&#x03B2;</mml:mi><mml:msubsup><mml:mi>&#x03C1;</mml:mi><mml:mi>e</mml:mi><mml:mrow><mml:mi>&#x03B2;</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mi>e</mml:mi><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msubsup><mml:msub><mml:mrow><mml:mtext mathvariant="bold">k</mml:mtext></mml:mrow><mml:mn>0</mml:mn></mml:msub><mml:msub><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mi>e</mml:mi></mml:msub><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>V</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="bold-italic">&#x03C1;</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mi>e</mml:mi></mml:msub></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:msub><mml:mi>V</mml:mi><mml:mi>e</mml:mi></mml:msub><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>Here, <inline-formula id="ieqn-16"><mml:math id="mml-ieqn-16"><mml:msub><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mi>e</mml:mi></mml:msub></mml:math></inline-formula> denotes the displacement vector of <inline-formula id="ieqn-17"><mml:math id="mml-ieqn-17"><mml:mi>e</mml:mi></mml:math></inline-formula>-th element extracted from the global displacement vector <inline-formula id="ieqn-18"><mml:math id="mml-ieqn-18"><mml:mrow><mml:mtext mathvariant="bold">U</mml:mtext></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-19"><mml:math id="mml-ieqn-19"><mml:msub><mml:mrow><mml:mtext mathvariant="bold">k</mml:mtext></mml:mrow><mml:mn>0</mml:mn></mml:msub></mml:math></inline-formula> is the elemental stiffness matrix of the solid material with unit Young&#x2019;s modulus, and <inline-formula id="ieqn-20"><mml:math id="mml-ieqn-20"><mml:msub><mml:mi>V</mml:mi><mml:mi>e</mml:mi></mml:msub></mml:math></inline-formula> denotes the volume of the <inline-formula id="ieqn-21"><mml:math id="mml-ieqn-21"><mml:mi>e</mml:mi></mml:math></inline-formula>-th element. Accordingly, the scalar quantity <inline-formula id="ieqn-22"><mml:math id="mml-ieqn-22"><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mi>e</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="normal">T</mml:mi></mml:mrow></mml:mrow></mml:msubsup><mml:msub><mml:mrow><mml:mtext mathvariant="bold">k</mml:mtext></mml:mrow><mml:mn>0</mml:mn></mml:msub><mml:msub><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mi>e</mml:mi></mml:msub></mml:math></inline-formula> corresponds to the strain energy contribution of element <inline-formula id="ieqn-23"><mml:math id="mml-ieqn-23"><mml:mi>e</mml:mi></mml:math></inline-formula> under the reference material properties, and it measures the contribution of that element to the overall structural compliance.</p>
<p><xref ref-type="fig" rid="fig-2">Fig. 2</xref> shows the topology optimization results of a cantilever beam subjected to a concentrated load at the upper-right corner, obtained using the classic 99-line code [<xref ref-type="bibr" rid="ref-35">35</xref>]. The design domain is discretized into <inline-formula id="ieqn-24"><mml:math id="mml-ieqn-24"><mml:mn>100</mml:mn><mml:mo>&#x00D7;</mml:mo><mml:mn>50</mml:mn></mml:math></inline-formula> elements, with a target volume fraction of 50%. The resulting optimized design achieves a compliance of 72.1995 with an actual volume fraction of 0.4999. However, the structural boundaries shown in <xref ref-type="fig" rid="fig-2">Fig. 2b</xref> are diffuse and exhibit pronounced jaggedness due to the density-based representation and the underlying mesh discretization. As a result, the optimized design lacks explicit and smooth geometric boundaries, making it unsuitable for direct CAD editing and manufacturing. These inherent geometric deficiencies of topology optimization outputs necessitate a geometry reconstruction procedure to obtain smooth, explicit, and manufacturable structural representations.</p>
<fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>Topology optimization results of a cantilever beam. (<bold>a</bold>) Initial structure; (<bold>b</bold>) Optimized structure.</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_79578-fig-2.tif"/>
</fig>
</sec>
<sec id="s3">
<label>3</label>
<title>Geometry Reconstruction</title>
<p>The contour points of both the inner holes and the outer boundary are first extracted from the density field using the marching squares algorithm. Since the extracted points are typically dense and irregular, direct interpolation would result in NURBS-based boundaries with spurious irregularities and an excessive number of control points, thereby reducing geometric controllability. To alleviate these issues, smoothing and filtering operations are applied to the extracted point sets. Finally, NURBS interpolation is performed to produce a smooth and explicitly parameterized geometry suitable for shape optimization.</p>
<sec id="s3_1">
<label>3.1</label>
<title>Contour Points Extraction</title>
<p>The marching squares algorithm [<xref ref-type="bibr" rid="ref-36">36</xref>] extracts iso-density contours by examining the values within each element and locating contour segments according to a specified threshold <inline-formula id="ieqn-25"><mml:math id="mml-ieqn-25"><mml:mi>&#x03C4;</mml:mi></mml:math></inline-formula>. <xref ref-type="fig" rid="fig-3">Fig. 3a</xref> illustrates an example density field, which serves as the input for contours extraction. When the scalar values at the two endpoints of a line segment, denoted by <inline-formula id="ieqn-26"><mml:math id="mml-ieqn-26"><mml:msub><mml:mi>v</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-27"><mml:math id="mml-ieqn-27"><mml:msub><mml:mi>v</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula>, satisfy the condition <inline-formula id="ieqn-28"><mml:math id="mml-ieqn-28"><mml:msub><mml:mi>v</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>&#x003C;</mml:mo><mml:mi>&#x03C4;</mml:mi><mml:mo>&#x003C;</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula>, the intersection position <inline-formula id="ieqn-29"><mml:math id="mml-ieqn-29"><mml:mi>s</mml:mi></mml:math></inline-formula> along the segment is computed via linear interpolation<disp-formula id="eqn-4"><label>(4)</label><mml:math id="mml-eqn-4" display="block"><mml:mi>s</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:mfrac><mml:mrow><mml:mi>&#x03C4;</mml:mi><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mfrac><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo></mml:math></disp-formula>where <inline-formula id="ieqn-30"><mml:math id="mml-ieqn-30"><mml:msub><mml:mi>x</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-31"><mml:math id="mml-ieqn-31"><mml:msub><mml:mi>x</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula> denote the coordinates of the two vertices of the segment.</p>
<fig id="fig-3">
<label>Figure 3</label>
<caption>
<title>Illustration of contour points extraction. (<bold>a</bold>) Illustrative density field; (<bold>b</bold>) Direct contour points extraction; (<bold>c</bold>) Extraction after density padding.</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_79578-fig-3.tif"/>
</fig>
<p>However, directly applying the marching squares algorithm may result in incomplete extraction of the outer boundary, as illustrated in <xref ref-type="fig" rid="fig-3">Fig. 3b</xref>. This issue arises from incomplete sign changes across the threshold in scalar field adjacent to the bounding box. To accurately preserve the overall dimensional characteristics of the structure while automatically extracting the complete outer boundary, a virtual element padding strategy is introduced. Specifically, the material distribution near the design domain boundary is typically either fully solid (<inline-formula id="ieqn-32"><mml:math id="mml-ieqn-32"><mml:mi>&#x03C1;</mml:mi><mml:mo>&#x2248;</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>) or void (<inline-formula id="ieqn-33"><mml:math id="mml-ieqn-33"><mml:mi>&#x03C1;</mml:mi><mml:mo>&#x2248;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>). By extending the optimized density field with an additional layer of virtual elements assigned the value <inline-formula id="ieqn-34"><mml:math id="mml-ieqn-34"><mml:mn>2</mml:mn><mml:mi>&#x03C4;</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>, the scalar values at the two sides of a boundary become <inline-formula id="ieqn-35"><mml:math id="mml-ieqn-35"><mml:msub><mml:mi>v</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula> and <inline-formula id="ieqn-36"><mml:math id="mml-ieqn-36"><mml:msub><mml:mi>v</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn>2</mml:mn><mml:mi>&#x03C4;</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>. Substituting <inline-formula id="ieqn-37"><mml:math id="mml-ieqn-37"><mml:msub><mml:mi>v</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-38"><mml:math id="mml-ieqn-38"><mml:msub><mml:mi>v</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math></inline-formula> into <xref ref-type="disp-formula" rid="eqn-4">Eq. (4)</xref> yields
<disp-formula id="eqn-5"><label>(5)</label><mml:math id="mml-eqn-5" display="block"><mml:mi>s</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:mfrac><mml:mrow><mml:mi>&#x03C4;</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mn>2</mml:mn><mml:mi>&#x03C4;</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mn>2</mml:mn><mml:mi>&#x03C4;</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mfrac><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mi>&#x03C4;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mi>&#x03C4;</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mfrac><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mn>2</mml:mn></mml:mfrac><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p>In this expression, <inline-formula id="ieqn-39"><mml:math id="mml-ieqn-39"><mml:msub><mml:mi>x</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-40"><mml:math id="mml-ieqn-40"><mml:msub><mml:mi>x</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula> denote the locations of the virtual element and the boundary element in the optimized density field, respectively. The term <inline-formula id="ieqn-41"><mml:math id="mml-ieqn-41"><mml:mstyle displaystyle="false" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mn>2</mml:mn></mml:mfrac></mml:mstyle><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> represents the midpoint between the two elements, ensuring that the intersection point is precisely aligned with the boundary of the design domain. As a result, the complete outer boundary can be correctly extracted, as shown in <xref ref-type="fig" rid="fig-3">Fig. 3c</xref>.</p>
<p>In summary, the proposed strategy enables contours extraction at arbitrary iso-density levels within inner hole regions, while guaranteeing accurate alignment with the design domain and continuity of the outer boundary contours.</p>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>Contour Points Smoothing and Filtering</title>
<p>Specifically, consider a two-dimensional sequence of points <inline-formula id="ieqn-42"><mml:math id="mml-ieqn-42"><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold">P</mml:mtext></mml:mrow><mml:mi>i</mml:mi></mml:msub><mml:msubsup><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> associated with a given contour, where <inline-formula id="ieqn-43"><mml:math id="mml-ieqn-43"><mml:msub><mml:mrow><mml:mtext mathvariant="bold">P</mml:mtext></mml:mrow><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. To smooth the boundary point sequence, a sliding window of size <inline-formula id="ieqn-44"><mml:math id="mml-ieqn-44"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is introduced. The two endpoints are excluded from the smoothing process and retain their original positions, i.e., <inline-formula id="ieqn-45"><mml:math id="mml-ieqn-45"><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">P</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold">P</mml:mtext></mml:mrow><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula> for <inline-formula id="ieqn-46"><mml:math id="mml-ieqn-46"><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula> and <inline-formula id="ieqn-47"><mml:math id="mml-ieqn-47"><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mi>N</mml:mi></mml:math></inline-formula>, where <inline-formula id="ieqn-48"><mml:math id="mml-ieqn-48"><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">P</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula> denotes the smoothed point. All remaining boundary points are smoothed using a local mean filter strategy to suppress geometric noise
<disp-formula id="eqn-6"><label>(6)</label><mml:math id="mml-eqn-6" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">P</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mi>W</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:mrow></mml:mfrac><mml:munder><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msub><mml:mi>W</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:munder><mml:msub><mml:mrow><mml:mtext mathvariant="bold">P</mml:mtext></mml:mrow><mml:mi>j</mml:mi></mml:msub><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:msub><mml:mi>W</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mo movablelimits="true" form="prefix">max</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mrow><mml:mo>{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mo>&#x230A;</mml:mo><mml:mfrac><mml:msub><mml:mi>N</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mn>2</mml:mn></mml:mfrac><mml:mo>&#x230B;</mml:mo></mml:mrow><mml:mo>}</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo movablelimits="true" form="prefix">min</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mrow><mml:mo>{</mml:mo><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mrow><mml:mo>&#x230A;</mml:mo><mml:mfrac><mml:msub><mml:mi>N</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mn>2</mml:mn></mml:mfrac><mml:mo>&#x230B;</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>}</mml:mo></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>where <inline-formula id="ieqn-49"><mml:math id="mml-ieqn-49"><mml:msub><mml:mi>W</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula> denotes the index range of the sliding window and <inline-formula id="ieqn-50"><mml:math id="mml-ieqn-50"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mi>W</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula> is its cardinality. After the points are smoothed, a filtering strategy is further applied to reduce the number of points. Starting from the first point, subsequent points are retained only if their distance from the previously retained one is not smaller than the filter radius <inline-formula id="ieqn-51"><mml:math id="mml-ieqn-51"><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. In contrast, the outer contour undergoes smoothing only, without applying the distance-based filtering, which results in a relatively dense point distribution to ensure higher geometric fidelity for interpolation.</p>
</sec>
<sec id="s3_3">
<label>3.3</label>
<title>Contour Points Interpolation</title>
<p>In this study, a NURBS interpolation method based on global geometric constraints [<xref ref-type="bibr" rid="ref-37">37</xref>] is employed to reconstruct the preprocessed contour points into smooth, explicitly parameterized boundary representations that are well suited for shape optimization and CAD-based design operations. Given a set of points <inline-formula id="ieqn-52"><mml:math id="mml-ieqn-52"><mml:msub><mml:mrow><mml:mtext mathvariant="bold">P</mml:mtext></mml:mrow><mml:mi>i</mml:mi></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="double-struck">R</mml:mi></mml:mrow><mml:mn>2</mml:mn></mml:msup></mml:math></inline-formula> <inline-formula id="ieqn-53"><mml:math id="mml-ieqn-53"><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>N</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, a <inline-formula id="ieqn-54"><mml:math id="mml-ieqn-54"><mml:mi>p</mml:mi></mml:math></inline-formula>-degree NURBS curve is constructed through three standard steps. The resulting NURBS curve is expressed as
<disp-formula id="eqn-7"><label>(7)</label><mml:math id="mml-eqn-7" display="block"><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>u</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>u</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mrow><mml:mtext mathvariant="bold">Q</mml:mtext></mml:mrow><mml:mi>j</mml:mi></mml:msub><mml:mo>,</mml:mo></mml:math></disp-formula>where <inline-formula id="ieqn-55"><mml:math id="mml-ieqn-55"><mml:msub><mml:mrow><mml:mtext mathvariant="bold">Q</mml:mtext></mml:mrow><mml:mi>j</mml:mi></mml:msub></mml:math></inline-formula> denote the control point to be determined, and <inline-formula id="ieqn-56"><mml:math id="mml-ieqn-56"><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>u</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> are the <inline-formula id="ieqn-57"><mml:math id="mml-ieqn-57"><mml:mi>p</mml:mi></mml:math></inline-formula>-degree NURBS basis functions defined over the knot vector <inline-formula id="ieqn-58"><mml:math id="mml-ieqn-58"><mml:mo stretchy="false">[</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mi>m</mml:mi></mml:msub><mml:mo stretchy="false">]</mml:mo></mml:math></inline-formula>. This formulation exactly interpolates the point sequence by solving a system of linear equations.</p>
<p>In the first step, a parameter value <inline-formula id="ieqn-59"><mml:math id="mml-ieqn-59"><mml:msub><mml:mi>u</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula> is assigned to each data point <inline-formula id="ieqn-60"><mml:math id="mml-ieqn-60"><mml:msub><mml:mrow><mml:mtext mathvariant="bold">P</mml:mtext></mml:mrow><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula>, thereby establishing a correspondence between the point sequence and the parameter domain. The parameter values are computed using a chord-length-based scheme,
<disp-formula id="eqn-8"><label>(8)</label><mml:math id="mml-eqn-8" display="block"><mml:msub><mml:mi>u</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false"><mml:mtr><mml:mtd><mml:mn>0</mml:mn><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mo fence="false" stretchy="false">&#x007C;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold">P</mml:mtext></mml:mrow><mml:mi>i</mml:mi></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold">P</mml:mtext></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">&#x007C;</mml:mo></mml:mrow><mml:mrow><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:munderover><mml:mo fence="false" stretchy="false">&#x007C;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold">P</mml:mtext></mml:mrow><mml:mi>j</mml:mi></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold">P</mml:mtext></mml:mrow><mml:mrow><mml:mi>j</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">&#x007C;</mml:mo></mml:mrow></mml:mfrac><mml:mo>,</mml:mo></mml:mstyle></mml:mtd><mml:mtd><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>N</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>1</mml:mn><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mi>N</mml:mi><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math></disp-formula>and are subsequently normalized to the interval <inline-formula id="ieqn-61"><mml:math id="mml-ieqn-61"><mml:mo stretchy="false">[</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">]</mml:mo></mml:math></inline-formula>.</p>
<p>In the second step, the knot vector is constructed using the averaging method. With end knots of multiplicity <inline-formula id="ieqn-62"><mml:math id="mml-ieqn-62"><mml:mi>p</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>, the total number of knots is given by <inline-formula id="ieqn-63"><mml:math id="mml-ieqn-63"><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mi>N</mml:mi><mml:mo>+</mml:mo><mml:mi>p</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn></mml:math></inline-formula>, and the internal knots are defined as
<disp-formula id="eqn-9"><label>(9)</label><mml:math id="mml-eqn-9" display="block"><mml:msub><mml:mi>u</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false"><mml:mtr><mml:mtd><mml:mn>0</mml:mn><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>p</mml:mi><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mi>p</mml:mi></mml:mfrac><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mi>u</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>,</mml:mo></mml:mstyle></mml:mtd><mml:mtd><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mi>p</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>m</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>p</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>1</mml:mn><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mi>m</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>p</mml:mi><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>m</mml:mi><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>In the final step, the control points are determined by enforcing the interpolation conditions <inline-formula id="ieqn-64"><mml:math id="mml-ieqn-64"><mml:mrow><mml:mtext mathvariant="bold">C</mml:mtext></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold">P</mml:mtext></mml:mrow><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula>, which leads to the following linear system
<disp-formula id="eqn-10"><label>(10)</label><mml:math id="mml-eqn-10" display="block"><mml:mrow><mml:mtext mathvariant="bold">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="bold">Q</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mtext mathvariant="bold">P</mml:mtext></mml:mrow><mml:mo>,</mml:mo></mml:math></disp-formula>where <inline-formula id="ieqn-65"><mml:math id="mml-ieqn-65"><mml:msub><mml:mrow><mml:mtext mathvariant="bold">A</mml:mtext></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is the coefficient matrix, <inline-formula id="ieqn-66"><mml:math id="mml-ieqn-66"><mml:mrow><mml:mtext mathvariant="bold">Q</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold">Q</mml:mtext></mml:mrow><mml:mn>0</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold">Q</mml:mtext></mml:mrow><mml:mi>N</mml:mi></mml:msub><mml:msup><mml:mo stretchy="false">]</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">T</mml:mi></mml:mrow></mml:mrow></mml:msup></mml:math></inline-formula> is the control point vector and <inline-formula id="ieqn-67"><mml:math id="mml-ieqn-67"><mml:mrow><mml:mtext mathvariant="bold">P</mml:mtext></mml:mrow></mml:math></inline-formula> are the points for interpolation. Solving this system yields a uniquely determined set of control points, resulting in a smooth curve with <inline-formula id="ieqn-68"><mml:math id="mml-ieqn-68"><mml:msup><mml:mi>C</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> continuity.</p>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>Shape Optimization</title>
<p>Since the geometry reconstruction procedure is sensitive to user-defined parameters such as the extraction threshold <inline-formula id="ieqn-69"><mml:math id="mml-ieqn-69"><mml:mi>&#x03C4;</mml:mi></mml:math></inline-formula>, the smoothing window size <inline-formula id="ieqn-70"><mml:math id="mml-ieqn-70"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, and the filtering radius <inline-formula id="ieqn-71"><mml:math id="mml-ieqn-71"><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, the selection of these parameters does not explicitly account for structural mechanical performance. As a result, the mechanical performance of the reconstructed geometry may deviate from the volume fraction and the compliance obtained by the topology optimization, thereby motivating the shape optimization step to recover mechanical performance. Moreover, because the structural topology has already been established during the topology optimization stage, preserving topological homeomorphism [<xref ref-type="bibr" rid="ref-38">38</xref>], which maintains connectivity and branching characteristics under continuous geometric evolution, becomes a key requirement to ensure consistency between the optimized shape and the underlying topology.</p>
<sec id="s4_1">
<label>4.1</label>
<title>Optimization Formula and Design Variables</title>
<p>As shown in <xref ref-type="fig" rid="fig-4">Fig. 4</xref>, the design domain in the shape optimization stage is defined as the area enclosed by the outer boundary, while the solid domain is obtained through a Boolean operation between the design domain and the void domain. The shape optimization problem is formulated as<disp-formula id="eqn-11"><label>(11)</label><mml:math id="mml-eqn-11" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:mrow><mml:mtext>Find:</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /></mml:mtd><mml:mtd><mml:mspace width="1em" /><mml:mi mathvariant="bold-italic">r</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mi>m</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="double-struck">R</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mtext>min:</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /></mml:mtd><mml:mtd><mml:mspace width="1em" /><mml:mi>C</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mtext mathvariant="bold">F</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mrow><mml:mtext mathvariant="bold">U</mml:mtext></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mtext>s.t.</mml:mtext></mml:mrow></mml:mtd><mml:mtd><mml:mspace width="1em" /><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mrow><mml:mtext mathvariant="bold">K</mml:mtext></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="bold-italic">r</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mtext mathvariant="bold">U</mml:mtext></mml:mrow></mml:mtd><mml:mtd><mml:mo>=</mml:mo><mml:mrow><mml:mtext mathvariant="bold">F</mml:mtext></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mfrac><mml:mrow><mml:mi>V</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="bold-italic">r</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:msub><mml:mi>V</mml:mi><mml:mn>0</mml:mn></mml:msub></mml:mfrac></mml:mtd><mml:mtd><mml:mo>&#x2264;</mml:mo><mml:mrow><mml:mover><mml:mi>V</mml:mi><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mo>.</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>&#x03B4;</mml:mi><mml:mo>=</mml:mo><mml:mn>0.</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<fig id="fig-4">
<label>Figure 4</label>
<caption>
<title>Structural shape generation via Boolean subtraction of inner holes from the design domain.</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_79578-fig-4.tif"/>
</fig>
<p>Compared with the topology optimization formulation in <xref ref-type="disp-formula" rid="eqn-1">Eq. (1)</xref>, both problems share the same objective of minimizing structural compliance. However, the design variables are changed from the element density <inline-formula id="ieqn-72"><mml:math id="mml-ieqn-72"><mml:mi mathvariant="bold-italic">&#x03C1;</mml:mi></mml:math></inline-formula> to the polar radius vector <inline-formula id="ieqn-73"><mml:math id="mml-ieqn-73"><mml:mi mathvariant="bold-italic">r</mml:mi></mml:math></inline-formula> of the inner boundary control points. In addition to the volume fraction constraint, a topological homeomorphism constraint defined by <inline-formula id="ieqn-74"><mml:math id="mml-ieqn-74"><mml:mi>&#x03B4;</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula> is imposed to preserve topological equivalence, which will be discussed in <xref ref-type="sec" rid="s4_3">Section 4.3</xref>.</p>
<p>Taking the contour in <xref ref-type="fig" rid="fig-5">Fig. 5a</xref> as an example, boundary self-intersection may arise during shape optimization if the control points are directly manipulated in Cartesian coordinates, as shown in <xref ref-type="fig" rid="fig-5">Fig. 5b</xref>. To avoid this issue, the Cartesian coordinates are transformed into polar coordinates according to<disp-formula id="eqn-12"><label>(12)</label><mml:math id="mml-eqn-12" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msqrt><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mn>2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mn>2</mml:mn></mml:msup></mml:msqrt><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi>atan2</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>as illustrated in <xref ref-type="fig" rid="fig-5">Fig. 5c</xref>. Here, <inline-formula id="ieqn-75"><mml:math id="mml-ieqn-75"><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> denote the Cartesian coordinates of the control points, while
<disp-formula id="eqn-13"><label>(13)</label><mml:math id="mml-eqn-13" display="block"><mml:msub><mml:mi>x</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>n</mml:mi></mml:mfrac><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mspace width="2em" /><mml:msub><mml:mi>y</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>n</mml:mi></mml:mfrac><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>,</mml:mo></mml:math></disp-formula>denote the geometric center of the control points for a single contour. The function <inline-formula id="ieqn-76"><mml:math id="mml-ieqn-76"><mml:mi>atan2</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mo>,</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> represents the four-quadrant inverse tangent. To ensure consistency in the angular representation, the angle <inline-formula id="ieqn-77"><mml:math id="mml-ieqn-77"><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula> is normalized to the interval <inline-formula id="ieqn-78"><mml:math id="mml-ieqn-78"><mml:mo stretchy="false">[</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mi>&#x03C0;</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> as
<disp-formula id="eqn-14"><label>(14)</label><mml:math id="mml-eqn-14" display="block"><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">&#x2190;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mn>2</mml:mn><mml:mi>&#x03C0;</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mn>2</mml:mn><mml:mi>&#x03C0;</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<fig id="fig-5">
<label>Figure 5</label>
<caption>
<title>Polar radius-based design variables. (<bold>a</bold>) Cartesian coordinates; (<bold>b</bold>) Self-intersection; (<bold>c</bold>) Polar coordinates; (<bold>d</bold>) Shape adjustments.</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_79578-fig-5.tif"/>
</fig>
<p>Thus, the control points can be represented by the triplet
<disp-formula id="eqn-15"><label>(15)</label><mml:math id="mml-eqn-15" display="block"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#xA0;</mml:mtext><mml:msub><mml:mi>y</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#xA0;</mml:mtext><mml:msubsup><mml:mrow><mml:mo>{</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#xA0;</mml:mtext><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>}</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p>The polar radii of all holes are then assembled to form the design variable vector <inline-formula id="ieqn-79"><mml:math id="mml-ieqn-79"><mml:mi mathvariant="bold-italic">r</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mi>m</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="double-struck">R</mml:mi></mml:mrow><mml:mi>m</mml:mi></mml:msup></mml:math></inline-formula>, thereby restricting the movement of each control point to its radial direction. <xref ref-type="fig" rid="fig-5">Fig. 5d</xref> demonstrates the effectiveness of this approach in enabling shape adjustments while preventing boundary self-intersection.</p>
</sec>
<sec id="s4_2">
<label>4.2</label>
<title>Level Set Function and FG-FEM</title>
<p>The optimization objective <italic>C</italic> is solved using finite element method, frequent remeshing of the grids following each geometric update would significantly reduce computational efficiency and pose considerable implementation challenges. Therefore, FG-FEM is adopted for structural response analysis. In this approach, the structure is represented using a level set function (LSF) <inline-formula id="ieqn-80"><mml:math id="mml-ieqn-80"><mml:mrow><mml:mi>&#x03A6;</mml:mi></mml:mrow></mml:math></inline-formula>, which links the geometric description with the analysis model. A LSF is introduced over the design domain <inline-formula id="ieqn-81"><mml:math id="mml-ieqn-81"><mml:mrow><mml:mi>&#x03A9;</mml:mi></mml:mrow><mml:mo>&#x2282;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="double-struck">R</mml:mi></mml:mrow><mml:mi>d</mml:mi></mml:msup></mml:math></inline-formula> (<inline-formula id="ieqn-82"><mml:math id="mml-ieqn-82"><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:mn>2</mml:mn></mml:math></inline-formula>), defined as
<disp-formula id="eqn-16"><label>(16)</label><mml:math id="mml-eqn-16" display="block"><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left left left left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>&#x03A6;</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi>&#x03A9;</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mrow><mml:mi>&#x03A9;</mml:mi></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>&#x03A6;</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi>&#x03A9;</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x003E;</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:mi>&#x03A9;</mml:mi></mml:mrow><mml:mo>&#x2216;</mml:mo><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mrow><mml:mi>&#x03A9;</mml:mi></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>&#x03A6;</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi>&#x03A9;</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x003C;</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>D</mml:mi><mml:mo>&#x2216;</mml:mo><mml:mrow><mml:mi>&#x03A9;</mml:mi></mml:mrow><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>Here, <inline-formula id="ieqn-83"><mml:math id="mml-ieqn-83"><mml:mi mathvariant="bold-italic">x</mml:mi></mml:math></inline-formula> denotes an arbitrary point in space, and the structural boundary <inline-formula id="ieqn-84"><mml:math id="mml-ieqn-84"><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mrow><mml:mi>&#x03A9;</mml:mi></mml:mrow></mml:math></inline-formula> is defined as the zero level set of <inline-formula id="ieqn-85"><mml:math id="mml-ieqn-85"><mml:msub><mml:mrow><mml:mi>&#x03A6;</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x03A9;</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. A positive value of <inline-formula id="ieqn-86"><mml:math id="mml-ieqn-86"><mml:msub><mml:mrow><mml:mi>&#x03A6;</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x03A9;</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> indicates that the point lies inside the solid domain, whereas a negative value corresponds to the void domain. The corresponding composite LSF of the solid domain is defined as
<disp-formula id="eqn-17"><label>(17)</label><mml:math id="mml-eqn-17" display="block"><mml:msub><mml:mrow><mml:mi>&#x03A6;</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x03A9;</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mo movablelimits="true" form="prefix">min</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msubsup><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:msub><mml:mi>&#x03C6;</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mo>}</mml:mo></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>v</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mrow><mml:msub><mml:mi>&#x03A6;</mml:mi><mml:mi>D</mml:mi></mml:msub></mml:mrow><mml:mo>}</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:math></disp-formula>where <inline-formula id="ieqn-87"><mml:math id="mml-ieqn-87"><mml:msub><mml:mi>N</mml:mi><mml:mi>v</mml:mi></mml:msub></mml:math></inline-formula> denotes the number of inner holes, with <inline-formula id="ieqn-88"><mml:math id="mml-ieqn-88"><mml:msub><mml:mi>&#x03C6;</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-89"><mml:math id="mml-ieqn-89"><mml:mrow><mml:msub><mml:mi>&#x03A6;</mml:mi><mml:mi>D</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> representing the LSFs of the void domain and the design domain, respectively. The construction of the corresponding LSFs is described sequentially.</p>
<sec id="s4_2_1">
<label>4.2.1</label>
<title>LSF for Void Domain and FG-FEM</title>
<p>For an arbitrary point <inline-formula id="ieqn-90"><mml:math id="mml-ieqn-90"><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, its polar coordinates <inline-formula id="ieqn-91"><mml:math id="mml-ieqn-91"><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B8;</mml:mi><mml:mo>,</mml:mo><mml:mi>r</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> with respect to the geometric center <inline-formula id="ieqn-92"><mml:math id="mml-ieqn-92"><mml:mrow><mml:mtext mathvariant="bold">c</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> of the closed contour are defined as
<disp-formula id="eqn-18"><label>(18)</label><mml:math id="mml-eqn-18" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mi>r</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msqrt><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mi>y</mml:mi><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:msup></mml:msqrt><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x03B8;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mi>atan2</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>y</mml:mi><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi>x</mml:mi><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>The radial distance from the boundary to the center at a given polar angle <inline-formula id="ieqn-93"><mml:math id="mml-ieqn-93"><mml:mi>&#x03B8;</mml:mi></mml:math></inline-formula> is denoted by <inline-formula id="ieqn-94"><mml:math id="mml-ieqn-94"><mml:mi>R</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B8;</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. This function is obtained by sampling discrete points along the boundary, computing their corresponding polar angles and radii, and fitting the resulting data using a univariate spline function
<disp-formula id="eqn-19"><label>(19)</label><mml:math id="mml-eqn-19" display="block"><mml:mi>R</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B8;</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mi>&#x1D4AE;</mml:mi></mml:mrow><mml:mstyle scriptlevel="0"><mml:mrow><mml:mo maxsize="1.2em" minsize="1.2em">(</mml:mo></mml:mrow></mml:mstyle><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msubsup><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msubsup><mml:mstyle scriptlevel="0"><mml:mrow><mml:mo maxsize="1.2em" minsize="1.2em">)</mml:mo></mml:mrow></mml:mstyle><mml:mo>,</mml:mo></mml:math></disp-formula>where <inline-formula id="ieqn-95"><mml:math id="mml-ieqn-95"><mml:mrow><mml:mi>&#x1D4AE;</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> denotes a univariate spline interpolation operator, and <inline-formula id="ieqn-96"><mml:math id="mml-ieqn-96"><mml:mi>n</mml:mi></mml:math></inline-formula> denotes the total number of sampled boundary points. The fitted function <inline-formula id="ieqn-97"><mml:math id="mml-ieqn-97"><mml:mi>R</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B8;</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is illustrated in <xref ref-type="fig" rid="fig-6">Fig. 6a</xref>, based on which the LSF <inline-formula id="ieqn-98"><mml:math id="mml-ieqn-98"><mml:msub><mml:mi>&#x03C6;</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> of the boundary is defined as<disp-formula id="eqn-20"><label>(20)</label><mml:math id="mml-eqn-20" display="block"><mml:msub><mml:mi>&#x03C6;</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mi>r</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>R</mml:mi><mml:mstyle scriptlevel="0"><mml:mrow><mml:mo maxsize="1.2em" minsize="1.2em">(</mml:mo></mml:mrow></mml:mstyle><mml:mi>&#x03B8;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mstyle scriptlevel="0"><mml:mrow><mml:mo maxsize="1.2em" minsize="1.2em">)</mml:mo></mml:mrow></mml:mstyle><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<fig id="fig-6">
<label>Figure 6</label>
<caption>
<title>LSF representation and region classification. (<bold>a</bold>) Polar-radius function <inline-formula id="ieqn-99"><mml:math id="mml-ieqn-99"><mml:mi>R</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B8;</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>; (<bold>b</bold>) LSF values; (<bold>c</bold>) Categorized regions.</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_79578-fig-6.tif"/>
</fig>
<p>The resulting LSF values are illustrated in <xref ref-type="fig" rid="fig-6">Fig. 6b</xref>.</p>
<p>According to the relative positions to the boundary, the elements are classified into three categories, as illustrated in <xref ref-type="fig" rid="fig-6">Fig. 6c</xref>. To determine the material distribution on the fixed grid, the LSF is projected using a regularized Heaviside function, yielding the effective material indicator
<disp-formula id="eqn-21"><label>(21)</label><mml:math id="mml-eqn-21" display="block"><mml:mi>H</mml:mi><mml:mspace width="negativethinmathspace" /><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x03A6;</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x03A9;</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false"><mml:mtr><mml:mtd><mml:mn>1</mml:mn><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x03A6;</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x03A9;</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x003E;</mml:mo><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mn>3</mml:mn><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mi>&#x03BB;</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mn>4</mml:mn></mml:mfrac><mml:mrow><mml:mo>(</mml:mo><mml:mfrac><mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x03A6;</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x03A9;</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi></mml:mrow></mml:mfrac><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:msubsup><mml:mrow><mml:mi mathvariant="normal">&#x03A6;</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x03A9;</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msubsup><mml:mrow><mml:mn>3</mml:mn><mml:msup><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:mi>&#x03BB;</mml:mi></mml:mrow><mml:mn>2</mml:mn></mml:mfrac><mml:mo>,</mml:mo></mml:mstyle></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi></mml:mrow><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x03A6;</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x03A9;</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>&#x03BB;</mml:mi><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x03A6;</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x03A9;</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x003C;</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi></mml:mrow><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>The corresponding function profile is shown in <xref ref-type="fig" rid="fig-7">Fig. 7a</xref>, where <inline-formula id="ieqn-100"><mml:math id="mml-ieqn-100"><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi></mml:mrow></mml:math></inline-formula> denotes the width of the transition zone and <inline-formula id="ieqn-101"><mml:math id="mml-ieqn-101"><mml:mi>&#x03BB;</mml:mi></mml:math></inline-formula> represents the minimum relative density, which is assigned as 0.001 to prevent singularity of the stiffness matrix. By substituting <inline-formula id="ieqn-102"><mml:math id="mml-ieqn-102"><mml:mi>&#x03C6;</mml:mi></mml:math></inline-formula> into the regularized Heaviside function, the projected LSF values are obtained, as shown in <xref ref-type="fig" rid="fig-7">Fig. 7b</xref>. Subsequently, the equivalent density of each quadrilateral element is computed as the average of the projected LSF values at its nodes, given by<disp-formula id="eqn-22"><label>(22)</label><mml:math id="mml-eqn-22" display="block"><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mi>e</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mn>4</mml:mn></mml:mfrac><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mn>4</mml:mn></mml:munderover><mml:mi>H</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x03A6;</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x03A9;</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>n</mml:mi><mml:mi>e</mml:mi></mml:msubsup><mml:mo>)</mml:mo></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:math></disp-formula>where <inline-formula id="ieqn-103"><mml:math id="mml-ieqn-103"><mml:msubsup><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>n</mml:mi><mml:mi>e</mml:mi></mml:msubsup></mml:math></inline-formula> denotes the coordinates of the <inline-formula id="ieqn-104"><mml:math id="mml-ieqn-104"><mml:mi>n</mml:mi></mml:math></inline-formula>-th node of the <inline-formula id="ieqn-105"><mml:math id="mml-ieqn-105"><mml:mi>e</mml:mi></mml:math></inline-formula>-th element. The resulting element density field is illustrated in <xref ref-type="fig" rid="fig-7">Fig. 7c</xref>. Accordingly, the structural volume defined in <xref ref-type="disp-formula" rid="eqn-11">Eq. (11)</xref> is evaluated by summing the densities of all elements
<disp-formula id="eqn-23"><label>(23)</label><mml:math id="mml-eqn-23" display="block"><mml:mi>V</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="bold-italic">r</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>e</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>e</mml:mi></mml:msub></mml:mrow></mml:munderover><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mi>e</mml:mi></mml:msub><mml:mo>,</mml:mo></mml:math></disp-formula>where <inline-formula id="ieqn-106"><mml:math id="mml-ieqn-106"><mml:msub><mml:mi>N</mml:mi><mml:mi>e</mml:mi></mml:msub></mml:math></inline-formula> denotes the total number of elements.</p>
<fig id="fig-7">
<label>Figure 7</label>
<caption>
<title>Heaviside projection and resulting density field. (<bold>a</bold>) Heaviside function profile; (<bold>b</bold>) Projected LSF values; (<bold>c</bold>) Density field.</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_79578-fig-7.tif"/>
</fig>
<p>Finally, by incorporating the SIMP material interpolation scheme given in <xref ref-type="disp-formula" rid="eqn-2">Eq. (2)</xref>, the equivalent elastic modulus of each element and the corresponding stiffness matrix are computed, thereby completing the transformation from the geometric model to the finite element analysis model for structural compliance evaluation.</p>
</sec>
<sec id="s4_2_2">
<label>4.2.2</label>
<title>LSF for the Design Domain</title>
<p>Since the outer contours of topology optimization results are generally non-star-shaped [<xref ref-type="bibr" rid="ref-39">39</xref>], the formulation of <xref ref-type="disp-formula" rid="eqn-19">Eq. (19)</xref> cannot be directly realized, as non-star-shaped geometries do not admit a unique mapping between the polar angle <inline-formula id="ieqn-107"><mml:math id="mml-ieqn-107"><mml:mi>&#x03B8;</mml:mi></mml:math></inline-formula> and the radial distance <inline-formula id="ieqn-108"><mml:math id="mml-ieqn-108"><mml:mi>r</mml:mi></mml:math></inline-formula>, with a given angle intersecting the boundary at multiple points. Consequently, the polar-radius parameterization introduced in <xref ref-type="sec" rid="s4_1">Section 4.1</xref> is no longer applicable for representing such outer contours. Therefore, to enhance the generality and robustness in handling outer contours, this study proposes a sign&#x2013;distance decoupled strategy, in which the LSF value at a point is decomposed into two independent components, namely a sign component and a magnitude component. The sign of the LSF reflects whether the point is located inside or outside the boundary, and the magnitude corresponds to the distance from the point to the boundary. Based on this decomposition, the inside&#x2013;outside relationship and the distance of a point to a boundary are evaluated in a decoupled manner. Specifically, the sign of the LSF at a grid node is determined using the winding number method [<xref ref-type="bibr" rid="ref-40">40</xref>], while the distance is computed through a geometric projection onto the boundary. This strategy avoids the limitations of polar representations and enables reliable treatment of non-star-shaped outer boundaries. <xref ref-type="fig" rid="fig-8">Fig. 8</xref> illustrates a representative classification example for fixed grid nodes based on the proposed decoupled strategy. The sign field, shown in <xref ref-type="fig" rid="fig-8">Fig. 8a</xref>, indicates the inside&#x2013;outside relationship of nodes with respect to the outer boundary. The corresponding distance field is presented in <xref ref-type="fig" rid="fig-8">Fig. 8b</xref>. Owing to the use of the Heaviside projection in <xref ref-type="disp-formula" rid="eqn-21">Eq. (21)</xref>, distance calculations are restricted to the nodes located within the width <inline-formula id="ieqn-109"><mml:math id="mml-ieqn-109"><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi></mml:mrow></mml:math></inline-formula> to the boundary, while nodes far from the contour are directly assigned a value of <inline-formula id="ieqn-110"><mml:math id="mml-ieqn-110"><mml:mn>1</mml:mn></mml:math></inline-formula>. This localized distance evaluation significantly reduces the computational cost without compromising the accuracy of the LSF near the boundary.</p>
<fig id="fig-8">
<label>Figure 8</label>
<caption>
<title>Computed results of the sign field and distance field. (<bold>a</bold>) Sign field; (<bold>b</bold>) Distance field.</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_79578-fig-8.tif"/>
</fig>
<p>Following this decomposition, the sign field and the distance field are multiplied pointwise to construct <inline-formula id="ieqn-111"><mml:math id="mml-ieqn-111"><mml:mrow><mml:msub><mml:mi mathvariant="normal">&#x03A6;</mml:mi><mml:mi>D</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> associated with the design domain. The resulting <inline-formula id="ieqn-112"><mml:math id="mml-ieqn-112"><mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x03A6;</mml:mi></mml:mrow><mml:mi>D</mml:mi></mml:msub></mml:math></inline-formula> is then combined with the <inline-formula id="ieqn-113"><mml:math id="mml-ieqn-113"><mml:msub><mml:mi>&#x03C6;</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:math></inline-formula> terms associated with all inner holes and incorporated into <xref ref-type="disp-formula" rid="eqn-17">Eq. (17)</xref>, yielding <inline-formula id="ieqn-114"><mml:math id="mml-ieqn-114"><mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x03A6;</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x03A9;</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> for the solid domain.</p>
</sec>
</sec>
<sec id="s4_3">
<label>4.3</label>
<title>Topological Homeomorphism Constraints</title>
<p>In the optimization model, the minimum distance required to prevent interference between adjacent holes cannot be prescribed a priori. Consequently, directly imposing simple bound constraints <inline-formula id="ieqn-115"><mml:math id="mml-ieqn-115"><mml:mo stretchy="false">[</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">min</mml:mo></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">max</mml:mo></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo></mml:math></inline-formula> on design variables would restrict the feasible design space and result in overly conservative design limits. To address this issue, an interference detection and elimination strategy is proposed, in which potential boundary interference during geometric evolution is quantitatively identified and resolved, thereby enforcing the topological homeomorphism constraint while allowing full exploration of high-performance structural shapes.</p>
<p>Building on the FG-FEM, consider a domain discretized into <inline-formula id="ieqn-116"><mml:math id="mml-ieqn-116"><mml:msub><mml:mi>N</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:msub><mml:mi>N</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:math></inline-formula> finite elements. Let <inline-formula id="ieqn-117"><mml:math id="mml-ieqn-117"><mml:msub><mml:mi>&#x03C6;</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:math></inline-formula> denote the LSF associated with the <inline-formula id="ieqn-118"><mml:math id="mml-ieqn-118"><mml:mi>k</mml:mi></mml:math></inline-formula>-th hole, constructed from the boundary curve <inline-formula id="ieqn-119"><mml:math id="mml-ieqn-119"><mml:msub><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:math></inline-formula> and evaluated at an arbitrary grid node <inline-formula id="ieqn-120"><mml:math id="mml-ieqn-120"><mml:mo stretchy="false">(</mml:mo><mml:mi>X</mml:mi><mml:mo>,</mml:mo><mml:mi>Y</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. According to <xref ref-type="disp-formula" rid="eqn-20">Eq. (20)</xref>, <inline-formula id="ieqn-121"><mml:math id="mml-ieqn-121"><mml:msub><mml:mi>&#x03C6;</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>X</mml:mi><mml:mo>,</mml:mo><mml:mi>Y</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x003C;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula> if and only if the node lies inside <inline-formula id="ieqn-122"><mml:math id="mml-ieqn-122"><mml:msub><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:math></inline-formula>. The values of the LSFs for <inline-formula id="ieqn-123"><mml:math id="mml-ieqn-123"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>v</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> holes evaluated on the discretized grid nodes are stored in a three-dimensional array <inline-formula id="ieqn-124"><mml:math id="mml-ieqn-124"><mml:mi mathvariant="bold-italic">&#x03C6;</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="double-struck">R</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>N</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x00D7;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>N</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x00D7;</mml:mo><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>v</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:msup></mml:math></inline-formula>, such that
<disp-formula id="eqn-24"><label>(24)</label><mml:math id="mml-eqn-24" display="block"><mml:msub><mml:mi mathvariant="bold-italic">&#x03C6;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>&#x03C6;</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>X</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>N</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>N</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>v</mml:mi></mml:msub></mml:mrow></mml:mrow><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p>The coverage multiplicity <inline-formula id="ieqn-125"><mml:math id="mml-ieqn-125"><mml:mi>&#x03C7;</mml:mi></mml:math></inline-formula> on the grid node <inline-formula id="ieqn-126"><mml:math id="mml-ieqn-126"><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>X</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is then defined as
<disp-formula id="eqn-25"><label>(25)</label><mml:math id="mml-eqn-25" display="block"><mml:msub><mml:mi>&#x03C7;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>v</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:munderover><mml:mi>I</mml:mi><mml:mspace width="negativethinmathspace" /><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">&#x03C6;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>&#x003C;</mml:mo><mml:mn>0</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:math></disp-formula>where <inline-formula id="ieqn-127"><mml:math id="mml-ieqn-127"><mml:mi>I</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> denotes the indicator function. A value <inline-formula id="ieqn-128"><mml:math id="mml-ieqn-128"><mml:msub><mml:mi>&#x03C7;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2265;</mml:mo><mml:mn>2</mml:mn></mml:math></inline-formula> means that the node is simultaneously covered by at least two holes, signifying the occurrence of geometric interference. The total interference measure, defined in <xref ref-type="disp-formula" rid="eqn-11">Eq. (11)</xref> as the sum of coverage multiplicities over all nodes, is given by
<disp-formula id="eqn-26"><label>(26)</label><mml:math id="mml-eqn-26" display="block"><mml:mi>&#x03B4;</mml:mi><mml:mo>=</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:munderover><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:munderover><mml:msub><mml:mi>&#x03C7;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mspace width="thinmathspace" /><mml:mi>I</mml:mi><mml:mspace width="negativethinmathspace" /><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>&#x03C7;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2265;</mml:mo><mml:mn>2</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p>The quantity <inline-formula id="ieqn-129"><mml:math id="mml-ieqn-129"><mml:mi>&#x03B4;</mml:mi></mml:math></inline-formula> serves as a measure of geometric interference and is employed to guide the interference elimination procedure. Specifically, <inline-formula id="ieqn-130"><mml:math id="mml-ieqn-130"><mml:mi>&#x03B4;</mml:mi><mml:mo>&#x003E;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula> indicates the occurrence of boundary interference, whereas <inline-formula id="ieqn-131"><mml:math id="mml-ieqn-131"><mml:mi>&#x03B4;</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula> indicates that no boundary interference occurs, thereby enforcing the topological homeomorphism constraint throughout the structural evolution process.</p>
<p><xref ref-type="fig" rid="fig-9">Fig. 9</xref> illustrates a representative example in which interference between inner holes violates the topological homeomorphism constraint, together with the corresponding interference elimination process. At the initial phase, geometric interference is detected, with 14 nodes concurrently covered by two holes. During the interference elimination process, the polar radii gradually contract, resulting in a progressive decrease in the interference values. Eventually, the interference is completely eliminated, the polar radii stabilize, and the topological homeomorphism constraint is satisfied (<inline-formula id="ieqn-132"><mml:math id="mml-ieqn-132"><mml:mi>&#x03B4;</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>).</p>
<fig id="fig-9">
<label>Figure 9</label>
<caption>
<title>Topological homeomorphism constraints and interference handling.</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_79578-fig-9.tif"/>
</fig>
</sec>
<sec id="s4_4">
<label>4.4</label>
<title>Sensitivity Analysis</title>
<p>The sensitivity of the compliance with respect to the design variable <inline-formula id="ieqn-133"><mml:math id="mml-ieqn-133"><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula> is derived as
<disp-formula id="eqn-27"><label>(27)</label><mml:math id="mml-eqn-27" display="block"><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msup><mml:mrow><mml:mtext mathvariant="bold">F</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac><mml:mrow><mml:mtext mathvariant="bold">U</mml:mtext></mml:mrow><mml:mo>+</mml:mo><mml:msup><mml:mrow><mml:mtext mathvariant="bold">F</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mrow><mml:mtext mathvariant="bold">U</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p>Since the external load <inline-formula id="ieqn-134"><mml:math id="mml-ieqn-134"><mml:mrow><mml:mtext mathvariant="bold">F</mml:mtext></mml:mrow></mml:math></inline-formula> is independent of the design variables, and recalling the equilibrium equation <inline-formula id="ieqn-135"><mml:math id="mml-ieqn-135"><mml:mrow><mml:mtext mathvariant="bold">K</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="bold">U</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mtext mathvariant="bold">F</mml:mtext></mml:mrow></mml:math></inline-formula>, differentiation with respect to <inline-formula id="ieqn-136"><mml:math id="mml-ieqn-136"><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula> yields
<disp-formula id="eqn-28"><label>(28)</label><mml:math id="mml-eqn-28" display="block"><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mrow><mml:mtext mathvariant="bold">K</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac><mml:mrow><mml:mtext mathvariant="bold">U</mml:mtext></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:mtext mathvariant="bold">K</mml:mtext></mml:mrow><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mrow><mml:mtext mathvariant="bold">U</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mrow><mml:mtext mathvariant="bold">0</mml:mtext></mml:mrow><mml:mo>,</mml:mo></mml:math></disp-formula>from which the displacement sensitivity is obtained as
<disp-formula id="eqn-29"><label>(29)</label><mml:math id="mml-eqn-29" display="block"><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mrow><mml:mtext mathvariant="bold">U</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mrow><mml:mtext mathvariant="bold">K</mml:mtext></mml:mrow><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mrow><mml:mtext mathvariant="bold">K</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac><mml:mrow><mml:mtext mathvariant="bold">U</mml:mtext></mml:mrow><mml:mo>,</mml:mo></mml:math></disp-formula>substituting <xref ref-type="disp-formula" rid="eqn-29">Eqs. (29)</xref> into<xref ref-type="disp-formula" rid="eqn-27"> (27)</xref>, the compliance sensitivity with respect to <inline-formula id="ieqn-137"><mml:math id="mml-ieqn-137"><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula> is obtained as
<disp-formula id="eqn-30"><label>(30)</label><mml:math id="mml-eqn-30" display="block"><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mtext mathvariant="bold">F</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mrow><mml:mtext mathvariant="bold">U</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mrow><mml:mtext mathvariant="bold">U</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mrow><mml:mtext mathvariant="bold">K</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac><mml:mrow><mml:mtext mathvariant="bold">U</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>&#x03B2;</mml:mi><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>e</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>e</mml:mi></mml:msub></mml:mrow></mml:munderover><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mi>&#x03C1;</mml:mi><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>&#x03B2;</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mrow><mml:mi>e</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac><mml:mspace width="thinmathspace" /><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msubsup><mml:msub><mml:mrow><mml:mtext mathvariant="bold">k</mml:mtext></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mrow><mml:mi>e</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p>The sensitivity of the volume with respect to <inline-formula id="ieqn-138"><mml:math id="mml-ieqn-138"><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula> is expressed as
<disp-formula id="eqn-31"><label>(31)</label><mml:math id="mml-eqn-31" display="block"><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>e</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>e</mml:mi></mml:msub></mml:mrow></mml:munderover><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mi>e</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p>Based on <xref ref-type="disp-formula" rid="eqn-22">Eq. (22)</xref>, the sensitivity of the element density <inline-formula id="ieqn-139"><mml:math id="mml-ieqn-139"><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mi>e</mml:mi></mml:msub></mml:math></inline-formula> with respect to <inline-formula id="ieqn-140"><mml:math id="mml-ieqn-140"><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula> can be written as<disp-formula id="eqn-32"><label>(32)</label><mml:math id="mml-eqn-32" display="block"><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mi>e</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mn>4</mml:mn></mml:mfrac><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:munderover><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>H</mml:mi><mml:mspace width="negativethinmathspace" /><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x03A6;</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x03A9;</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mi>n</mml:mi><mml:mi>e</mml:mi></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac><mml:mo>,</mml:mo></mml:math></disp-formula>which is difficult to evaluate analytically due to the implicit dependence of the LSF on the design variables.</p>
<p>The sensitivity of the interference measure <inline-formula id="ieqn-141"><mml:math id="mml-ieqn-141"><mml:mi>&#x03B4;</mml:mi></mml:math></inline-formula> with respect to the design variable <inline-formula id="ieqn-142"><mml:math id="mml-ieqn-142"><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula> is not analytically differentiable. Thus the sensitivities of both the interference measure and the element density are computed numerically using the central finite difference scheme, which is widely adopted in sensitivity analysis for its simplicity and numerical stability [<xref ref-type="bibr" rid="ref-41">41</xref>]. The finite difference approximation is applied as follows:<disp-formula id="eqn-33"><label>(33)</label><mml:math id="mml-eqn-33" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>&#x03B4;</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac><mml:mo>&#x2248;</mml:mo><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>&#x03B4;</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mi>&#x03B4;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>r</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>&#x03B4;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>r</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>r</mml:mi></mml:mrow></mml:mfrac><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mi>e</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac><mml:mo>&#x2248;</mml:mo><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mi>e</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mi>e</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>r</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mi>e</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>r</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>r</mml:mi></mml:mrow></mml:mfrac><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>where <inline-formula id="ieqn-143"><mml:math id="mml-ieqn-143"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>r</mml:mi></mml:math></inline-formula> denotes the finite difference step size used in the sensitivity evaluation.</p>
</sec>
<sec id="s4_5">
<label>4.5</label>
<title>Shape Optimization Procedure</title>
<p><xref ref-type="fig" rid="fig-10">Fig. 10</xref> illustrates the detailed procedure of the shape optimization framework. The optimization process starts with the initialization of the design variables and algorithmic parameters. Since the reconstructed geometry is obtained from topology optimization results and the boundary is initialized in the intermediate density region, the subsequent optimization process may suffer from premature convergence. To alleviate this issue, small random perturbations are introduced during the initialization stage. Specifically, for each hole, a set of random noise values with the same dimension as the polar radii variables is generated from a uniform distribution within the interval <inline-formula id="ieqn-144"><mml:math id="mml-ieqn-144"><mml:mo stretchy="false">[</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mn>2</mml:mn><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>r</mml:mi><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>r</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:math></inline-formula>, where <inline-formula id="ieqn-145"><mml:math id="mml-ieqn-145"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>r</mml:mi></mml:math></inline-formula> is the step size used in the central finite difference scheme (<xref ref-type="disp-formula" rid="eqn-33">Eq. (33)</xref>). The perturbations are added to the polar radii variables to slightly modify the initial design configuration.</p>
<fig id="fig-10">
<label>Figure 10</label>
<caption>
<title>Shape optimization flowchart.</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_79578-fig-10.tif"/>
</fig>
<p>After initialization, the density field of the design domain is evaluated based on the current boundary representation. The interference measure <inline-formula id="ieqn-146"><mml:math id="mml-ieqn-146"><mml:mi>&#x03B4;</mml:mi></mml:math></inline-formula> is then calculated to determine whether boundary interference occurs. If <inline-formula id="ieqn-147"><mml:math id="mml-ieqn-147"><mml:mi>&#x03B4;</mml:mi><mml:mo>&#x2260;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>, an interference elimination procedure is activated. In this stage, the sensitivity of <inline-formula id="ieqn-148"><mml:math id="mml-ieqn-148"><mml:mi>&#x03B4;</mml:mi></mml:math></inline-formula> with respect to the design variables is computed, and the design variables are updated to reduce the interference until <inline-formula id="ieqn-149"><mml:math id="mml-ieqn-149"><mml:mi>&#x03B4;</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>. This process guarantees that the reconstructed geometry preserves the topological homeomorphism of the topology optimization result.</p>
<p>Once the interference has been removed (<inline-formula id="ieqn-150"><mml:math id="mml-ieqn-150"><mml:mi>&#x03B4;</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>), the algorithm proceeds to the shape optimization stage. The sensitivities of the objective function (compliance <italic>C</italic>) and the volume constraint <italic>V</italic> are computed, and the design variables are updated using the Method of Moving Asymptotes (MMA) [<xref ref-type="bibr" rid="ref-42">42</xref>]. After each update, the density field of the solid domain and the interference measure <inline-formula id="ieqn-151"><mml:math id="mml-ieqn-151"><mml:mi>&#x03B4;</mml:mi></mml:math></inline-formula> are recalculated to verify whether new boundary interference has been introduced during the optimization process.</p>
<p>The entire procedure is embedded within an outer iterative loop. The optimization proceeds until convergence is achieved or the maximum number of iterations is reached. Convergence is evaluated using two criteria: the difference between the current constraint value and its prescribed value, and the maximum change in the design variables between two consecutive iterations. The optimization terminates when both quantities fall below their prescribed thresholds, namely <inline-formula id="ieqn-152"><mml:math id="mml-ieqn-152"><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>4</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> for the constraint deviation and <inline-formula id="ieqn-153"><mml:math id="mml-ieqn-153"><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> for the design variable changes.</p>
</sec>
</sec>
<sec id="s5">
<label>5</label>
<title>Results and Discussion</title>
<p>This section presents a comprehensive discussion of the proposed geometry reconstruction and shape optimization framework through three categories of examples. First, the topology optimization results shown in <xref ref-type="fig" rid="fig-2">Fig. 2b</xref> are adopted as a benchmark case to systematically investigate the effectiveness of the proposed framework. Second, to further assess the robustness and generalization capability of the framework, three classical problems, namely the cantilever beam, the Michell beam, and the half-MBB beam with distinct geometric scales are considered as numerical examples. Finally, to demonstrate the applicability of the proposed framework to practical engineering design, a quadcopter frame is presented as an engineering example.</p>

<sec id="s5_1">
<label>5.1</label>
<title>Benchmark Case</title>
<p>The contour points shown in <xref ref-type="fig" rid="fig-11">Fig. 11</xref> are extracted from the topology optimization results using a threshold value of <inline-formula id="ieqn-154"><mml:math id="mml-ieqn-154"><mml:mi>&#x03C4;</mml:mi><mml:mo>=</mml:mo><mml:mn>0.6</mml:mn></mml:math></inline-formula>. With the proposed virtual element padding strategy, a closed and continuous outer contour is obtained. Building upon this capability, the strategy enables the extraction of contours at arbitrary threshold levels, while ensuring the outer contour remains properly aligned with the design domain.</p>
<fig id="fig-11">
<label>Figure 11</label>
<caption>
<title>Contour points extraction.</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_79578-fig-11.tif"/>
</fig>
<p>The contour points obtained after smoothing and filtering are shown in <xref ref-type="fig" rid="fig-12">Fig. 12</xref>, where the smoothing window size and filtering radius are set to <inline-formula id="ieqn-155"><mml:math id="mml-ieqn-155"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow><mml:mo>=</mml:mo><mml:mn>3</mml:mn></mml:math></inline-formula> and <inline-formula id="ieqn-156"><mml:math id="mml-ieqn-156"><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow><mml:mo>=</mml:mo><mml:mn>3</mml:mn></mml:math></inline-formula>, respectively. Through the sparse sampling procedure, the total number of contour points is reduced from 445 to 99. In addition, the outer contour points are locally densified near the corner regions of the design domain to prevent excessive curvature distortion when high-order NURBS curves undergo sharp turning. As a result, the contour points exhibit enhanced smoothness and geometric consistency, providing a stable and well-conditioned input for subsequent interpolation. For comprehensive investigations into the influence of the reconstruction parameters (<inline-formula id="ieqn-157"><mml:math id="mml-ieqn-157"><mml:mi>&#x03C4;</mml:mi></mml:math></inline-formula>, <inline-formula id="ieqn-158"><mml:math id="mml-ieqn-158"><mml:msub><mml:mi>N</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:math></inline-formula>, and <inline-formula id="ieqn-159"><mml:math id="mml-ieqn-159"><mml:msub><mml:mi>r</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:math></inline-formula>) on mechanical performance, the reader is referred to <xref ref-type="app" rid="app-1">Appendix A</xref>.</p>
<fig id="fig-12">
<label>Figure 12</label>
<caption>
<title>Contour points smoothing and filtering.</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_79578-fig-12.tif"/>
</fig>
<p>The interpolated NURBS boundaries and corresponding control points are shown in <xref ref-type="fig" rid="fig-13">Fig. 13</xref>, where a third-order (<inline-formula id="ieqn-160"><mml:math id="mml-ieqn-160"><mml:mi>p</mml:mi><mml:mo>=</mml:mo><mml:mn>3</mml:mn></mml:math></inline-formula>) closed interpolation is achieved by appending the midpoint of the endpoints to both ends of the filtered point sequence, resulting in a total of 105 design variables. Compared with the topology optimization results, the reconstructed model provides a clear and parametric description. The main geometric features of both the outer and inner contours are accurately captured, yielding smooth and continuous boundaries that help reduce stress concentrations. Moreover, the sparse and well organized distribution of control points leads to a reduced-dimensional design variable space, which significantly reduces the computational cost of shape optimization.</p>
<fig id="fig-13">
<label>Figure 13</label>
<caption>
<title>Contour points interpolation and resulting boundary.</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_79578-fig-13.tif"/>
</fig>
<p>Through the shape optimization step, the inner holes are systematically adjusted. As shown in <xref ref-type="fig" rid="fig-14">Fig. 14</xref>, the optimized geometry exhibits only moderate changes relative to the initial reconstruction, indicating that the shape optimization primarily serves to recover mechanical optimality and constraint consistency rather than to alter the overall structural layout.</p>
<fig id="fig-14">
<label>Figure 14</label>
<caption>
<title>Reconstructed geometries before and after optimization.</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_79578-fig-14.tif"/>
</fig>
<p>The shape optimization history and quantitative results shown in <xref ref-type="fig" rid="fig-15">Fig. 15</xref> provide clear insight into the convergence behavior and effectiveness of the proposed optimization strategy. As shown in <xref ref-type="fig" rid="fig-15">Fig. 15a</xref>, nonzero interference values are detected during the early iterations, which trigger the interference elimination procedure. During this phase, the optimization temporarily prioritizes the reduction of interference rather than the minimization of structural compliance. Once the interference is fully eliminated (<inline-formula id="ieqn-161"><mml:math id="mml-ieqn-161"><mml:mi>&#x03B4;</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>), the algorithm automatically switches to the shape optimization procedure, during which the volume fraction rapidly converges to the target value and remains tightly controlled. Meanwhile, the compliance decreases smoothly, indicating stable convergence without reintroducing geometric interference, with the process terminating after 134 iterations. This behavior demonstrates that the volume constraint is effectively enforced in the early stage of the optimization, after which the algorithm focuses on further reducing structural compliance. <xref ref-type="fig" rid="fig-15">Fig. 15a</xref> shows that the reconstructed geometry prior to shape optimization exhibits deviations of 3.8% in compliance and 3.2% in volume fraction relative to the topology optimization results, indicating that the geometry reconstruction process introduces noticeable performance discrepancies. After the shape optimization stage, these deviations are reduced to 0.3% and 0%, respectively, demonstrating the effectiveness of the proposed framework in preserving mechanical performance. <xref ref-type="fig" rid="fig-15">Fig. 15b</xref> visualizes the interference reduction process, showing that the initially intersecting boundaries are gradually separated to satisfy the topological homeomorphism constraints.</p>
<fig id="fig-15">
<label>Figure 15</label>
<caption>
<title>Shape optimization history, mechanical performance comparision and interference elimination behavior. (<bold>a</bold>) Shape optimization history and corresponding mechanical performance comparison; (<bold>b</bold>) Results of the interference elimination process.</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_79578-fig-15.tif"/>
</fig>
</sec>
<sec id="s5_2">
<label>5.2</label>
<title>Numerical Examples</title>
<p><xref ref-type="fig" rid="fig-16">Fig. 16</xref> shows the cantilever beam, Michell beam, and half-MBB beam, each with a distinct geometric scale. The corresponding results of topology optimization, geometry reconstruction, and shape optimization are presented in <xref ref-type="fig" rid="fig-17">Fig. 17</xref>. It should be noted that, in the Michell beam case, the final optimized structure exhibits a certain degree of asymmetry. This behavior arises from the asymmetric distribution of control points generated during the geometry reconstruction stage. Since the polar radii are adopted as design variables, each control point is constrained to move only along its radial direction, and symmetry in the final optimized structure is therefore not always guaranteed.</p>
<fig id="fig-16">
<label>Figure 16</label>
<caption>
<title>Numerical examples. (<bold>a</bold>) Cantilever beam; (<bold>b</bold>) Michell beam; (<bold>c</bold>) Half MBB beam.</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_79578-fig-16.tif"/>
</fig><fig id="fig-17">
<label>Figure 17</label>
<caption>
<title>Topology optimization results and reconstructed geometries. (<bold>a</bold>) Topology optimization of Cantilever beam; (<bold>b</bold>) Reconstructed geometries of Cantilever beam; (<bold>c</bold>) Topology optimization of Michell beam; (<bold>d</bold>) Reconstructed geometries of Michell beam; (<bold>e</bold>) Topology optimization of half-MBB beam; (<bold>f</bold>) Reconstructed geometries of half-MBB beam.</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_79578-fig-17.tif"/>
</fig>
<p>The detailed mechanical performance values are summarized in <xref ref-type="table" rid="table-2">Table 2</xref>, and the corresponding relative deviations with respect to the topology optimization results are illustrated in <xref ref-type="fig" rid="fig-18">Fig. 18</xref>. The cantilever beam exhibits the largest discrepancies, with a compliance increase of up to 25.6% and a volume fraction reduction of 16.0% prior to shape optimization. After the shape optimization stage, the compliance deviations are <xref ref-type="table" rid="table-A1"> </xref>substantially reduced for all cases, remaining within a narrow range of approximately 0.5%&#x2013;2.6%, while the volume fraction deviations are fully eliminated in every example. The proposed framework effectively mitigates compliance deviation and consistently restores <xref ref-type="table" rid="table-A2"> </xref>the target volume fraction, demonstrating its robustness and effectiveness across different structural configurations and geometric scales.</p>
<table-wrap id="table-2">
<label>Table 2</label>
<caption>
<title>Mechanical performance of beams at different design stages.</title>
</caption>
<table>
<colgroup>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/> </colgroup>
<thead>
<tr>
<th>Beam Type</th>
<th>Design Stage</th>
<th>Compliance</th>
<th>Volume Fraction</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center" rowspan="3">Cantilever beam</td>
<td>Topology optimization</td>
<td>184.7166</td>
<td>0.4999</td>
</tr>
<tr>
<td>Reconstructed (unoptimized)</td>
<td>232.0611</td>
<td>0.4198</td>
</tr>
<tr>
<td>Reconstructed (optimized)</td>
<td>185.5929</td>
<td>0.4999</td>
</tr>
<tr>
<td align="center" rowspan="3">Michell beam</td>
<td>Topology optimization</td>
<td>11.4923</td>
<td>0.4997</td>
</tr>
<tr>
<td>Reconstructed (unoptimized)</td>
<td>12.6093</td>
<td>0.4631</td>
</tr>
<tr>
<td>Reconstructed (optimized)</td>
<td>11.6450</td>
<td>0.4997</td>
</tr>
<tr>
<td align="center" rowspan="3">Half-MBB beam</td>
<td>Topology optimization</td>
<td>236.5330</td>
<td>0.4000</td>
</tr>
<tr>
<td>Reconstructed (unoptimized)</td>
<td>244.1183</td>
<td>0.4019</td>
</tr>
<tr>
<td>Reconstructed (optimized)</td>
<td>242.7009</td>
<td>0.4000</td>
</tr>
</tbody>
</table>
</table-wrap><fig id="fig-18">
<label>Figure 18</label>
<caption>
<title>Mechanical performance deviations of reconstructed geometries relative to topology optimization results. (<bold>a</bold>) Cantilever beam; (<bold>b</bold>) Michell beam; (<bold>c</bold>) Half-MBB beam.</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_79578-fig-18.tif"/>
</fig>
</sec>
<sec id="s5_3">
<label>5.3</label>
<title>Engineering Example</title>
<p>A quadcopter frame is considered as a representative engineering example. Topology optimization is first performed to provide the basis for geometry reconstruction using both heuristic, visually guided methods and the proposed framework. The reconstructed designs are then comparatively evaluated through computer-aided engineering (CAE) simulations, and the superior design is further fabricated by 3D printing.</p>
<p>The initial structure of the frame is shown in <xref ref-type="fig" rid="fig-19">Fig. 19a</xref> and is subsequently partitioned according to its functional requirements, as illustrated in <xref ref-type="fig" rid="fig-19">Fig. 19b</xref>, where the rib region is defined as the design domain. The topology optimization results are presented in <xref ref-type="fig" rid="fig-19">Fig. 19c</xref>, which serves as the basis for geometry reconstruction. It can be observed that the boundaries of the frame are rough, making the results difficult to be directly applied in practical engineering scenarios. <xref ref-type="fig" rid="fig-19">Fig. 19d</xref> presents the reconstructed geometry obtained through heuristic methods.</p>
<fig id="fig-19">
<label>Figure 19</label>
<caption>
<title>Design workflow based on topology optimization. (<bold>a</bold>) Initial structure; (<bold>b</bold>) Design domain partitioning; (<bold>c</bold>) Topology optimization; (<bold>d</bold>) Reconstructed geometry via heuristic methods.</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_79578-fig-19.tif"/>
</fig>
<p>Using the reconstructed geometry based on heuristic methods as a reference, contour points are uniformly sampled along the straight segments of the contours and used as inputs for the proposed two-stage framework, as illustrated in <xref ref-type="fig" rid="fig-20">Fig. 20a</xref>. <xref ref-type="fig" rid="fig-20">Fig. 20b</xref> shows the optimized boundaries obtained under compliance minimization without increasing the structural volume. <xref ref-type="fig" rid="fig-20">Fig. 20c</xref> illustrates the boundary control points that are imported into CAD software and used to sketch the optimized boundaries onto the initial structure. <xref ref-type="fig" rid="fig-20">Fig. 20d</xref> then presents the reconstructed geometry generated by subsequent hole-cutting operations.</p>
<fig id="fig-20">
<label>Figure 20</label>
<caption>
<title>Reconstructed geometry via the two-stage framework. (<bold>a</bold>) Input: sampled contour points; (<bold>b</bold>) Output: optimized boundaries; (<bold>c</bold>) Sketching; (<bold>d</bold>) Hole cutting.</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_79578-fig-20.tif"/>
</fig>
<p>As shown in <xref ref-type="fig" rid="fig-21">Fig. 21a</xref>, under linear elastic assumptions and identical loading conditions, the model reconstructed using the proposed framework exhibits reduced deformation compared with the heuristic reconstruction, with the maximum displacement decreasing from <inline-formula id="ieqn-162"><mml:math id="mml-ieqn-162"><mml:mn>10.448</mml:mn></mml:math></inline-formula> to <inline-formula id="ieqn-163"><mml:math id="mml-ieqn-163"><mml:mn>9.342</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mi mathvariant="normal">m</mml:mi><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>. This reduction can be attributed to the fact that the shape optimization procedure targets compliance minimization, which redistributes material toward regions of high strain energy and better defines the primary load paths, thereby enhancing structural stiffness. In addition, the stress distribution is improved after the optimization. As shown in <xref ref-type="fig" rid="fig-21">Fig. 21b</xref>, the optimized structure exhibits more regions with lower stress levels. The maximum stress decreases from <inline-formula id="ieqn-164"><mml:math id="mml-ieqn-164"><mml:mn>6488.2</mml:mn></mml:math></inline-formula> to <inline-formula id="ieqn-165"><mml:math id="mml-ieqn-165"><mml:mn>4573.1</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mi mathvariant="normal">M</mml:mi><mml:mi mathvariant="normal">P</mml:mi><mml:mi mathvariant="normal">a</mml:mi></mml:mrow></mml:math></inline-formula>, indicating that the proposed framework also leads to a noticeable improvement in stress performance by generating smoother structural boundaries.</p>
<fig id="fig-21">
<label>Figure 21</label>
<caption>
<title>Comparison of deformation and stress fields for reconstructed geometries. (<bold>a</bold>) Deformation results; (<bold>b</bold>) Stress field.</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_79578-fig-21.tif"/>
</fig>
<p>Subsequently, the optimized frame is fabricated using 3D printing, and the resulting physical prototype is shown in <xref ref-type="fig" rid="fig-22">Fig. 22</xref>.</p>
<fig id="fig-22">
<label>Figure 22</label>
<caption>
<title>3D printed frame.</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_79578-fig-22.tif"/>
</fig>
<p>Overall, the numerical examples and the engineering case demonstrate that the proposed framework can effectively reconstruct topology optimization results while preserving the structural performance. Moreover, the reconstructed geometry is fully compatible with standard CAD, CAE, and CAM workflows, thereby facilitating its integration into practical engineering design and industrial manufacturing processes.</p>
</sec>
</sec>
<sec id="s6">
<label>6</label>
<title>Conclusions</title>
<p>This study presents an integrated reconstruction&#x2014;optimization framework to address the challenges of translating implicit topology optimization results into practical engineering designs. The framework reconstructs explicit and editable geometric models from discrete density fields and further refines the structural boundaries through shape optimization to preserve structural performance. Its effectiveness and robustness are validated through representative numerical examples as well as a practical engineering case.
<list list-type="bullet">
<list-item>
<p>The proposed method is first validated using representative numerical benchmarks, where the compliance deviation is reduced to within 0.5%&#x2013;2.6% while satisfying the prescribed volume fraction constraint.</p></list-item>
<list-item>
<p>The method is further applied to a practical engineering example of a quadcopter frame, where the reconstructed structure exhibits reduced maximum displacement compared with heuristic reconstruction approaches.</p></list-item>
<list-item>
<p>These results demonstrate that the proposed framework establishes a practical workflow capable of generating parameterized geometries that are directly compatible with CAD and CAE environments.</p></list-item>
</list></p>
<p>By enabling explicit geometry reconstruction while maintaining structural performance, the framework facilitates a seamless connection between topology optimization, engineering analysis, and manufacturing processes. This integration improves the efficiency of the design workflow by reducing the need for manual intervention and additional optimization efforts. While the proposed framework shows promising results, it is currently limited to two-dimensional problems. Extending it to three-dimensional cases remains nontrivial due to increased computational cost and the more complex evaluation of geometric interference. Future work will focus on addressing these challenges while maintaining the performance-consistent reconstruction capability.</p>
</sec>
</body>
<back>
<ack>
<p>The authors acknowledge the use of ChatGPT for language polishing of the manuscript. All technical content, analyses, and conclusions are the sole responsibility of the authors.</p>
</ack>
<sec>
<title>Funding Statement</title>
<p>This research is funded by the National Natural Science Foundation of China under Grant No. 92371206.</p>
</sec>
<sec>
<title>Author Contributions</title>
<p>Conceptualization, Yuting Tang and Yu Li; methodology, Yuting Tang, Yu Li and Xingyu Xiang; software, Yuting Tang and Jiaxiang Luo; validation, Yuting Tang; formal analysis, Yuting Tang and Yu Li; investigation, Yuting Tang and Yu Li; resources, Yuting Tang and Wen Yao; data curation, Yuting Tang; writing&#x2014;original draft preparation, Yuting Tang; writing&#x2014;review and editing, Yuting Tang and Yu Li; visualization, Yuting Tang and Xingyu Xiang; supervision, Yu Li; project administration, Yu Li, Weien Zhou and Wen Yao; funding acquisition, Wen Yao. All authors reviewed and approved the final version of the manuscript.</p>
</sec>
<sec sec-type="data-availability">
<title>Availability of Data and Materials</title>
<p>The authors confirm that the data supporting the findings of this study are available within the article.</p>
</sec>
<sec>
<title>Ethics Approval</title>
<p>Not applicable.</p>
</sec>
<sec sec-type="COI-statement">
<title>Conflicts of Interest</title>
<p>The authors declare no conflicts of interest.</p>
</sec>
<glossary content-type="abbreviations" id="glossary-1">
<title>Abbreviations</title>
<def-list>
<def-item>
<term>NURBS</term>
<def>
<p>Non-Uniform Rational B-Splines</p>
</def>
</def-item>
<def-item>
<term>FG-FEM</term>
<def>
<p>Fixed Grid Finite Element Method</p>
</def>
</def-item>
<def-item>
<term>CAD</term>
<def>
<p>Computer Aided Design</p>
</def>
</def-item>
<def-item>
<term>SIMP</term>
<def>
<p>Solid Isotropic Material with Penalization</p>
</def>
</def-item>
<def-item>
<term>BESO</term>
<def>
<p>Bi-Directional Evolutionary Structural Optimization</p>
</def>
</def-item>
<def-item>
<term>CAM</term>
<def>
<p>Computer Aided Manufacturing</p>
</def>
</def-item>
<def-item>
<term>OC</term>
<def>
<p>Optimality Criteria</p>
</def>
</def-item>
<def-item>
<term>LSF</term>
<def>
<p>Level Set Function</p>
</def>
</def-item>
<def-item>
<term>MMA</term>
<def>
<p>Method of Moving Asymptotes</p>
</def>
</def-item>
<def-item>
<term>CAE</term>
<def>
<p>Computer Aided Engineering</p>
</def>
</def-item>
<def-item>
<term>CPU</term>
<def>
<p>Central Processing Unit</p>
</def>
</def-item>
</def-list>
</glossary>
<app-group id="appg-1">
<app id="app-1">
<title>Appendix A Parametric Sensitivity and Robustness Analysis of Structural Performance and Shape</title>
<sec id="s7">
<title/>
<p>The threshold value <inline-formula id="ieqn-166"><mml:math id="mml-ieqn-166"><mml:mi>&#x03C4;</mml:mi></mml:math></inline-formula>, smoothing window size <inline-formula id="ieqn-167"><mml:math id="mml-ieqn-167"><mml:msub><mml:mi>N</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:math></inline-formula>, and the filtering radius <inline-formula id="ieqn-168"><mml:math id="mml-ieqn-168"><mml:msub><mml:mi>r</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:math></inline-formula> serve as key parameters of the reconstruction framework, yet their specific impacts on the final reconstruction remain to be fully characterized. Therefore, a parametric sensitivity analysis is conducted to systematically evaluate how variations in each parameter affect the mechanical performance and geometric shape.</p>
<p><xref ref-type="table" rid="table-A1">Table A1</xref> summarizes the compliance and volume fraction of the reconstructed geometries across varying parameter settings. These quantitative trends are further visualized in <xref ref-type="fig" rid="fig-A1">Fig. A1</xref>, while <xref ref-type="fig" rid="fig-A2">Fig. A2</xref> illustrates the comparative shape evolution across all configurations, highlighting the geometric differences induced by parameter variations.</p>
<table-wrap id="table-A1">
<label>Table A1</label>
<caption>
<title>Compliance and volume fraction of reconstructed geometries across parameter variations, including relative deviations.</title>
</caption>
<table>
<colgroup>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/> </colgroup>
<thead>
<tr>
<th align="center" rowspan="3"><inline-formula id="ieqn-169"><mml:math id="mml-ieqn-169"><mml:mi mathvariant="bold-italic">&#x03C4;</mml:mi></mml:math></inline-formula></th>
<th align="center" rowspan="3"><inline-formula id="ieqn-170"><mml:math id="mml-ieqn-170"><mml:msub><mml:mi mathvariant="bold-italic">N</mml:mi><mml:mi mathvariant="bold-italic">w</mml:mi></mml:msub></mml:math></inline-formula></th>
<th align="center" rowspan="3"><inline-formula id="ieqn-171"><mml:math id="mml-ieqn-171"><mml:msub><mml:mi mathvariant="bold-italic">r</mml:mi><mml:mi mathvariant="bold-italic">f</mml:mi></mml:msub></mml:math></inline-formula></th>
<th colspan="4">Unoptimized</th>
<th colspan="4">Optimized</th>
</tr>
<tr>
<th colspan="2">Compliance</th>
<th colspan="2">Volume Fraction</th>
<th colspan="2">Compliance</th>
<th colspan="2">Volume Fraction</th>
</tr>
<tr>
<th>Value</th>
<th>Dev. (%)</th>
<th>Value</th>
<th>Dev. (%)</th>
<th>Value</th>
<th>Dev. (%)</th>
<th>Value</th>
<th>Dev. (%)</th>
</tr>
</thead>
<tbody>
<tr>
<td>0.5</td>
<td>3</td>
<td>3</td>
<td>72.4497</td>
<td>&#x002B;0.3</td>
<td>0.5022</td>
<td>&#x002B;0.5</td>
<td>72.5145</td>
<td>&#x002B;0.4</td>
<td>0.4999</td>
<td>0.0</td>
</tr>
<tr>
<td>0.6</td>
<td>3</td>
<td>3</td>
<td>74.9483</td>
<td>&#x002B;3.8</td>
<td>0.4839</td>
<td>&#x2212;3.2</td>
<td>72.4099</td>
<td>&#x002B;0.3</td>
<td>0.4999</td>
<td>0.0</td>
</tr>
<tr>
<td>0.7</td>
<td>3</td>
<td>3</td>
<td>77.8832</td>
<td>&#x002B;7.9</td>
<td>0.4671</td>
<td>&#x2212;6.6</td>
<td>72.4475</td>
<td>&#x002B;0.3</td>
<td>0.4999</td>
<td>0.0</td>
</tr>
<tr>
<td>0.8</td>
<td>3</td>
<td>3</td>
<td>81.8235</td>
<td>&#x002B;13.3</td>
<td>0.4481</td>
<td>&#x2212;10.4</td>
<td>72.5439</td>
<td>&#x002B;0.5</td>
<td>0.4999</td>
<td>0.0</td>
</tr>
<tr>
<td>0.6</td>
<td>2</td>
<td>3</td>
<td>74.9483</td>
<td>&#x002B;3.8</td>
<td>0.4839</td>
<td>&#x2212;3.2</td>
<td>72.4219</td>
<td>&#x002B;0.3</td>
<td>0.4999</td>
<td>0.0</td>
</tr>
<tr>
<td>0.6</td>
<td>3</td>
<td>3</td>
<td>74.9483</td>
<td>&#x002B;3.8</td>
<td>0.4839</td>
<td>&#x2212;3.2</td>
<td>72.4099</td>
<td>&#x002B;0.3</td>
<td>0.4999</td>
<td>0.0</td>
</tr>
<tr>
<td>0.6</td>
<td>4</td>
<td>3</td>
<td>74.7419</td>
<td>&#x002B;3.5</td>
<td>0.4865</td>
<td>&#x2212;2.7</td>
<td>72.4930</td>
<td>&#x002B;0.4</td>
<td>0.4999</td>
<td>0.0</td>
</tr>
<tr>
<td>0.6</td>
<td>5</td>
<td>3</td>
<td>74.7414</td>
<td>&#x002B;3.5</td>
<td>0.4864</td>
<td>&#x2212;2.7</td>
<td>73.4863</td>
<td>&#x002B;1.8</td>
<td>0.4999</td>
<td>0.0</td>
</tr>
<tr>
<td>0.6</td>
<td>3</td>
<td>2</td>
<td>74.9665</td>
<td>&#x002B;3.8</td>
<td>0.4836</td>
<td>&#x2212;3.3</td>
<td>72.3670</td>
<td>&#x002B;0.2</td>
<td>0.4999</td>
<td>0.0</td>
</tr>
<tr>
<td>0.6</td>
<td>3</td>
<td>3</td>
<td>74.9483</td>
<td>&#x002B;3.8</td>
<td>0.4839</td>
<td>&#x2212;3.2</td>
<td>72.4099</td>
<td>&#x002B;0.3</td>
<td>0.4999</td>
<td>0.0</td>
</tr>
<tr>
<td>0.6</td>
<td>3</td>
<td>4</td>
<td>74.7269</td>
<td>&#x002B;3.5</td>
<td>0.4884</td>
<td>&#x2212;2.3</td>
<td>72.6108</td>
<td>&#x002B;0.6</td>
<td>0.4999</td>
<td>0.0</td>
</tr>
<tr>
<td>0.6</td>
<td>3</td>
<td>5</td>
<td>74.4794</td>
<td>&#x002B;3.2</td>
<td>0.4962</td>
<td>&#x2212;0.7</td>
<td>73.1523</td>
<td>&#x002B;1.3</td>
<td>0.4999</td>
<td>0.0</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn id="table-A1fn1" fn-type="other">
<p>Note: &#x201C;Dev.&#x201D; represents the percentage change relative to the benchmark topology optimization results (Compliance &#x003D; 72.1995, Volume fraction &#x003D; 0.4999).</p>
</fn>
</table-wrap-foot>
</table-wrap>
<fig id="fig-A1">
<label>Figure A1</label>
<caption>
<title>Sensitivity analysis of compliance and volume fraction with respect to reconstruction parameters. (<bold>a</bold>) Threshold value <inline-formula id="ieqn-172"><mml:math id="mml-ieqn-172"><mml:mi>&#x03C4;</mml:mi></mml:math></inline-formula>; (<bold>b</bold>) Smoothing window size <inline-formula id="ieqn-173"><mml:math id="mml-ieqn-173"><mml:msub><mml:mi>N</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:math></inline-formula>; (<bold>c</bold>) Filtering radius <inline-formula id="ieqn-174"><mml:math id="mml-ieqn-174"><mml:msub><mml:mi>r</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:math></inline-formula>.</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_79578-fig-23.tif"/>
</fig>
<fig id="fig-A2">
<label>Figure A2</label>
<caption>
<title>Sensitivity of shape with respect to reconstruction parameters. (<bold>a</bold>) <inline-formula id="ieqn-175"><mml:math id="mml-ieqn-175"><mml:mi>&#x03C4;</mml:mi><mml:mo>=</mml:mo><mml:mn>0.5</mml:mn></mml:math></inline-formula>, <inline-formula id="ieqn-176"><mml:math id="mml-ieqn-176"><mml:msub><mml:mi>N</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>3</mml:mn></mml:math></inline-formula>, <inline-formula id="ieqn-177"><mml:math id="mml-ieqn-177"><mml:msub><mml:mi>r</mml:mi><mml:mi>f</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>3</mml:mn></mml:math></inline-formula>; (<bold>b</bold>) <inline-formula id="ieqn-178"><mml:math id="mml-ieqn-178"><mml:mi>&#x03C4;</mml:mi><mml:mo>=</mml:mo><mml:mn>0.6</mml:mn></mml:math></inline-formula>, <inline-formula id="ieqn-179"><mml:math id="mml-ieqn-179"><mml:msub><mml:mi>N</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>2</mml:mn></mml:math></inline-formula>, <inline-formula id="ieqn-180"><mml:math id="mml-ieqn-180"><mml:msub><mml:mi>r</mml:mi><mml:mi>f</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>3</mml:mn></mml:math></inline-formula>; (<bold>c</bold>) <inline-formula id="ieqn-181"><mml:math id="mml-ieqn-181"><mml:mi>&#x03C4;</mml:mi><mml:mo>=</mml:mo><mml:mn>0.6</mml:mn></mml:math></inline-formula>, <inline-formula id="ieqn-182"><mml:math id="mml-ieqn-182"><mml:msub><mml:mi>N</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>3</mml:mn></mml:math></inline-formula>, <inline-formula id="ieqn-183"><mml:math id="mml-ieqn-183"><mml:msub><mml:mi>r</mml:mi><mml:mi>f</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>2</mml:mn></mml:math></inline-formula>; (<bold>d</bold>) <inline-formula id="ieqn-184"><mml:math id="mml-ieqn-184"><mml:mi>&#x03C4;</mml:mi><mml:mo>=</mml:mo><mml:mn>0.6</mml:mn></mml:math></inline-formula>, <inline-formula id="ieqn-185"><mml:math id="mml-ieqn-185"><mml:msub><mml:mi>N</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>3</mml:mn></mml:math></inline-formula>, <inline-formula id="ieqn-186"><mml:math id="mml-ieqn-186"><mml:msub><mml:mi>r</mml:mi><mml:mi>f</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>3</mml:mn></mml:math></inline-formula>; (<bold>e</bold>) <inline-formula id="ieqn-187"><mml:math id="mml-ieqn-187"><mml:mi>&#x03C4;</mml:mi><mml:mo>=</mml:mo><mml:mn>0.6</mml:mn></mml:math></inline-formula>, <inline-formula id="ieqn-188"><mml:math id="mml-ieqn-188"><mml:msub><mml:mi>N</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>3</mml:mn></mml:math></inline-formula>, <inline-formula id="ieqn-189"><mml:math id="mml-ieqn-189"><mml:msub><mml:mi>r</mml:mi><mml:mi>f</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>3</mml:mn></mml:math></inline-formula>; (<bold>f</bold>) <inline-formula id="ieqn-190"><mml:math id="mml-ieqn-190"><mml:mi>&#x03C4;</mml:mi><mml:mo>=</mml:mo><mml:mn>0.6</mml:mn></mml:math></inline-formula>, <inline-formula id="ieqn-191"><mml:math id="mml-ieqn-191"><mml:msub><mml:mi>N</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>3</mml:mn></mml:math></inline-formula>, <inline-formula id="ieqn-192"><mml:math id="mml-ieqn-192"><mml:msub><mml:mi>r</mml:mi><mml:mi>f</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>3</mml:mn></mml:math></inline-formula>; (<bold>g</bold>) <inline-formula id="ieqn-193"><mml:math id="mml-ieqn-193"><mml:mi>&#x03C4;</mml:mi><mml:mo>=</mml:mo><mml:mn>0.7</mml:mn></mml:math></inline-formula>, <inline-formula id="ieqn-194"><mml:math id="mml-ieqn-194"><mml:msub><mml:mi>N</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>3</mml:mn></mml:math></inline-formula>, <inline-formula id="ieqn-195"><mml:math id="mml-ieqn-195"><mml:msub><mml:mi>r</mml:mi><mml:mi>f</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>3</mml:mn></mml:math></inline-formula>; (<bold>h</bold>) <inline-formula id="ieqn-196"><mml:math id="mml-ieqn-196"><mml:mi>&#x03C4;</mml:mi><mml:mo>=</mml:mo><mml:mn>0.6</mml:mn></mml:math></inline-formula>, <inline-formula id="ieqn-197"><mml:math id="mml-ieqn-197"><mml:msub><mml:mi>N</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>4</mml:mn></mml:math></inline-formula>, <inline-formula id="ieqn-198"><mml:math id="mml-ieqn-198"><mml:msub><mml:mi>r</mml:mi><mml:mi>f</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>3</mml:mn></mml:math></inline-formula>; (<bold>i</bold>) <inline-formula id="ieqn-199"><mml:math id="mml-ieqn-199"><mml:mi>&#x03C4;</mml:mi><mml:mo>=</mml:mo><mml:mn>0.6</mml:mn></mml:math></inline-formula>, <inline-formula id="ieqn-200"><mml:math id="mml-ieqn-200"><mml:msub><mml:mi>N</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>3</mml:mn></mml:math></inline-formula>, <inline-formula id="ieqn-201"><mml:math id="mml-ieqn-201"><mml:msub><mml:mi>r</mml:mi><mml:mi>f</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>4</mml:mn></mml:math></inline-formula>; (<bold>j</bold>) <inline-formula id="ieqn-202"><mml:math id="mml-ieqn-202"><mml:mi>&#x03C4;</mml:mi><mml:mo>=</mml:mo><mml:mn>0.8</mml:mn></mml:math></inline-formula>, <inline-formula id="ieqn-203"><mml:math id="mml-ieqn-203"><mml:msub><mml:mi>N</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>3</mml:mn></mml:math></inline-formula>, <inline-formula id="ieqn-204"><mml:math id="mml-ieqn-204"><mml:msub><mml:mi>r</mml:mi><mml:mi>f</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>3</mml:mn></mml:math></inline-formula>; (<bold>k</bold>) <inline-formula id="ieqn-205"><mml:math id="mml-ieqn-205"><mml:mi>&#x03C4;</mml:mi><mml:mo>=</mml:mo><mml:mn>0.6</mml:mn></mml:math></inline-formula>, <inline-formula id="ieqn-206"><mml:math id="mml-ieqn-206"><mml:msub><mml:mi>N</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>5</mml:mn></mml:math></inline-formula>, <inline-formula id="ieqn-207"><mml:math id="mml-ieqn-207"><mml:msub><mml:mi>r</mml:mi><mml:mi>f</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>3</mml:mn></mml:math></inline-formula>; (<bold>l</bold>) <inline-formula id="ieqn-208"><mml:math id="mml-ieqn-208"><mml:mi>&#x03C4;</mml:mi><mml:mo>=</mml:mo><mml:mn>0.6</mml:mn></mml:math></inline-formula>, <inline-formula id="ieqn-209"><mml:math id="mml-ieqn-209"><mml:msub><mml:mi>N</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>3</mml:mn></mml:math></inline-formula>, <inline-formula id="ieqn-210"><mml:math id="mml-ieqn-210"><mml:msub><mml:mi>r</mml:mi><mml:mi>f</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>5</mml:mn></mml:math></inline-formula>.</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_79578-fig-24a.tif"/>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_79578-fig-24b.tif"/>
</fig>
<p>As illustrated in <xref ref-type="fig" rid="fig-A1">Fig. A1a</xref>, the extraction threshold <inline-formula id="ieqn-211"><mml:math id="mml-ieqn-211"><mml:mi>&#x03C4;</mml:mi></mml:math></inline-formula> emerges as the dominant control parameter governing global structural performance. A monotonic increase in <inline-formula id="ieqn-212"><mml:math id="mml-ieqn-212"><mml:mi>&#x03C4;</mml:mi></mml:math></inline-formula> induces a progressive reduction in volume fraction, accompanied by a corresponding rise in compliance. This trend arises because higher thresholds exclude low-density regions, whereas lower thresholds retain more material, thereby enhancing structural stiffness and deformation resistance. In contrast, <xref ref-type="fig" rid="fig-A1">Fig. A1b</xref>,<xref ref-type="fig" rid="fig-A1">c</xref> indicates that the smoothing window size <inline-formula id="ieqn-213"><mml:math id="mml-ieqn-213"><mml:msub><mml:mi>N</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:math></inline-formula> and filtering radius <inline-formula id="ieqn-214"><mml:math id="mml-ieqn-214"><mml:msub><mml:mi>r</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:math></inline-formula> exhibit negligible sensitivity regarding global metrics. Since these parameters operate exclusively on extracted contour points, they serve to refine local geometric features rather than alter the global shape. This observation is corroborated by <xref ref-type="fig" rid="fig-A2">Fig. A2</xref>, which demonstrates that while variations in <inline-formula id="ieqn-215"><mml:math id="mml-ieqn-215"><mml:msub><mml:mi>N</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-216"><mml:math id="mml-ieqn-216"><mml:msub><mml:mi>r</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:math></inline-formula> merely modulate boundary morphology, geometries reconstructed under varying <inline-formula id="ieqn-217"><mml:math id="mml-ieqn-217"><mml:mi>&#x03C4;</mml:mi></mml:math></inline-formula> values preserve a high degree of self-similarity. These findings validate that <inline-formula id="ieqn-218"><mml:math id="mml-ieqn-218"><mml:mi>&#x03C4;</mml:mi></mml:math></inline-formula> is the critical lever for tuning the material-stiffness trade-off, while <inline-formula id="ieqn-219"><mml:math id="mml-ieqn-219"><mml:msub><mml:mi>N</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-220"><mml:math id="mml-ieqn-220"><mml:msub><mml:mi>r</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:math></inline-formula> function as secondary tools for geometric post-processing.</p>
<p>The robustness of the proposed framework is further quantified by evaluating performance deviations across diverse parameter settings. As summarized in <xref ref-type="table" rid="table-A1">Table A1</xref>, the relative error in compliance for all optimized shapes remains strictly within 1.8%, while the volume fraction deviation is maintained at exactly 0% across all cases, signifying exact adherence to material constraints. A notable exception occurs in the case of <inline-formula id="ieqn-221"><mml:math id="mml-ieqn-221"><mml:mi>&#x03C4;</mml:mi><mml:mo>=</mml:mo><mml:mn>0.5</mml:mn></mml:math></inline-formula>, <inline-formula id="ieqn-222"><mml:math id="mml-ieqn-222"><mml:msub><mml:mi>N</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>3</mml:mn></mml:math></inline-formula>, and <inline-formula id="ieqn-223"><mml:math id="mml-ieqn-223"><mml:msub><mml:mi>r</mml:mi><mml:mi>f</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>3</mml:mn></mml:math></inline-formula>. Here, the low extraction threshold causes the initial reconstruction (Stage one) to exceed the target volume. Consequently, the subsequent optimization prioritizes aggressive material removal to satisfy the strict volume constraint, inevitably leading to a increase in compliance. In summary, the framework exhibits remarkable robustness against parameter fluctuations. The combination of zero volume error and minimal compliance variation confirms that the proposed approach yields stable, reliable structural designs regardless of minor variations in <inline-formula id="ieqn-224"><mml:math id="mml-ieqn-224"><mml:mi>&#x03C4;</mml:mi></mml:math></inline-formula>, <inline-formula id="ieqn-225"><mml:math id="mml-ieqn-225"><mml:msub><mml:mi>N</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:math></inline-formula>, or <inline-formula id="ieqn-226"><mml:math id="mml-ieqn-226"><mml:msub><mml:mi>r</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:math></inline-formula>.</p>
</sec>
</app>
<app id="app-2">
<title>Appendix B Computational Cost Analysis for the Benchmark Case</title>
<p>According to the workflow illustrated in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>, the computational cost of the proposed framework is evaluated using the benchmark case. The central processing unit (CPU) time consumption of major steps is measured to assess the computational efficiency. The detailed time costs are summarized in <xref ref-type="table" rid="table-A2">Table A2</xref>.</p>
<table-wrap id="table-A2">
<label>Table A2</label>
<caption>
<title>CPU time consumption of key steps.</title>
</caption>
<table>
<colgroup>
<col align="center"/>
<col align="center"/>
<col align="center"/> </colgroup>
<thead>
<tr>
<th>Step</th>
<th></th>
<th>CPU Time (s)</th>
</tr>
</thead>
<tbody>
<tr>
<td>Stage one</td>
<td></td>
<td>0.890625</td>
</tr>
<tr>
<td>Finite element analysis</td>
<td></td>
<td>0.093750</td>
</tr>
<tr>
<td align="center" rowspan="2">Sensitivity calculation</td>
<td>Interference values</td>
<td>1.375000</td>
</tr>
<tr>
<td>Density</td>
<td>1.359375</td>
</tr>
<tr>
<td>Average time per iteration</td>
<td></td>
<td>2.410448</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The workflow consists of a one-time preprocessing stage (Stage one) and an iterative optimization stage. Stage one mainly involves geometric operations for generating the initial NURBS representation and requires approximately 0.89 s, indicating that the reconstruction introduces negligible computational overhead.</p>
<p>In the optimization stage, a single finite element analysis takes about 0.094 s per iteration. The evaluation of interference values and density sensitivities using the central finite difference scheme, costing approximately 1.38 and 1.36 s, respectively. Consequently, the average computational cost per iteration is about 2.41 s.</p>
<p>These results indicate that the computational cost of the key steps remains manageable. As the optimization converges within a limited number of iterations, the overall computational time remains acceptable, demonstrating that the proposed framework maintains practical computational efficiency even when central finite differences are used for sensitivity evaluation. All numerical experiments are conducted on a desktop configured with an AMD Ryzen 7 9800X3D processor and 48 GB of RAM.</p>

</app>
</app-group>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>[1]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Manguri</surname> <given-names>A</given-names></string-name>, <string-name><surname>Hassan</surname> <given-names>H</given-names></string-name>, <string-name><surname>Saeed</surname> <given-names>N</given-names></string-name>, <string-name><surname>Jankowski</surname> <given-names>R</given-names></string-name></person-group>. <article-title>Topology, size, and shape optimization in civil engineering structures: a review</article-title>. <source>Comput Model Eng Sci</source>. <year>2025</year>;<volume>142</volume>:<fpage>933</fpage>&#x2013;<lpage>71</lpage>. doi:<pub-id pub-id-type="doi">10.32604/cmes.2025.059249</pub-id>.</mixed-citation></ref>
<ref id="ref-2"><label>[2]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Bends&#x00F8;e</surname> <given-names>MP</given-names></string-name>, <string-name><surname>Sigmund</surname> <given-names>O</given-names></string-name></person-group>. <article-title>Material interpolation schemes in topology optimization</article-title>. <source>Arch Appl Mech</source>. <year>1999</year>;<volume>69</volume>(<issue>9</issue>):<fpage>635</fpage>&#x2013;<lpage>54</lpage>. doi:<pub-id pub-id-type="doi">10.1007/s004190050248</pub-id>.</mixed-citation></ref>
<ref id="ref-3"><label>[3]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Wang</surname> <given-names>MY</given-names></string-name>, <string-name><surname>Wang</surname> <given-names>X</given-names></string-name>, <string-name><surname>Guo</surname> <given-names>D</given-names></string-name></person-group>. <article-title>A level set method for structural topology optimization</article-title>. <source>Comput Methods Appl Mech Eng</source>. <year>2003</year>;<volume>192</volume>(<issue>1&#x2013;2</issue>):<fpage>227</fpage>&#x2013;<lpage>46</lpage>. doi:<pub-id pub-id-type="doi">10.1016/S0045-7825(02)00559-5</pub-id>.</mixed-citation></ref>
<ref id="ref-4"><label>[4]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Nguyen</surname> <given-names>SH</given-names></string-name>, <string-name><surname>Nguyen</surname> <given-names>TN</given-names></string-name>, <string-name><surname>Nguyen-Thoi</surname> <given-names>T</given-names></string-name></person-group>. <article-title>A finite element level-set method for stress-based topology optimization of plate structures</article-title>. <source>Comput Math Appl</source>. <year>2022</year>;<volume>115</volume>:<fpage>26</fpage>&#x2013;<lpage>40</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.camwa.2022.04.001</pub-id>.</mixed-citation></ref>
<ref id="ref-5"><label>[5]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Zhang</surname> <given-names>W</given-names></string-name>, <string-name><surname>Yuan</surname> <given-names>J</given-names></string-name>, <string-name><surname>Zhang</surname> <given-names>J</given-names></string-name>, <string-name><surname>Guo</surname> <given-names>X</given-names></string-name></person-group>. <article-title>A new topology optimization approach based on Moving Morphable Components (MMC) and the ersatz material model</article-title>. <source>Struct Multidiscip Optim</source>. <year>2016</year>;<volume>53</volume>(<issue>6</issue>):<fpage>1243</fpage>&#x2013;<lpage>60</lpage>. doi:<pub-id pub-id-type="doi">10.1007/s00158-015-1372-3</pub-id>.</mixed-citation></ref>
<ref id="ref-6"><label>[6]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Zhang</surname> <given-names>W</given-names></string-name>, <string-name><surname>Chen</surname> <given-names>J</given-names></string-name>, <string-name><surname>Zhu</surname> <given-names>X</given-names></string-name>, <string-name><surname>Zhou</surname> <given-names>J</given-names></string-name>, <string-name><surname>Xue</surname> <given-names>D</given-names></string-name>, <string-name><surname>Lei</surname> <given-names>X</given-names></string-name>, <etal>et al</etal></person-group>. <article-title>Explicit three dimensional topology optimization via Moving Morphable Void (MMV) approach</article-title>. <source>Comput Methods Appl Mech Eng</source>. <year>2017</year>;<volume>322</volume>:<fpage>590</fpage>&#x2013;<lpage>614</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.cma.2017.05.002</pub-id>.</mixed-citation></ref>
<ref id="ref-7"><label>[7]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Subedi</surname> <given-names>SC</given-names></string-name>, <string-name><surname>Verma</surname> <given-names>CS</given-names></string-name>, <string-name><surname>Suresh</surname> <given-names>K</given-names></string-name></person-group>. <article-title>A review of methods for the geometric post-processing of topology optimized models</article-title>. <source>J Comput Inf Sci Eng</source>. <year>2020</year>;<volume>20</volume>(<issue>6</issue>):<fpage>060801</fpage>. doi:<pub-id pub-id-type="doi">10.1115/1.4047429</pub-id>.</mixed-citation></ref>
<ref id="ref-8"><label>[8]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Van Dijk</surname> <given-names>NP</given-names></string-name>, <string-name><surname>Maute</surname> <given-names>K</given-names></string-name>, <string-name><surname>Langelaar</surname> <given-names>M</given-names></string-name>, <string-name><surname>Van Keulen</surname> <given-names>F</given-names></string-name></person-group>. <article-title>Level-set methods for structural topology optimization: a review</article-title>. <source>Struct Multidiscip Optim</source>. <year>2013</year>;<volume>48</volume>(<issue>3</issue>):<fpage>437</fpage>&#x2013;<lpage>72</lpage>. doi:<pub-id pub-id-type="doi">10.1007/s00158-013-0912-y</pub-id>.</mixed-citation></ref>
<ref id="ref-9"><label>[9]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Li</surname> <given-names>Z</given-names></string-name>, <string-name><surname>Xu</surname> <given-names>H</given-names></string-name>, <string-name><surname>Zhang</surname> <given-names>S</given-names></string-name></person-group>. <article-title>A comprehensive review of explicit topology optimization based on Moving Morphable Components (MMC) method</article-title>. <source>Arch Comput Methods Eng</source>. <year>2024</year>;<volume>31</volume>(<issue>5</issue>):<fpage>2507</fpage>&#x2013;<lpage>36</lpage>. doi:<pub-id pub-id-type="doi">10.1007/s11831-023-10053-8</pub-id>.</mixed-citation></ref>
<ref id="ref-10"><label>[10]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Du</surname> <given-names>B</given-names></string-name>, <string-name><surname>Yao</surname> <given-names>W</given-names></string-name>, <string-name><surname>Zhao</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Chen</surname> <given-names>X</given-names></string-name></person-group>. <article-title>A moving morphable voids approach for topology optimization with closed B-splines</article-title>. <source>J Mech Des</source>. <year>2019</year>;<volume>141</volume>(<issue>8</issue>):<fpage>081401</fpage>. doi:<pub-id pub-id-type="doi">10.1115/1.4043369</pub-id>.</mixed-citation></ref>
<ref id="ref-11"><label>[11]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Rozvany</surname> <given-names>G</given-names></string-name></person-group>. <article-title>The SIMP method in topology optimization-theoretical background, advantages and new applications</article-title>. In: <conf-name>Proceedings of the 8th Symposium on Multidisciplinary Analysis and Optimization; 2000 Sep 6&#x2013;8</conf-name>; <publisher-loc>Long Beach, CA, USA</publisher-loc>. doi:<pub-id pub-id-type="doi">10.2514/6.2000-4738</pub-id>.</mixed-citation></ref>
<ref id="ref-12"><label>[12]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Hsu</surname> <given-names>YL</given-names></string-name>, <string-name><surname>Hsu</surname> <given-names>MS</given-names></string-name>, <string-name><surname>Chen</surname> <given-names>CT</given-names></string-name></person-group>. <article-title>Interpreting results from topology optimization using density contours</article-title>. <source>Comput Struct</source>. <year>2001</year>;<volume>79</volume>(<issue>10</issue>):<fpage>1049</fpage>&#x2013;<lpage>58</lpage>. doi:<pub-id pub-id-type="doi">10.1016/S0045-7949(00)00194-2</pub-id>.</mixed-citation></ref>
<ref id="ref-13"><label>[13]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Chu</surname> <given-names>S</given-names></string-name>, <string-name><surname>Xiao</surname> <given-names>M</given-names></string-name>, <string-name><surname>Gao</surname> <given-names>L</given-names></string-name>, <string-name><surname>Gui</surname> <given-names>L</given-names></string-name>, <string-name><surname>Li</surname> <given-names>H</given-names></string-name></person-group>. <article-title>An effective structural boundary processing method based on support vector machine for discrete topology optimization</article-title>. In: <conf-name>Proceedings of the 2016 IEEE 20th International Conference on Computer Supported Cooperative Work in Design (CSCWD); 2016 May 4&#x2013;6</conf-name>. <publisher-loc>Nanchang, China</publisher-loc>. p. <fpage>10</fpage>&#x2013;<lpage>5</lpage>; doi:<pub-id pub-id-type="doi">10.1109/CSCWD.2016.7565954</pub-id>.</mixed-citation></ref>
<ref id="ref-14"><label>[14]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Tang</surname> <given-names>PS</given-names></string-name>, <string-name><surname>Chang</surname> <given-names>KH</given-names></string-name></person-group>. <article-title>Integration of topology and shape optimization for design of structural components</article-title>. <source>Struct Multidiscip Optim</source>. <year>2001</year>;<volume>22</volume>(<issue>1</issue>):<fpage>65</fpage>&#x2013;<lpage>82</lpage>. doi:<pub-id pub-id-type="doi">10.1007/PL00013282</pub-id>.</mixed-citation></ref>
<ref id="ref-15"><label>[15]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Wu</surname> <given-names>X</given-names></string-name>, <string-name><surname>Shen</surname> <given-names>H</given-names></string-name>, <string-name><surname>Zhang</surname> <given-names>T</given-names></string-name>, <string-name><surname>Li</surname> <given-names>H</given-names></string-name>, <string-name><surname>Liu</surname> <given-names>B</given-names></string-name>, <string-name><surname>Yan</surname> <given-names>S</given-names></string-name></person-group>. <article-title>Research on a boundary regularization geometric reconstruction method of topology optimization structure based on the Freeman code</article-title>. <source>Adv Mech Eng</source>. <year>2023</year>;<volume>15</volume>(<issue>2</issue>):<fpage>16878132231152954</fpage>. doi:<pub-id pub-id-type="doi">10.1177/16878132231152954</pub-id>.</mixed-citation></ref>
<ref id="ref-16"><label>[16]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Li</surname> <given-names>X</given-names></string-name>, <string-name><surname>Qin</surname> <given-names>C</given-names></string-name>, <string-name><surname>Wei</surname> <given-names>P</given-names></string-name>, <string-name><surname>Su</surname> <given-names>C</given-names></string-name></person-group>. <article-title>A boundary density evolutionary topology optimization of continuum structures with smooth boundaries</article-title>. <source>Int J Numer Methods Eng</source>. <year>2022</year>;<volume>123</volume>(<issue>1</issue>):<fpage>158</fpage>&#x2013;<lpage>79</lpage>. doi:<pub-id pub-id-type="doi">10.1002/nme.6851</pub-id>.</mixed-citation></ref>
<ref id="ref-17"><label>[17]</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name><surname>Swierstra</surname> <given-names>MK</given-names></string-name>, <string-name><surname>Gupta</surname> <given-names>DK</given-names></string-name>, <string-name><surname>Langelaar</surname> <given-names>M</given-names></string-name></person-group>. <article-title>Automated and accurate geometry extraction and shape optimization of 3D topology optimization results</article-title>. <comment>arXiv:2004.05448. 2020</comment>. doi:<pub-id pub-id-type="doi">10.48550/arXiv.2004.05448</pub-id>.</mixed-citation></ref>
<ref id="ref-18"><label>[18]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Li</surname> <given-names>Z</given-names></string-name>, <string-name><surname>Lee</surname> <given-names>TU</given-names></string-name>, <string-name><surname>Yao</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Xie</surname> <given-names>YM</given-names></string-name></person-group>. <article-title>Smoothing topology optimization results using pre-built lookup tables</article-title>. <source>Adv Eng Softw</source>. <year>2022</year>;<volume>173</volume>:<fpage>103204</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.advengsoft.2022.103204</pub-id>.</mixed-citation></ref>
<ref id="ref-19"><label>[19]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Je&#x017E;ek</surname> <given-names>O</given-names></string-name>, <string-name><surname>Kopa&#x010D;ka</surname> <given-names>J</given-names></string-name>, <string-name><surname>Isoz</surname> <given-names>M</given-names></string-name>, <string-name><surname>Gabriel</surname> <given-names>D</given-names></string-name>, <string-name><surname>Mar&#x0161;&#x00E1;lek</surname> <given-names>P</given-names></string-name>, <string-name><surname>&#x0160;otola</surname> <given-names>M</given-names></string-name>, <etal>et al</etal></person-group>. <article-title>Smooth geometry extraction from SIMP topology optimization: signed distance function approach with volume preservation</article-title>. <source>Adv Eng Softw</source>. <year>2026</year>;<volume>212</volume>:<fpage>104071</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.advengsoft.2025.104071</pub-id>.</mixed-citation></ref>
<ref id="ref-20"><label>[20]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Lin</surname> <given-names>CY</given-names></string-name>, <string-name><surname>Chao</surname> <given-names>LS</given-names></string-name></person-group>. <article-title>Automated image interpretation for integrated topology and shape optimization</article-title>. <source>Struct Multidiscip Optim</source>. <year>2000</year>;<volume>20</volume>(<issue>2</issue>):<fpage>125</fpage>&#x2013;<lpage>37</lpage>. doi:<pub-id pub-id-type="doi">10.1007/s001580050144</pub-id>.</mixed-citation></ref>
<ref id="ref-21"><label>[21]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Lin</surname> <given-names>CY</given-names></string-name>, <string-name><surname>Lin</surname> <given-names>SH</given-names></string-name></person-group>. <article-title>Artificial neural network based hole image interpretation techniques for integrated topology and shape optimization</article-title>. <source>Comput Methods Appl Mech Eng</source>. <year>2005</year>;<volume>194</volume>(<issue>36&#x2013;38</issue>):<fpage>3817</fpage>&#x2013;<lpage>37</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.cma.2004.09.005</pub-id>.</mixed-citation></ref>
<ref id="ref-22"><label>[22]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Yildiz</surname> <given-names>A</given-names></string-name>, <string-name><surname>&#x00D6;zt&#x00FC;rk</surname> <given-names>N</given-names></string-name>, <string-name><surname>Kaya</surname> <given-names>N</given-names></string-name>, <string-name><surname>&#x00D6;zt&#x00FC;rk</surname> <given-names>F</given-names></string-name></person-group>. <article-title>Integrated optimal topology design and shape optimization using neural networks</article-title>. <source>Struct Multidiscip Optim</source>. <year>2003</year>;<volume>25</volume>(<issue>4</issue>):<fpage>251</fpage>&#x2013;<lpage>60</lpage>. doi:<pub-id pub-id-type="doi">10.1007/s00158-003-0300-0</pub-id>.</mixed-citation></ref>
<ref id="ref-23"><label>[23]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Gamache</surname> <given-names>JF</given-names></string-name>, <string-name><surname>Vadean</surname> <given-names>A</given-names></string-name>, <string-name><surname>Noirot-N&#x00E9;rin</surname> <given-names>&#x00C9;</given-names></string-name>, <string-name><surname>Beaini</surname> <given-names>D</given-names></string-name>, <string-name><surname>Achiche</surname> <given-names>S</given-names></string-name></person-group>. <article-title>Image-based truss recognition for density-based topology optimization approach</article-title>. <source>Struct Multidiscip Optim</source>. <year>2018</year>;<volume>58</volume>(<issue>6</issue>):<fpage>2697</fpage>&#x2013;<lpage>709</lpage>. doi:<pub-id pub-id-type="doi">10.1007/s00158-018-2028-x</pub-id>.</mixed-citation></ref>
<ref id="ref-24"><label>[24]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><surname>Joshi</surname> <given-names>S</given-names></string-name>, <string-name><surname>Medina</surname> <given-names>J</given-names></string-name>, <string-name><surname>Menhorn</surname> <given-names>F</given-names></string-name>, <string-name><surname>Reiz</surname> <given-names>S</given-names></string-name>, <string-name><surname>Rueth</surname> <given-names>B</given-names></string-name>, <string-name><surname>Wannerberg</surname> <given-names>E</given-names></string-name>, <etal>et al.</etal></person-group> <source>Cad-integrated topology optimization</source>. <publisher-loc>Munich, Germany</publisher-loc>: <publisher-name>Technical University of Munich</publisher-name>; <year>2016</year>.</mixed-citation></ref>
<ref id="ref-25"><label>[25]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Liu</surname> <given-names>S</given-names></string-name>, <string-name><surname>Li</surname> <given-names>Q</given-names></string-name>, <string-name><surname>Liu</surname> <given-names>J</given-names></string-name>, <string-name><surname>Chen</surname> <given-names>W</given-names></string-name>, <string-name><surname>Zhang</surname> <given-names>Y</given-names></string-name></person-group>. <article-title>A realization method for transforming a topology optimization design into additive manufacturing structures</article-title>. <source>Engineering</source>. <year>2018</year>;<volume>4</volume>(<issue>2</issue>):<fpage>277</fpage>&#x2013;<lpage>85</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.eng.2017.09.002</pub-id>.</mixed-citation></ref>
<ref id="ref-26"><label>[26]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Chac&#x00F3;n</surname> <given-names>J</given-names></string-name>, <string-name><surname>Bellido</surname> <given-names>J</given-names></string-name>, <string-name><surname>Donoso</surname> <given-names>A</given-names></string-name></person-group>. <article-title>Integration of topology optimized designs into CAD/CAM via an IGES translator</article-title>. <source>Struct Multidiscip Optim</source>. <year>2014</year>;<volume>50</volume>(<issue>6</issue>):<fpage>1115</fpage>&#x2013;<lpage>25</lpage>. doi:<pub-id pub-id-type="doi">10.1007/s00158-014-1099-6</pub-id>.</mixed-citation></ref>
<ref id="ref-27"><label>[27]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Koguchi</surname> <given-names>A</given-names></string-name>, <string-name><surname>Kikuchi</surname> <given-names>N</given-names></string-name></person-group>. <article-title>A surface reconstruction algorithm for topology optimization</article-title>. <source>Eng Comput</source>. <year>2006</year>;<volume>22</volume>(<issue>1</issue>):<fpage>1</fpage>&#x2013;<lpage>10</lpage>. doi:<pub-id pub-id-type="doi">10.1007/s00366-006-0023-0</pub-id>.</mixed-citation></ref>
<ref id="ref-28"><label>[28]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Yoely</surname> <given-names>YM</given-names></string-name>, <string-name><surname>Amir</surname> <given-names>O</given-names></string-name>, <string-name><surname>Hanniel</surname> <given-names>I</given-names></string-name></person-group>. <article-title>Topology and shape optimization with explicit geometric constraints using a spline-based representation and a fixed grid</article-title>. <source>Procedia Manuf</source>. <year>2018</year>;<volume>21</volume>:<fpage>189</fpage>&#x2013;<lpage>96</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.promfg.2018.02.110</pub-id>.</mixed-citation></ref>
<ref id="ref-29"><label>[29]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Hsu</surname> <given-names>MH</given-names></string-name>, <string-name><surname>Hsu</surname> <given-names>YL</given-names></string-name></person-group>. <article-title>Interpreting three-dimensional structural topology optimization results</article-title>. <source>Comput Struct</source>. <year>2005</year>;<volume>83</volume>(<issue>4&#x2013;5</issue>):<fpage>327</fpage>&#x2013;<lpage>37</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.compstruc.2004.09.005</pub-id>.</mixed-citation></ref>
<ref id="ref-30"><label>[30]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Cuilli&#x00E8;re</surname> <given-names>JC</given-names></string-name>, <string-name><surname>Francois</surname> <given-names>V</given-names></string-name>, <string-name><surname>Drouet</surname> <given-names>JM</given-names></string-name></person-group>. <article-title>Towards the integration of topology optimization into the cad process</article-title>. <source>Comput-Aided Des Appl</source>. <year>2014</year>;<volume>11</volume>(<issue>2</issue>):<fpage>120</fpage>&#x2013;<lpage>40</lpage>. doi:<pub-id pub-id-type="doi">10.1080/16864360.2014.846067</pub-id>.</mixed-citation></ref>
<ref id="ref-31"><label>[31]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Wen</surname> <given-names>Z</given-names></string-name>, <string-name><surname>Zhai</surname> <given-names>X</given-names></string-name>, <string-name><surname>Kang</surname> <given-names>H</given-names></string-name></person-group>. <article-title>From density to CAD: automatic and robust CAD model generation of topology optimization results via sparse optimization</article-title>. <source>Adv Eng Softw</source>. <year>2025</year>;<volume>209</volume>:<fpage>103977</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.advengsoft.2025.103977</pub-id>.</mixed-citation></ref>
<ref id="ref-32"><label>[32]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Larsen</surname> <given-names>S</given-names></string-name>, <string-name><surname>Jensen</surname> <given-names>CG</given-names></string-name></person-group>. <article-title>Converting topology optimization results into parametric CAD models</article-title>. <source>Comput-Aided Des Appl</source>. <year>2009</year>;<volume>6</volume>(<issue>3</issue>):<fpage>407</fpage>&#x2013;<lpage>18</lpage>. doi:<pub-id pub-id-type="doi">10.3722/cadaps.2009.407-418</pub-id>.</mixed-citation></ref>
<ref id="ref-33"><label>[33]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Bacciaglia</surname> <given-names>A</given-names></string-name>, <string-name><surname>Ceruti</surname> <given-names>A</given-names></string-name>, <string-name><surname>Liverani</surname> <given-names>A</given-names></string-name></person-group>. <article-title>Surface smoothing for topological optimized 3D models</article-title>. <source>Struct Multidiscip Optim</source>. <year>2021</year>;<volume>64</volume>(<issue>6</issue>):<fpage>3453</fpage>&#x2013;<lpage>72</lpage>. doi:<pub-id pub-id-type="doi">10.1007/s00158-021-03027-6</pub-id>.</mixed-citation></ref>
<ref id="ref-34"><label>[34]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Ren</surname> <given-names>H</given-names></string-name>, <string-name><surname>Xia</surname> <given-names>B</given-names></string-name>, <string-name><surname>Wang</surname> <given-names>W</given-names></string-name>, <string-name><surname>Chen</surname> <given-names>X</given-names></string-name>, <string-name><surname>Liu</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Zhou</surname> <given-names>P</given-names></string-name>, <etal>et al</etal></person-group>. <article-title>AMRTO: automated CAD model reconstruction of topology optimization result</article-title>. <source>Comput Methods Appl Mech Eng</source>. <year>2025</year>;<volume>435</volume>:<fpage>117673</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.cma.2024.117673</pub-id>.</mixed-citation></ref>
<ref id="ref-35"><label>[35]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Sigmund</surname> <given-names>O</given-names></string-name></person-group>. <article-title>A 99 line topology optimization code written in Matlab</article-title>. <source>Struct Multidiscip Optim</source>. <year>2001</year>;<volume>21</volume>(<issue>2</issue>):<fpage>120</fpage>&#x2013;<lpage>7</lpage>. doi:<pub-id pub-id-type="doi">10.1007/s001580050176</pub-id>.</mixed-citation></ref>
<ref id="ref-36"><label>[36]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Maple</surname> <given-names>C</given-names></string-name></person-group>. <article-title>Geometric design and space planning using the marching squares and marching cube algorithms</article-title>. In: <conf-name>Proceedings of the 2003 International Conference on Geometric Modeling and Graphics; 2003 Jul 16&#x2013;18</conf-name>; <publisher-loc>London, UK</publisher-loc>. p. <fpage>90</fpage>&#x2013;<lpage>5</lpage>. doi:<pub-id pub-id-type="doi">10.1109/GMAG.2003.1219671</pub-id>.</mixed-citation></ref>
<ref id="ref-37"><label>[37]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><surname>Piegl</surname> <given-names>L</given-names></string-name>, <string-name><surname>Tiller</surname> <given-names>W</given-names></string-name></person-group>. <source>The NURBS book</source>. <edition>2nd ed</edition>. <publisher-loc>Berlin/Heidelberg, Germany</publisher-loc>: <publisher-name>Springer</publisher-name>; <year>1997</year>. doi:<pub-id pub-id-type="doi">10.1007/978-3-642-59223-2</pub-id>.</mixed-citation></ref>
<ref id="ref-38"><label>[38]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><surname>Mendelson</surname> <given-names>B</given-names></string-name></person-group>. <source>Introduction to topology</source>. <publisher-loc>Washington, DC, USA</publisher-loc>: <publisher-name>Courier Corporation</publisher-name>; <year>1990</year>.</mixed-citation></ref>
<ref id="ref-39"><label>[39]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Bose</surname> <given-names>P</given-names></string-name>, <string-name><surname>Toussaint</surname> <given-names>G</given-names></string-name></person-group>. <article-title>Geometric and computational aspects of manufacturing processes</article-title>. <source>Comput Graph</source>. <year>1994</year>;<volume>18</volume>(<issue>4</issue>):<fpage>487</fpage>&#x2013;<lpage>97</lpage>. doi:<pub-id pub-id-type="doi">10.1016/0097-8493(94)90061-2</pub-id>.</mixed-citation></ref>
<ref id="ref-40"><label>[40]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Sutherland</surname> <given-names>IE</given-names></string-name>, <string-name><surname>Sproull</surname> <given-names>RF</given-names></string-name>, <string-name><surname>Schumacker</surname> <given-names>RA</given-names></string-name></person-group>. <article-title>A characterization of ten hidden-surface algorithms</article-title>. <source>ACM Comput Surv</source>. <year>1974</year>;<volume>6</volume>(<issue>1</issue>):<fpage>1</fpage>&#x2013;<lpage>55</lpage>. doi:<pub-id pub-id-type="doi">10.1145/356625.356626</pub-id>.</mixed-citation></ref>
<ref id="ref-41"><label>[41]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Yu</surname> <given-names>D</given-names></string-name>, <string-name><surname>Cai</surname> <given-names>S</given-names></string-name>, <string-name><surname>Gao</surname> <given-names>T</given-names></string-name>, <string-name><surname>Zhang</surname> <given-names>W</given-names></string-name></person-group>. <article-title>A 168-line MATLAB code for topology optimization with the adaptive bubble method (ABM)</article-title>. <source>Struct Multidiscip Optim</source>. <year>2023</year>;<volume>66</volume>(<issue>1</issue>):<fpage>10</fpage>. doi:<pub-id pub-id-type="doi">10.1007/s00158-022-03403-w</pub-id>.</mixed-citation></ref>
<ref id="ref-42"><label>[42]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Svanberg</surname> <given-names>K</given-names></string-name></person-group>. <article-title>The method of moving asymptotes&#x2014;a new method for structural optimization</article-title>. <source>Int J Numer Methods Eng</source>. <year>1987</year>;<volume>24</volume>(<issue>2</issue>):<fpage>359</fpage>&#x2013;<lpage>73</lpage>. doi:<pub-id pub-id-type="doi">10.1002/nme.1620240207</pub-id>.</mixed-citation></ref>
</ref-list>
</back></article>







