18
Computer-Aided Design 45 (2013) 1489–1506 Contents lists available at ScienceDirect Computer-Aided Design journal homepage: www.elsevier.com/locate/cad Automatic mesh generation and transformation for topology optimization methods Jean-Christophe Cuillière a,, Vincent Francois a , Jean-Marc Drouet b a Équipe de Recherche en Intégration Cao-Calcul (ERICCA), Département de Génie Mécanique, Université du Québec à Trois-Rivières, Trois-Rivières, G9A 5H7, QC, Canada b Groupe Optis, Département de Génie Mécanique, Université de Sherbrooke, Sherbrooke J1K 2R1, Canada highlights Towards the integration of topology optimization methods with CAD. Automatic transformation of topology optimization results into 3D shapes. New mesh generation and transformation algorithms for heterogeneous geometry. article info Article history: Received 28 June 2012 Accepted 23 July 2013 Keywords: Mesh generation Advancing front Multiple domains Conforming boundaries B-Rep CAD/FEA integration Topology optimization abstract This paper presents automatic tools aimed at the generation and adaptation of unstructured tetrahedral meshes in the context of composite or heterogeneous geometry. These tools are primarily intended for ap- plications in the domain of topology optimization methods but the approach introduced presents great potential in a wider context. Indeed, various fields of application can be foreseen for which meshing het- erogeneous geometry is required, such as finite element simulations (in the case of heterogeneous ma- terials and assemblies, for example), animation and visualization (medical imaging, for example). Using B-Rep concepts as well as specific adaptations of advancing front mesh generation algorithms, the mesh generation approach presented guarantees, in a simple and natural way, mesh continuity and confor- mity across interior boundaries when trying to mesh a composite domain. When applied in the context of topology optimization methods, this approach guarantees that design and non-design sub-domains are meshed so that finite elements are tagged as design and non-design elements and so that continuity and conformity are guaranteed at the interface between design and non-design sub-domains. The paper also presents how mesh transformation and mesh smoothing tools can be successfully used when trying to derive a functional shape from raw topology optimization results. © 2013 Elsevier Ltd. All rights reserved. 1. Introduction The increasingly intensive use of numerical methods in general, such as finite element analysis (FEA), in the context of product de- velopment with computer aided design (CAD) tools has stimulated research work towards automatic, fast and efficient mesh gener- ation methods and algorithms [1] for the past 25 years. During this time, a significant effort has been made on developing reliable and versatile geometric modelling tools and on integrating these tools with mesh generation tools and consequently with FEA tools. More recently, the use of numerical methods (such as FEA) and ge- ometric modelling tools has been extended to many other fields of This paper has been recommended for acceptance by Michael Yu Wang. Corresponding author. E-mail addresses: [email protected], [email protected] (J.-C. Cuillière), [email protected] (V. Francois), [email protected] (J.-M. Drouet). activity and for many different types of applications (games, ani- mation, virtual reality, architecture, medical imaging, etc.). Conse- quently, there is an emerging need for the adaptation of automatic mesh generation and geometric modelling tools in a wide variety of contexts. In general, there is an increasing need for automatically modelling various types of domains with respect to various types of constraints and generating high quality meshes over these do- mains. An example of these constraints is automatically generat- ing FEA meshes over multiple domains [2–5], while satisfying size, quality and continuity requirements. This type of constraint is en- countered in many fields of activity, such as numerical simulations (topology optimization methods, multi-physics or multi-phases, multiple parts and multi-materials, etc.), virtual reality or imaging. Among the fields of activity mentioned above, topology opti- mization methods [6–12] are among the most promising tools for the future in the context of new product development with CAD. These methods are basically intended to automate the optimiza- tion of parts, assemblies and structures through iterative finite 0010-4485/$ – see front matter © 2013 Elsevier Ltd. All rights reserved. http://dx.doi.org/10.1016/j.cad.2013.07.004

Automatic mesh generation and transformation for topology optimization methods

Embed Size (px)

Citation preview

Page 1: Automatic mesh generation and transformation for topology optimization methods

Computer-Aided Design 45 (2013) 1489–1506

Contents lists available at ScienceDirect

Computer-Aided Design

journal homepage: www.elsevier.com/locate/cad

Automatic mesh generation and transformation for topologyoptimization methods

Jean-Christophe Cuillière a,∗, Vincent Francois a, Jean-Marc Drouet ba Équipe de Recherche en Intégration Cao-Calcul (ERICCA), Département de Génie Mécanique, Université du Québec à Trois-Rivières, Trois-Rivières,G9A 5H7, QC, Canadab Groupe Optis, Département de Génie Mécanique, Université de Sherbrooke, Sherbrooke J1K 2R1, Canada

h i g h l i g h t s

• Towards the integration of topology optimization methods with CAD.• Automatic transformation of topology optimization results into 3D shapes.• Newmesh generation and transformation algorithms for heterogeneous geometry.

a r t i c l e i n f o

Article history:Received 28 June 2012Accepted 23 July 2013

Keywords:Mesh generationAdvancing frontMultiple domainsConforming boundariesB-RepCAD/FEA integrationTopology optimization

a b s t r a c t

This paper presents automatic tools aimed at the generation and adaptation of unstructured tetrahedralmeshes in the context of composite or heterogeneous geometry. These tools are primarily intended for ap-plications in the domain of topology optimization methods but the approach introduced presents greatpotential in a wider context. Indeed, various fields of application can be foreseen for which meshing het-erogeneous geometry is required, such as finite element simulations (in the case of heterogeneous ma-terials and assemblies, for example), animation and visualization (medical imaging, for example). UsingB-Rep concepts as well as specific adaptations of advancing front mesh generation algorithms, the meshgeneration approach presented guarantees, in a simple and natural way, mesh continuity and confor-mity across interior boundaries when trying to mesh a composite domain. When applied in the contextof topology optimization methods, this approach guarantees that design and non-design sub-domains aremeshed so that finite elements are tagged as design and non-design elements and so that continuity andconformity are guaranteed at the interface between design and non-design sub-domains. The paper alsopresents how mesh transformation and mesh smoothing tools can be successfully used when trying toderive a functional shape from raw topology optimization results.

© 2013 Elsevier Ltd. All rights reserved.

1. Introduction

The increasingly intensive use of numerical methods in general,such as finite element analysis (FEA), in the context of product de-velopment with computer aided design (CAD) tools has stimulatedresearch work towards automatic, fast and efficient mesh gener-ation methods and algorithms [1] for the past 25 years. Duringthis time, a significant effort has beenmade on developing reliableand versatile geometric modelling tools and on integrating thesetools withmesh generation tools and consequently with FEA tools.More recently, the use of numerical methods (such as FEA) and ge-ometric modelling tools has been extended to many other fields of

This paper has been recommended for acceptance by Michael Yu Wang.∗ Corresponding author.

E-mail addresses: [email protected], [email protected](J.-C. Cuillière), [email protected] (V. Francois),[email protected] (J.-M. Drouet).

0010-4485/$ – see front matter© 2013 Elsevier Ltd. All rights reserved.http://dx.doi.org/10.1016/j.cad.2013.07.004

activity and for many different types of applications (games, ani-mation, virtual reality, architecture, medical imaging, etc.). Conse-quently, there is an emerging need for the adaptation of automaticmesh generation and geometric modelling tools in a wide varietyof contexts. In general, there is an increasing need for automaticallymodelling various types of domains with respect to various typesof constraints and generating high quality meshes over these do-mains. An example of these constraints is automatically generat-ing FEAmeshes over multiple domains [2–5], while satisfying size,quality and continuity requirements. This type of constraint is en-countered inmany fields of activity, such as numerical simulations(topology optimization methods, multi-physics or multi-phases,multiple parts andmulti-materials, etc.), virtual reality or imaging.

Among the fields of activity mentioned above, topology opti-mization methods [6–12] are among the most promising tools forthe future in the context of new product development with CAD.These methods are basically intended to automate the optimiza-tion of parts, assemblies and structures through iterative finite

Page 2: Automatic mesh generation and transformation for topology optimization methods

1490 J.-C. Cuillière et al. / Computer-Aided Design 45 (2013) 1489–1506

Fig. 1. Conformal (a) and non-conformal (b) meshes at the boundary between two planar sub-domains.

element analyses applied to automatically evolving shapes andtopologies. Bringing this type of technology to maturity is likelyto open a new era for product development with CAD, as thesemethods somehow tend to automate the production of new de-sign ideas. From different aspects, which we are going to presentin this paper, the key to this evolution towards integrating topol-ogy optimization methods into the product design process relieson adapting geometricmodelling andmesh generation tools to thisspecific context. Indeed, this paper introduces new ideas and toolsintended to contribute to the ultimate objective of fully automatingthe optimization of statically loaded 3D mechanical parts, assem-blies and structures using CAD and topology optimization meth-ods. More specifically, the paper focuses on the adaptation ofgeometricmodelling andmesh generation tools for the integrationof topology optimization methods with respect to:

• The upstream specification of input data required by topologyoptimization methods: this basically consists of subdividingthe domain to be optimized into design and non-design sub-domains and automatically meshing these sub-domains withspecific constraints. This paper presents the development ofan adaptation of the advancing front mesh generation method(AFM) aimed at the automatic generation of well sized andshaped tetrahedrons over multiple sub-domains in contact,in a general context, which can be successfully applied inthe specific context of meshing sub-domains for topologyoptimization methods.

• The downstream computation of a 3D optimized shape andtopology from raw topology optimization results. Raw topologyoptimization results in general do not explicitly describe a 3Doptimized geometric model. Deriving an optimized shape andtopology from raw topology optimization results represents amajor challenge in the context of using it for product develop-ment purposes and this paper introduces mesh transformationandmesh smoothing tools that are intended towards this direc-tion.

It is important to make it clear that even if, in this work, topol-ogy optimization is based on the solid isotropic material with pe-nalization (SIMP) method [7–10], any other topology optimizationmethod could have been considered. Indeed, the integration of anytopology optimization method into the CAD process basically fol-lows the same general steps and faces the same major challenges.

The paper starts, in the next section, with the main problemstatement concerning the upstream specification of input data re-quired by topology optimization methods (generating a valid andcontinuous 3D mesh over 3D heterogeneous geometry). After this,Section 3 focuses on theway inwhich heterogeneous geometry canbe modelled using specific boundary representation (B-Rep) con-cepts. Section 4 is dedicated to the presentation of an automaticmesh generation scheme formultiple sub-domains in contact. Sec-tion 5 starts with the application of meshes obtained, using theapproach proposed, on practical topology optimization problems,followed by the illustration of raw topology optimization resultsderived from thesemeshes. Section 5 then introduces two possiblealternatives (based onmesh transformation and smoothing), along

with the results obtained, for processing raw topology optimiza-tion results with the objective of automatically deriving optimized3D shapes from these raw results. Section 6 draws conclusions andoutlines future work.

2. Upstream problem statement

For various reasons, and formany applications, there is a need tobe able to describe a given closed domain Ω of the 3D space with aheterogeneous representation of geometry. This is the case, for ex-ample,whenΩ is physically composed of an assembly of heteroge-neous materials, for which a specific sub-domain must be definedfor each type of material. Generally speaking, given a heteroge-neous and closed geometric domainΩ , it can be divided intoN+1closed regions or sub-domainsΩi such that the union of all

Ni=0 Ωi

equalsΩ . A common problem consists of automatically generatingN + 1 meshes of the regions or sub-domains Ωi and tagging eachelement as belonging to one of the Ωi, while globally obtaining acontinuous and conformalmesh ofΩ when theseN+1meshes areput together. Fig. 1 illustrates, on an example of a 2D mesh com-posed of triangles, a conformal mesh and a non-conformal mesh atthe boundary between the two sub-domains in contact.

Once theproblem is stated thisway, one of themost sensitive is-sues in adapting standard mesh generation procedures, either De-launay, advancing front or octree based [1] to this specific contextis how sub-domains Ωi are defined. As introduced in the next sec-tion, sub-domainsΩi can be defined inmany differentways, whichhas a major impact on how standard mesh generation procedurescan be adapted, and how mesh conformity and continuity can beinsured at the interface between the sub-domains in contact. Asmentioned previously, in thework presented here, the primary ob-jective is in developing a mesh generation tool for the upstreamintegration of topology optimization into the CAD process, but itappears that this tool has many other potential applications in themore general context of automatically meshing heterogeneous ge-ometry.

3. Heterogeneous geometry

3.1. General considerations

Given a closed 3D domain Ω (with B defined as the bound-ary of Ω) divided into N + 1 sub-domains Ωi (with Bi definedas the boundary of Ωi). The sub-domains Ωi themselves and/orthe boundaries (a subset of

Ni=0 Bi) between these sub-domains

can be defined either explicitly (sets of B-Rep models for exam-ple) or implicitly (with respect to the definition of a backgroundCartesian grid of octree structure where cells are classified withrespect to the sub-domains Ωi) and this can be done using severalapproaches. Also, the boundaries between sub-domains can be de-fined either exactly (as an analytically defined free-form surface,for example, as is the case in the work presented here) or approx-imately (as a triangulation, like in [2,3]). For example, a commonand quite easy way (see [5]) used to define multiple sub-domainsΩi is introducing a specific octree structure in which each cell is

Page 3: Automatic mesh generation and transformation for topology optimization methods

J.-C. Cuillière et al. / Computer-Aided Design 45 (2013) 1489–1506 1491

Fig. 2. Sub-domains with (a) a manifold boundary topology and (b) a non-manifold boundary topology.

Fig. 3. The B-Rep definition of Ω and Ω =3

i=1 Ωi .

classified with respect to its belonging to the interior or bound-ary of some of the sub-domains Ωi. In this case, the boundaries Biand, hence, the frontiers between two ormore sub-domainsΩi aredefined implicitly through the definition, on the edges of cells, ofintersection points (in the case of primal contouring or marchingcubesmethods) and of normal vectors (in the case of dual contour-ing methods). Such an implicit definition of frontiers is usually re-ferred to as isocontouring [5]. Another issue, which has a majorimpact on which mesh generation approach is likely to be usedis that, in some cases, the union of boundaries

Ni=0 Bi can be ei-

thermanifold or non-manifold, as illustrated (on a 2D case formoreclarity) in Fig. 2.

3.2. Topology optimization

Optimizing the design of parts, assemblies and structures isclassically based on iteratively applying several stages of finite

element analysis (FEA) in order to induce gradual shape and topol-ogy enhancements. Several methods have been introduced aimedat the automation of this optimization process, among which aretopology optimization methods [6–12]. The great potential of thesemethods is that the shape and topology evolutionmentioned aboveis not constrained by the initial topology, which leads to resultswhere the final topology is not a priori known. Theway both shapeand topology are optimized is likely to be extremely powerful inthe context of the product development process with computeraided design (CAD). The input data required by thesemethods typi-cally consists of an initial 3D geometry alongwith the specificationof subsets of this initial geometry that should not be affected by theoptimization process. For example, the material around fasteningholes or, more generally, the material around geometric featureson which boundary conditions are applied should not be modifiedby the optimization process. All these subsets of the initial ge-ometry that must be kept intact are referred to as the non-designsub-domain. The remainder of the initial geometry is composed ofmaterialwhich is likely to be remodelled by the topology optimiza-tion process applied. This latter subset of the initial geometry isreferred to as the design sub-domain. Most topology optimizationmethods require that non-design and design geometries must bemeshed such that finite elements are tagged as design and non-design elements and that continuity and conformity are guaranteedat the interface between design and non-design sub-domains. Thesemesh generation requirements inherent to topology optimizationmethods are part of the general context presented above, with Ω

corresponding to the entire geometry and Ω =N

i=1 Ωi cor-responding to the non-design sub-domain (composed of N dis-connected volumes Ωi) Consequently, the design sub-domain isimplicitly defined as Ω0 = Ω − Ω .

3.3. B-Rep definitions of Ω and Ω

In the work presented here, the definition of Ω along withsub-domains Ωi is made using classical boundary representation(B-Rep) concepts. A first B-Rep model is defined for Ω (corre-sponding to the entire geometry) and a second B-Rep model forΩ =

Ni=1 Ωi (corresponding to the non-design sub-domain in the

context of topology optimization). Fig. 3 illustrates, on a samplepart, the domain Ω and its sub-domains

3i=1 Ωi (Fig. 3(a)) along

with the B-Rep model associated with Ω (Fig. 3(b)) and the B-Repmodel associated with Ω =

3i=1 Ωi (Fig. 3(c)).

The definition non-design sub-domains could have been theo-retically done at the mesh level instead of the geometry level. Thereason why it is much more convenient and efficient to define itat the geometry level is related to the origin of non-design sub-domains. Indeed, for a given component that is intended to be opti-mized, non-design sub-domains are derived from relationships thatthis component has with other components (mounting holes with

Page 4: Automatic mesh generation and transformation for topology optimization methods

1492 J.-C. Cuillière et al. / Computer-Aided Design 45 (2013) 1489–1506

Fig. 4. The design sub-domain (not defined explicitly).

Fig. 5. Specifying non-design sub-domains at the geometry level—deriving non-design sub-domains from contacts in the assembly model.

bolts and washers for example), as is the case for boundary con-ditions (BCs) in general when using FEA. Thus, as when using FEAin general, the most convenient and efficient manner that can beused to specify these conditions or relationships is to do so on thefeature-based CAD model itself and not on a discrete representa-tion of it. Among the many advantages of doing this is the fact thatnon-design geometry is likely to be derived from contact condi-tions between parts in the assembly model, as illustrated in Fig. 5.

A consequence of defining non-design geometry at the CAD level(like BCs) is that non-design geometry (along with BCs) can bespecified only once and that, therefore, different instances of theparametric definition of geometry (or different meshes) can beconsidered without re-defining BCs and non-design geometry. InFig. 6(a) and (b) two instances of the sample part taken from Fig. 5are illustrated, along with non-design sub-domains derived foreach instance. Thus, by allowing the definition of non-design ge-ometry at the CAD level, this strategy pushes the integrationbetween CAD and FEA one step further, as it allows the close inte-gration of topology optimization methods within the product de-velopment process with CAD.

B-Rep structures [13,14] have been used for many years in thecontext of 3D modelling and are classical data structures aimedat a concise representation of 3D solid topology (vertices, edges,faces, volumes, etc.) and the underlying geometry (points, curvesand surfaces). One of the interests of using B-Rep structures asa basis for mesh generation is that their hierarchical structure isvery appropriate for integrating with the hierarchical structure ofmesh components, as illustrated in Fig. 7. In fact, this integrationis classically related to the mesh generation process itself, as theautomatic discretization of a 3D solid object is usually performed

following steps that are consistent with the B-Rep topologicalhierarchy (generating nodes on B-Rep vertices, mesh segmentsalong B-Rep edges, mesh triangles on B-Rep faces and finallymesh tetrahedrons inside the B-Rep volume). This close integrationbetween B-Rep topology and mesh components is the cornerstone ofthe mesh generation process presented in the following section.

4. Meshing heterogeneous geometry

4.1. Introduction

In the work presented here, automatically meshing multiplesub-domains in contact is performed by an adaptation of existingmesh generation procedures developed by our research team[15–19], which is based on a specific and new adaptation of theAFM. As mentioned in the previous paragraph, Ω and Ω =N

i=1 Ωi are defined using two separate B-Repmodels. This specificdefinition of geometry implies using specific mesh generationprocedures. Both Ω and Ω =

Ni=1 Ωi must be meshed such that

each finite element generated can be tagged as located inside oneof the sub-domains Ω0 to ΩN and that continuity and conformityof the mesh can be guaranteed across each boundary between anysub-domains in contact.

In the context of usual mesh generation processes, discretizingany type of B-Rep entity (a vertex, an edge, a face or a volume) isperformed from scratch, which means that no nodes and elementshave already been partially generated on these entities. In thiswork, the adaptation of a standard mesh generation procedure,namely the advancing front method, to meshing multiple sub-domains in contact relies basically on adapting the AFM to partiallymeshed entities (vertices, edges, faces and volumes), such asmeshing the remainder of a volume that is already partially filledwith tetrahedrons. This is due to the fact that it is necessary tomakesure that themesh of each sub-domain is performedwith respect toconstraints imposed by the mesh of other sub-domains in contact andvice versa. This adaptation follows the same general steps as forstandard mesh generation procedures, which means consistentlywith the B-Rep topological hierarchy. Thus, the process starts withgenerating nodes on some of the B-Rep vertices, which is followedby partially meshing edges, faces and volumes. Partially meshingB-Rep vertices and edges is quite straightforward and will not bedescribed here.

4.2. Partially meshing B-Rep faces and volume

Partially meshing a B-Rep face or a B-Rep volume is basicallyperformed with the AFM through specific adaptations of theadvancing front initiation. These adaptations are first illustrated forpartially meshed B-Rep faces on the very simple case introducedin Fig. 8 (a rectangular prism which is partially filled withtetrahedrons). In Fig. 4, a colour convention has been used formoreclarity: boundary triangles (lying on B-Rep faces) are red whereasinternal triangles are light blue.

From this point, the complete triangulation of partially trian-gulated B-Rep faces is performed using the AFM combined with aspecific initiation of the advancing front, as illustrated in Fig. 9 fora first B-Rep face. Fig. 10 illustrates two specific cases occurringwhen existing isolated tetrahedrons connect inside B-Rep facesthough isolated segments or isolated nodes.

These situations (isolated segments and isolated nodes) requirefurther processing. In the case of an isolated segment, the advanc-ing front is initiated on this segment using a pair of front elements(segments) which are oriented in opposite directions. For an iso-lated node, a first option is creating an arbitrary pair of meshsegments issued from the isolated node. This ensures that the

Page 5: Automatic mesh generation and transformation for topology optimization methods

J.-C. Cuillière et al. / Computer-Aided Design 45 (2013) 1489–1506 1493

Fig. 6. Specifying non-design sub-domains at the geometry level—two instances (a) and (b) of the same component and non-design sub-domains derived.

resulting mesh will feature the isolated node. However, if manyisolated nodes have to be processed on a given B-Rep face, thisoption is likely to fail because it will be difficult if impossible togenerate many arbitrary pairs of mesh segments without interfer-ence. Alternate options for taking into account isolated nodes areconstrained meshing or a posteriori mesh adaptation. It is impor-tant to point out that specific configurations may occur when pro-cessing isolated segments, for example when an isolated segmentconnects with the face’s boundary. An elegant and efficient way tohandle these specific configurations is using a non-manifold datastructure for the advancing front, in which (in 2D) a front node canbe shared by more than two front segments.

Once each B-Rep face is processed this way, the AFM can be ini-tialized for the automatic generation of tetrahedrons inside the re-maining volume to be filled. Here again, this initialization needs tobe adapted to the context. The 3D advancing front (composedwithsets of triangles) is basically initialized with all triangles generatedat the previous step alongwith all triangular faces of existing tetra-hedrons that are located inside the B-Rep volume. Moreover, spe-cific configurations have to be handled through further processing,like in the case of the partial triangulation of B-Rep faces.

These specific configurations are dealt with using the same ba-sic principles as those described in the case of the partial triangula-tion of B-Rep faces for isolated nodes and segments. This involveshandling a non-manifold data structure for the 3D advancing front,which practically cannot be avoided for the 3D implementation ofthe advancing front method in general. Being able to handle par-tially meshed B-Rep vertices, edges, faces and volumes, along withmaintaining a close integration between B-Rep topology andmeshcomponents throughout the whole process are fundamental pre-requisites for the new mesh generation process presented in thenext section.

4.3. A mesh generation process in 14 steps

The newmesh generation process presented in this paper is di-vided into 14 basic steps,which are necessary tomake sure that themesh of each sub-domain is performed with respect to constraints

imposed by the mesh of other sub-domains in contact. Basically,the mesh generation process follows the B-Rep structure’s hierar-chy and, at each stage of this hierarchy, the fundamental principleunderlying these 14 steps is transferring mesh elements (nodes,straight lines, triangles and tetrahedrons) from one B-Rep modelto the other one and so on. At the end, this back and forth processbetween the two models ensures conformity and continuity of theresultingmesh. At each step of this back and forth process betweenthe twomodels, the close integration between B-Rep topology andmesh components allows enforcing a conforming mesh betweensub-domains in contactwithout imprinting the geometries. In gen-eral, this basic framework can be applied in any situation wherethe generation of a given mesh is constrained by continuity andconformity conditions induced from an existing mesh or existingmesh elements. We introduce this 14-step process on the exampleillustrated in Fig. 11 (bike suspension rocker).

Step 1: Generate nodes on the vertices of Ω (Fig. 12).Step 2: Transfer the nodes generated at step 1 that are also on

vertices of Ω to these vertices in Ω .Step 3: Generate nodes on the remaining vertices of Ω (Fig. 13).Step 4: Transfer the nodes generated at step 3 that are located on

edges of Ω to these edges in Ω .Step 5: Mesh all the edges of Ω (with straight line segments if

linear elements are to be generated) while taking into ac-count the nodes that are already located along some edgesafter applying step 4. These nodes will later constrain theresulting mesh (Fig. 14).

Step 6: Transfer the mesh segments generated at step 5 that arelying on edges of Ω to these edges in Ω .

Step 7: Use a partial meshing algorithm to complete the mesh ofall edges of Ω (Fig. 15).

Step 8: Transfer the mesh segments generated at step 7 that arelying on faces of Ω to these faces in Ω .

Step 9: Triangulate all the faces of Ω , taking into account edgesthat are already lying on some faces of Ω after applyingstep 7 (Fig. 16).

Page 6: Automatic mesh generation and transformation for topology optimization methods

1494 J.-C. Cuillière et al. / Computer-Aided Design 45 (2013) 1489–1506

Fig. 7. The B-Rep data structure and its integration with FEA data.

Step 10: Transfer the mesh triangles generated at step 9 that arelying on faces of Ω to these faces in Ω (coloured red inFig. 17).

Step 11: Triangulate all the faces of Ω , taking into account the tri-angles that are already lying on some faces after apply-ing step 10. The new triangles generated at this step arecoloured green in Fig. 17.

Step 12: This step consists of filling the volume of Ω with tetrahe-drons, using the standard AFM in 3D (Fig. 18).

Step 13: Transfer themesh tetrahedrons generated at step 12 toΩ .Step 14: Fill the remainder of Ω with tetrahedrons, taking into ac-

count the tetrahedrons (coloured red in Fig. 19) trans-ferred at step 13.

Once this 14-step process has been applied, finite elements aretagged as part ofΩ0 (coloured green in Fig. 19) or part of one of theΩi amongΩ =

Ni=1 Ωi (coloured red in Fig. 19) and the continuity

of the mesh at the interface between design and non-design sub-domains is guaranteed.

It is worth mentioning that this approach can easily be com-binedwith virtual topology concepts [18,20], whichmeans that ei-ther an actual or virtual topology of the B-Rep can be consideredwhen applying this 14-step mesh generation process.

Fig. 8. A rectangular prism partially filled with tetrahedrons.
Page 7: Automatic mesh generation and transformation for topology optimization methods

J.-C. Cuillière et al. / Computer-Aided Design 45 (2013) 1489–1506 1495

Fig. 9. Specific initiation of the AFM for partially triangulated B-Rep faces.

Fig. 10. Initiation of the AFM for partially triangulated B-Rep faces with an isolated segment and an isolated node.

Page 8: Automatic mesh generation and transformation for topology optimization methods

1496 J.-C. Cuillière et al. / Computer-Aided Design 45 (2013) 1489–1506

Fig. 11. (a) Bike suspension rocker Ω (b) The non-design sub-domain Ω =4i=1 Ωi .

Fig. 12. Meshing the vertices of Ω .

Fig. 13. Partially meshing the vertices of Ω .

Fig. 14. Meshing B-Rep edges of Ω .

Fig. 15. Meshing the B-Rep edges of Ω . Mesh segments created at step 6 are inred while mesh segments created at step 7 are in green. (For interpretation of thereferences to colour in this figure legend, the reader is referred to the web versionof this article.)

Fig. 16. Meshing all B-Rep faces of Ω .

Page 9: Automatic mesh generation and transformation for topology optimization methods

J.-C. Cuillière et al. / Computer-Aided Design 45 (2013) 1489–1506 1497

Fig. 17. Meshing all B-Rep faces of Ω . Mesh triangles created at step 10 are inred while mesh triangles created at step 11 are in green. (For interpretation of thereferences to colour in this figure legend, the reader is referred to the web versionof this article.)

Fig. 18. Meshing the volume of Ω .

Fig. 19. The final mesh.

5. Application to topology optimization with the SIMP method

5.1. Raw results obtained with the SIMP method

The mesh generation process described in the previous sec-tion has been successfully implemented and integrated insidea topology optimization platform based on C++ code and onCode_AsterTM as a FEA solver. The optimization method used is anadaptation (to 3D unstructured meshes) of a solid isotropic mate-rial with penalization (SIMP) scheme. This choice is arbitrary, asany other 3D topology optimization scheme that handles unstruc-tured tetrahedral meshes could also have been used here. We usedGmshTM [21] to visualize SIMP results and the process is fully auto-mated, starting from the input of the two B-Repmodels introducedin Section 3 (one forΩ and one forΩ) and a set of SIMPparameters.

The basic principle on which the SIMP method (see Ref. [9] fora detailed description) is based is to consider the design domainΩ0 = Ω − Ω as a sort of ‘‘porous’’ material associated with arelative density distribution ρ(x, y, z) (ρ = 0 represents void andρ = 1 ‘‘full’’ or actual material). In the SIMP process, this relativedensity distribution is related to the distribution of a virtual elasticmodulusE(x, y, z) according to the following penalization law:

E(x, y, z) = E · ρ(x, y, z)p.

E is the actual elastic modulus of the material considered and p is apenalization coefficient (p = 3 in this work).

The field ρ(x, y, z) is updated across the design domain throughseveral FEA iterations with the objective of minimizing the com-pliance C of the part or structure, defined as:

C =

U

t· F =

U

K

·

U

.

U is the global vector of nodal displacements (affected by ρ(x,y, z)) and

Kthe global stiffness matrix (also affected by ρ(x, y, z)).

F is the global vector of external nodal forces derived fromexternal loads applied.

The process stops when convergence is reached on C . If Ci isdefined as the global compliance at iteration i, the iterative processstops when a threshold on ∆i =

Ci−Ci−1Ci−1

(relative variation of Ci

between two consecutive iterations) is reached.At the beginning of this iterative optimization process the

relative distribution is initiated as a constant field ρ(x, y, z) = facross Ω0. The constant f is user specified and defined as thevolume fraction. It represents the main constraint imposed on theSIMP iterative process and basically expresses the fraction of designmaterial which has to be retained from the initial design geometrythroughout the process. The volume fraction f is defined as:

f =VVd

.

where V is the design material volume with ‘‘porosity’’, whichmeans once the relative density field ρ is applied and Vd is theactual design material volume (without ‘‘porosity’’) before begin-ning the SIMP process. This constraint is used to keep the sameglobal amount of design material over the whole iterative process,as illustrated in Fig. 20. This implies that the SIMPmethod actuallytends to optimize the distribution of an amount of ‘‘porosity’’ thatis imposed at the beginning of the process.

We illustrate the process on the part introduced in Section 4.3(see Fig. 11). On this part, the optimization problem can beformulated as follows (with f = 0.2 or f = 0.4):

Objective function: minimize the global compliance C defined as

C =

U

t· F.

Page 10: Automatic mesh generation and transformation for topology optimization methods

1498 J.-C. Cuillière et al. / Computer-Aided Design 45 (2013) 1489–1506

Fig. 20. The evolution of ‘‘porosity’’ distribution through the SIMP process, startingfrom a constant initial distribution.

Fig. 21. Evolution of Ci during the SIMP iterations for the example shown inFig. 22(b).

Constraints:

E(x, y, z) = E · ρ(x, y, z)3 with 0 ≤ ρ(x, y, z) ≤ 1

VVd

= fK

·

U

= F.

The part is meshed using the process described in Section 4.3 (seeFig. 19) and once boundary conditions are applied, as illustratedin Fig. 22(a), the optimization problem is solved using the SIMPmethod (in the first example with f = 0.2). Fig. 21 shows the evo-lution of the objective function C along SIMP iterations until con-vergence. In this case, convergence is achieved after 16 iterationswhen i is less than 0.5%.

This leads to the relative density distribution ρ(x, y, z) shownin Fig. 22(b). Note that, at each step of the iterative SIMP process,a classical filtering (see Refs. [9,22,23] for details) is applied on thedistribution of the compliance’s sensitivity ∂ C

∂ρe(whereρe is the rela-

tive density inside element e) in order to avoid checkerboard effectsand reduce mesh dependency. Even if quite impressive, becausethe optimized shape and topology can be visually foreseen fromthe nearly binary final distribution of ρ(x, y, z), the computationof these raw SIMP results with the objective of automating the cre-ation of an optimized part or structure is very far from obvious.

A classical variant (see [9,10,22,24] for details) of the SIMPmethod consists of directly smoothing the relative density distri-bution ρ(x, y, z). This smoothing uses a weighted average of therelative density field ρ(x, y, z) in a fixed neighbourhood aroundeach finite element in the design domain. This option shows the ad-vantage of smoothing the relative density field ρ(x, y, z), which islikely to induce smoother subsequent 3D shapes. As illustrated inFig. 23, after applying aweightedGaussian filter [10] (with two setsof parameters) on results shown in Fig. 22(b), this smoothing caneither be applied only once when convergence on C is achieved

Fig. 22. (a) Boundary conditions Ω . (b) The final distribution of ρ(x, y, z).

(Fig. 23(a) and (b)) or at each step of the SIMP iterative process(Fig. 23(c) and (d)).

Once raw SIMP results are obtained (smoothed or not) as a rel-ative density distribution ρ(x, y, z), two main avenues can be pur-sued in order to derive an optimized 3D shape from ρ(x, y, z):

• Using a threshold ρmin, retaining all design elements (tetrahe-drons here) for which ρ(x, y, z) ≥ ρmin, and deriving a 3D opti-mized domain from these tetrahedrons.

• Computing iso-density surfaces from the field ρ(x, y, z) andderiving a 3D optimized domain from these surfaces.

These two options are presented in the two following subsections.

5.2. First option: deriving an optimized shape by directly applying athreshold on ρ(x, y, z)

5.2.1. Principle and derived problemsThis option is primarily very easy to implement as it simply

consists of retaining all tetrahedrons for which ρ(x, y, z) ≥ ρmin.Fig. 24 presents three results obtained using with ρmin = 0.45 onrelative density distributions respectively illustrated in Figs. 22(c),23(a) and (b).

A closer view at these results reveals that even if easy toimplement, this way of deriving an optimized shape faces severalchallenges:

• The resulting shape is very irregular in general and requiresthe application of subsequent smoothing to its boundarytriangulation, as described in Section 5.2.3.

• The resulting shape depends significantly on the parametersused during the SIMP process (especially the type of filteringused and its parameters).

• When a smoothed relative density distributionρ(x, y, z) is used(like in Fig. 23), the resulting shape strongly depends on ρmin.The result in Fig. 24(c) (derived from the density distributionin Fig. 23(b)) even illustrates that if ρmin is too high, it canbring about a loss of continuity in the optimized designmaterial(illustrated using a closer view in Fig. 25(a)). Of course this canbe overcome using a lower value for ρmin (for example, ρmin =

0.3 in Fig. 25(b)). When the relative density is not smoothed(like in Fig. 22(b)) it appears that ρmin has less influence onthe final shape obtained because, in this case, the SIMP processgenuinely intends to derive raw results that are close to a binarydistribution of ρ(x, y, z).

Page 11: Automatic mesh generation and transformation for topology optimization methods

J.-C. Cuillière et al. / Computer-Aided Design 45 (2013) 1489–1506 1499

Fig. 23. Results obtained after applying a Gaussian filter (with two sets of param-eters) to the distribution of ρ(x, y, z): (a) and (b) to the final distribution of ρ(x,y, z) only. (c) and (d) to the distribution of ρ(x, y, z) at each step of the SIMP itera-tive process .

• For all cases, the fact that in some regions some neighbouringdesign elements can be just below ρmin and some others justabove ρmin implies the appearance of non-manifold meshpatterns as introduced in Fig. 25(a). Since these non-manifoldpatterns cannot be avoided, and since they represent a major

Table 1Number of non-manifold patterns.

ρ(x, y, z) withρmin = 0.45from

Number ofboundarytriangles

Numberof NMNpatterns

Numberof NMSpatterns

Smoothing ofρ(x, y, z)

Fig. 22(b) 19592 66 251 No smoothingFig. 23(a) 17336 14 52 Last SIMP iterationFig. 23(b) 16278 21 135 Last SIMP iterationFig. 23(c) 16236 8 22 Each SIMP iterationFig. 23(d) 15340 11 67 Each SIMP iteration

problem in deriving a consistent optimized shape, they mustbe automatically detected and eliminated, as explained in thenext paragraph.

5.2.2. Identifying and eliminating non-manifold patternsApplying a threshold on the relative density distribution sys-

tematically implies the appearance of two types of non-manifoldmesh patterns in the sets of retained tetrahedrons:

• Non-manifold patterns on nodes (referred to as NMN): this oc-curs when the material of two tetrahedrons in contact onlyconnects through a single common vertex, as illustrated inFig. 26(a).

• Non-manifold patterns on segments (referred to as NMS): thisoccurs when the material of two tetrahedrons in contact onlyconnects through a single common segment, as illustrated inFig. 26(b).

As demonstrated in Table 1, using a direct smoothing of ρ(x, y, z)with appropriate parameters, like in Fig. 23(c), tends to decreasethe number of NMN and NMS occurrences without completelyavoiding this phenomenon. It also appears that the number of NMNis systematically lower that the number of NMS.

Globally, the elimination of NMN and NMS patterns is basedon reactivating some of the deactivated tetrahedrons (for whichρ(x, y, z) < ρmin) that are located around these patterns. The dif-ference in processing NMN and NMS patterns is related to whichtetrahedrons are reactivated. For NMN patterns, as illustrated inFig. 27, processing consists of a reactivation of all deactivated tetra-hedrons featuring the non-manifold node as one of its four vertices.For NMSpatterns, as illustrated in Fig. 28, processing is similar, as itconsists in reactivating all deactivated tetrahedrons featuring thenon-manifold segment as one of its six edges. The algorithm used

Fig. 24. Rough optimized shapes obtained (with ρmin = 0.45) from relative density distributions illustrated in (a) Fig. 22(b), (b) Fig. 23(a), and (c) Fig. 23(b).

Page 12: Automatic mesh generation and transformation for topology optimization methods

1500 J.-C. Cuillière et al. / Computer-Aided Design 45 (2013) 1489–1506

Fig. 25. Shape obtained from the relative density distribution in Fig. 23(b): (a) with ρmin = 0.45 and (b) with for ρmin = 0.3.

Fig. 26. Non-manifold mesh patterns (a) on a node (NMN) (b) on a segment (NMS).

Fig. 27. Elimination of a NMN pattern.

Fig. 28. Elimination of two NMS patterns.

Page 13: Automatic mesh generation and transformation for topology optimization methods

J.-C. Cuillière et al. / Computer-Aided Design 45 (2013) 1489–1506 1501

Fig. 29. Processing NMN and NMS patterns.

Fig. 30. Removing NMN and NMNS patterns: (a) before the removal, (b) result obtained once convergence is achieved (before smoothing).

for the total elimination of NMN and NMS patterns is iterative (seeFig. 29) because the reactivation of tetrahedrons is likely to bringabout new NMN and NMS patterns in some cases and these newNMNandNMSpatterns have to be removed. Convergence of the al-gorithm illustrated in Fig. 29 is usually achieved through less thanten iterations. Once convergence is achieved, no NMN and NMSpatterns are left and the next and last step consist of smoothing theresulting boundary triangulation. The effect of removing NMN andNMNS patterns is usually difficult to illustrate because it is very lo-cal. A very coarse mesh has been used in Fig. 30 to better illustratethe effect of removing NMN and NMNS patterns.

5.2.3. Smoothing the boundary triangulationAs mentioned in the previous section and as illustrated in

Fig. 30, even after removing NMS and NMN patterns, the resultingshape is very irregular and it requires the application of substantialsmoothing to its boundary triangulation. Smoothing (also referredto as filtering) irregular or noisy triangulations has been a subject ofinterest for many years, especially in the field of mesh generationand computer graphics, and many smoothing algorithms or filters

have been proposed in the literature (see [25–30] for example). Theuse of these filters in our context is not obvious because it faces twomajor problems:• Triangulations resulting from the approach presented in this

paper are very irregular if compared to the type of triangula-tions onwhich existing filters are designed to apply. Thismeansthatmany existing filters cannot be used in our specific context.

• In our context, the final objective is building an optimized shapethat is functional, which means that some of the sharp featuresof the boundary triangulation, especially edges, should be pre-served if necessary.

At this point, smoothing of the boundary triangulation is basedon the algorithm presented in [25]. Fig. 31 shows results obtainedusing this smoothing algorithm for the case illustrated in Fig. 23(c)(f = 0.2 andρmin = 0.45). Fig. 32 presents the density distributionρ(x, y, z) (Fig. 32(a)) along with rough (Fig. 32(b)) and smoothed(Fig. 32(c)) shapes derived on the same sample part with the sameboundary conditions using f = 0.4 and ρmin = 0.45.

Unfortunately, even if the smoothing method used featuresa sharpness dependent filter (as described in [25]), it appears

Page 14: Automatic mesh generation and transformation for topology optimization methods

1502 J.-C. Cuillière et al. / Computer-Aided Design 45 (2013) 1489–1506

Fig. 31. Raw SIMP result, rough and final shape obtained (f = 0.2, ρmin = 0.45).

Fig. 32. Raw SIMP result, rough and final shape obtained (f = 0.4, ρmin = 0.45).

that triangulations resulting from using a threshold ρmin are tooirregular to be able to keep sharp features, as should be the caseideally. As an illustration, square edges shown in Figs. 31(b) and32(b) are smoothed in Figs. 31(c) and 32(c). The problemof keepingsharp features is complex and can be put into perspective with themore general issue of re-creating optimized CAD models from theresult provided by topology optimization methods. Even thoughwe have already successfully tested interesting elements of thesolution, further and important work remains to be done on thesubject.

5.3. Second option: deriving an optimized shape from iso-density (iso-ρ) surfaces

5.3.1. PrincipleThis option is primarily more difficult to implement, as it basi-

cally consists of computing iso-density surfaces from a continuousfield ρ(x, y, z) and deriving a 3D optimized domain from these iso-density surfaces. This option implies generating a relative densityfield ρ(x, y, z) that is continuous (which is primarily not the case,as explained just below) and using a limit on ρ(x, y, z), referred

to as ρmin in the description of the first option, to represent theboundary between void and optimized material. In this approach,iso-density surfaces (defined as ρ(x, y, z) = ρmin) associated witha continuous distribution of ρ(x, y, z) are used to compute the ex-terior shape of the designmaterial. The idea of iso-density surfacesis not new, as the computation of iso-value surfaces is a capabil-ity of many FEA systems. However, it has to be underlined that, inthe context of this work, the computation of iso-density surfaces,even if not very difficult, requires a little more computing than inthe general context of computing iso-value surfaces when post-processing FEA results. This is due to the fact that the density fieldobtained at the end of the SIMP process is not continuous at theinterface between design and non-design sub-domains since, in-side non-design sub-domains, the relative density is constant andequals unity, whereas it varies across design sub-domains.

5.3.2. A continuous distribution of ρ(x, y, z)The SIMP method classically works on a discontinuous field

ρ(x, y, z) because the distribution of ρ(x, y, z), along with thedistribution of the penalized (or virtual) elastic modulusE(x, y, z)is constant across each finite element in the mesh. In fact, for each

Page 15: Automatic mesh generation and transformation for topology optimization methods

J.-C. Cuillière et al. / Computer-Aided Design 45 (2013) 1489–1506 1503

Fig. 33. The relative density field (a) ρ(x, y, z) from SIMP results (b) ρ∗(x, y, z) with a continuous colour map (c) ρ∗(x, y, z) with filled iso-values.

Fig. 34. Discontinuity ofρ∗(x, y, z) at the interface between design and non-designsub-domains.

SIMP iteration, the value of ρ(x, y, z) inside a each tetrahedronis updated as a spatially constant value inside this tetrahedron.Fig. 33(a) presents a closer view on the result shown in Fig. 31(a),which illustrates this particularity in the primary distributionof ρ(x, y, z). This discontinuous field ρ(x, y, z) is transformedinto a continuous field, referred to as ρ∗(x, y, z), using a verystandard procedure. For node i in the tetrahedral mesh, the valueρ∗

i is calculated as the weighted average (weights are basedon the volumes of tetrahedrons) of ρj values associated with alltetrahedrons that surround this node. The values ρ∗

i associatedwith each node of the tetrahedral mesh are then used to compute apiecewise linear interpolation across the whole design sub-domain,as illustrated in Fig. 33(b) and (c).

As mentioned in the previous section, due to the fact that wemust have ρ∗(x, y, z) = 1 for the whole non-design sub-domain,specific computing is necessary to handle the discontinuity ofρ∗(x, y, z) at the interface between design and non-design sub-domains. This type of discontinuity can be handled quite easily byconsidering a discontinuous interpolation scheme at the interfacebetween design and non-design tetrahedrons, as illustrated inFig. 34.

5.3.3. Iso-density surfaces and final optimized shapeOnce the piecewise linear density field ρ∗(x, y, z) is obtained,

the next step consists of computing iso-density surfaces. For this,we use a simple and natural approach, based on the fact thatρ∗(x, y, z) is linear inside each tetrahedron. Indeed, for a giventetrahedron that intersects the iso-density surface (defined asρ∗(x, y, z) = ρmin), the result of the local intersection between thistetrahedron and the iso-density surface is composed of one or twotriangles (because the intersection between a plane and a tetrahe-dron results in a triangle or a quadrangle) which can be easily com-puted. The assembly of all these intersection triangles leads to the

definition of the iso-density surface ρ∗(x, y, z) = ρmin as a trian-gulation. Once the triangulation of ρ∗(x, y, z) = ρmin is obtained,the triangulation of the whole boundary of the optimized shape iscompleted by retrieving and/or cutting and re-triangulating someof the triangles coming both from the boundary triangulation of thedesign and non-design sub-domains. Cutting and re-triangulatingsome of the existing boundary triangles is required in order toobtain a conformal and watertight triangulation of the optimizedshape’s boundary. Even if boundary triangulations computed usingthis second option are a lot smoother than those computed usingthe first option, the final optimized shape is also processed withthe smoothing algorithm presented in [25].

Fig. 35(b) presents results obtained using this second option, onthe same case, with the same parameters (f = 0.2, ρmin = 0.45) asillustrated in Figs. 31(c) and 36(b) presents results obtained usingthis second option, on the same case, with the same parameters(f = 0.4, ρmin = 0.45) as illustrated in Fig. 32(c).

5.4. Comparison between the two options

A thorough comparisonbetween results illustrated in Figs. 31(c)and 35(b) and between results illustrated in Figs. 32(c) and 36(b)shows that the final optimized shapes obtained are very close evenif, in the first option (directly applying a threshold onρ(x, y, z)) ex-tra design material is added for solving NMN and NMS patterns. Itappears that this extra design material is negligible if compared tothe total volume of the optimized design. Since there is no signifi-cant difference in CPU time, and since the results obtained are verysimilar, these two options can be considered as equivalent. How-ever, the second option seems more promising in the perspectiveof automating the creation of optimized CADmodels from topologyoptimization problems. Indeed, further enhancement and variantsof the second option can already be foreseen, such as:

• Using higher order interpolation for the computation of ρ∗(x,y, z).

• Smoothing the final shape indirectly by processing ρ∗(x, y, z).• Generating iso-surfaces as CAD surfaces.• Representing and processing the optimized shape using a

distance field (level-sets or Eikonal equation).

5.5. Sensitivity of optimization results with respect to the mesh

One of the major challenges in the practical use of topology op-timization methods is that the sizing function used when mesh-ing the design sub-domain has a major impact on the relativedensity results obtained and, thus, on optimized shape derived.In general, it appears that the SIMP process is very sensitive tomesh sizing. Indeed, on the same optimization problem, with thesame input data and different mesh sizing, the result obtainedcan be very different, as illustrated in the following examples. InFigs. 37–40 we illustrate the fact that, with our method, optimiza-tion can be either performed usingmeshes obtained from constant

Page 16: Automatic mesh generation and transformation for topology optimization methods

1504 J.-C. Cuillière et al. / Computer-Aided Design 45 (2013) 1489–1506

Fig. 35. Results obtained using the second option on the same case as in Fig. 31(f = 0.2, ρmin = 0.45): (a) distribution of ρ∗(x, y, z), (b) the final shape.

Fig. 36. Results obtained using the second option on the same case as in Fig. 32(f = 0.4, ρmin = 0.45): (a) distribution of ρ∗(x, y, z), (b) the final shape.

sizing functions as well as graded sizing functions and that theoverall optimized shape is quite different. In these figures, all SIMPcalculations have been performed with f = 0.2, ρmin = 0.35 andusing a Gaussian filter on ρ(x, y, z) at each iteration.

In general, it appears that, at a given location, the more refinedthe mesh is, the more detailed the optimized shape is likely to beat this location. Thus, locally using a refined sizing function allowslocally converging towards shapes featuring small material thick-ness and small material section. This means that refining the meshallows refining the optimization solution and that this can be donelocally. As a matter of fact, this provides the designer with im-proved and more flexible tools but it also makes the optimizationprocess much more complex and delicate to be used.

6. Conclusion and perspectives

The newmesh generation tool presented in Section 1 of this pa-per has initially been designed for the automatic meshing of designand non-design sub-domains in the context of topology optimiza-tion methods, but it is likely to be successfully applied in the moregeneral context of meshing heterogeneous geometry (in the case

Fig. 37. A first result with a constant mesh sizing function (themesh size is 5 mm).

Fig. 38. A second result with a constant mesh sizing function (mesh size is 3 mm).

of assembly models or domains with multiple materials for ex-ample). By using a back and forth process between B-Rep modelsassociated with sub-domains Ωi underlying heterogeneous geom-etry, along with a close integration between B-Rep topology andmesh components, a conforming mesh between sub-domains incontact can be obtainedwithout imprinting the geometries. At thispoint, the major issue in extending the method presented here toheterogeneous geometry in general is the fact that its implemen-tation has been made in a specific context where each of the Ωi

in Ω =N

i=1 Ωi is in contact with Ω0 only (which is always thecase in the context of topology optimization). In the case of mutualcontacts between the Ωi in Ω =

Ni=1 Ωi, the method requires

a significant adaptation, which is part of our current research in-terest. Another important issue concerning the mesh generationscheme presented here, is that, at this point, the method requiresthat the B-Rep structure associated with Ω and the B-Rep struc-tures associated with any sub-domain Ωi (with i = 1 to N) mustexactly feature the same topology and orientation (typically edgesand faces) for any entity that is a member of the set B

(N

i=1 Bi)

Page 17: Automatic mesh generation and transformation for topology optimization methods

J.-C. Cuillière et al. / Computer-Aided Design 45 (2013) 1489–1506 1505

Fig. 39. A first result with a graded mesh sizing function (the mesh size variesbetween 1.5 and 5 mm).

Fig. 40. A second result with a graded mesh sizing function (the mesh size variesbetween 1 and 5 mm).

(recalling that B is defined as the boundary of Ω and Bi the bound-ary of Ωi). Fig. 41 illustrates a situation where this is not the case.In this type of situation, the method presented in this paper wouldfail and its handling would require significant adaptation. This is-sue is part of amore general questioning about the non-uniquenessof B-Rep models, and geometric models in general. Indeed, if a 3Dpart is defined as a closed subset of the 3D space, this subset can bemodelled using a B-Rep structure featuring many different topolo-gies, and assessing whether two B-Rep models actually represent(or not) the same subset of the 3D space is a very complex problem,which is part of our research interests.

The automatic (or at least assisted) creation of a CAD model ofthe final optimized shape from the results provided by topologyoptimization methods and subsequent processing, as presented inthis paper, is also a natural perspective for further research workon the subject. Preserving sharp features while trying to createsmooth and regular shapes is one of the many challenges inherent

Fig. 41. AdomainΩ on the left, a sub-domainΩi (light pink)with consistent topol-ogy and a sub-domain Ωi (green) with inconsistent topology. (For interpretation ofthe references to colour in this figure legend, the reader is referred to the web ver-sion of this article.)

to deriving 3D optimized CAD models from the raw results pro-vided by topology optimization methods. The subject is emergingas an important source of research interest (see [31–33], for ex-ample) but the objective of automating the construction of anoptimized CAD model from raw topology optimization results isextremely ambitious and clearly a long termperspective. In this re-search direction, one of the major challenges is introducing in theprocess amanufacturing perspective, because building a consistentoptimized shape is not only a matter of compliance and stress dis-tribution but also a matter of manufacturability and cost.

Acknowledgements

This study was carried out as part of a project supported by re-search funding from the Québec Nature and Technology ResearchFund and by the Natural Sciences and Engineering Research Coun-cil of Canada (NSERC).

References

[1] Frey PJ, George P-L. Mesh generation: application to finite elements. 2008.[2] Juretic F. Conformal meshing of multiple domains in contact. In: Presented at

the international meshing roundtable. Pittsburgh; 2008.[3] Sullivan Jr JM, et al. A three-dimensionalmesh generator for arbitrarymultiple

material domains. Finite Elements in Analysis and Design 1997;25:219–41.[4] Togashi F, et al. Extensions of overset unstructured grids to multiple bodies in

contact. Journal of Aircraft 2006;43:52–7.[5] Zhang Y, et al. An automatic 3D mesh generation method for domains with

multiple materials. Computer Methods in AppliedMechanics and Engineering2010;199:405–15.

[6] Chen J, et al. Shape optimization with topological changes and parametriccontrol. International Journal for Numerical Methods in Engineering 2007;71:313–46.

[7] BeckersM. Topology optimization using a dualmethodwith discrete variables.Structural Optimization 1999;17:14–24.

[8] Bendsoe MP, Kikuchi N. Generating optimal topologies in structural designusing a homogenization method. Computer Methods in Applied Mechanicsand Engineering 1988;71:197–224.

[9] Bendsoe MP, Sigmund O. Topology optimization—theory, methods andapplications. 2nd ed. Berlin: Springer; 2003.

[10] Bruns TE. A reevaluation of the SIMP method with filtering and an alternativeformulation for solid-void topology optimization. Structural and Multidisci-plinary Optimization 2005;30:428–36.

[11] Sigmund O. Topology optimization: a tool for the tailoring of structures andmaterials. Philosophical Transactions of the Royal Society A 2000;358:211–27.

[12] Xie YM, et al. Evolutionary structural optimization. In: Recent advances inoptimal structural design. 2002. p. 125.

[13] Mantyla M. An introduction to solid modeling. 1988.[14] Stroud I. Boundary representation modelling techniques. London; 2006.[15] Cuilliere J-C. A directmethod for the automatic discretization of 3D parametric

curves. Computer-Aided Design 1997;29:639–47.[16] Cuilliere JC. A direct method for the automatic discretization of 3D parametric

curves. Computer-Aided Design 1997;29:639–47.[17] Cuillière J-C, et al. Towards the automation of mixed-dimensional finite-

element analysis—Contribution à l’automatisation des analyses par éléments-finis multidimensionnelles. Mécanique et Industries 2011;12:513–31.

Page 18: Automatic mesh generation and transformation for topology optimization methods

1506 J.-C. Cuillière et al. / Computer-Aided Design 45 (2013) 1489–1506

[18] Foucault G. et al. An extension of the advancing front method to compositegeometry. In: Presented at the proceedings of the 16th international meshingroundtable. 2007.

[19] Francois V, Cuilliere J-C. An a priori adaptive 3D advancing front meshgenerator integrated to solid modeling. Recent Advances in Integrated Designand Manufacturing in Mechanical Engineering 2003;337–46.

[20] Sheffer A, et al. Virtual topology operators for meshing. International Journalof Computational Geometry and Applications 2000;10:309–31.

[21] Geuzaine C, Remacle J-F. Gmsh: a three-dimensional finite element meshgenerator with built-in pre- and post-processing facilities. InternationalJournal for Numerical Methods in Engineering 2009;79:1309–31.

[22] Sigmund O. Morphology-based black and white filters for topology optimiza-tion. Structural and Multidisciplinary Optimization 2007;33:401–24.

[23] Sigmund O, Petersson J. Numerical instabilities in topology optimization: Asurvey on procedures dealing with checkerboards, mesh-dependencies andlocal minima. Structural Optimization 1998;16:68–75.

[24] Bruns TE, Tortorelli DA. Topology optimization of non-linear elastic structuresand compliant mechanisms. Computer Methods in Applied Mechanics andEngineering 2001;190:3443–59.

[25] Chen C-Y, Cheng K-Y. A direction-oriented sharpness dependent filter for 3Dpolygon meshes. Computers & Graphics 2008;32:129–40.

[26] Desbrun M. et al. Implicit fairing of irregular meshes using diffusion andcurvature flow. In: Presented at the proceedings of the 26th annual conferenceon computer graphics and interactive techniques. 1999.

[27] Ohtake Y, et al. Mesh regularization and adaptive smoothing. Computer-AidedDesign 2001;33:789–800.

[28] Shen J, et al. Accurate correction of surface noises of polygonal meshes.International Journal for Numerical Methods in Engineering 2005;64:1678–98.

[29] Taubin G. A signal processing approach to fair surface design. In: Proceedingsof SIGGRAPH’95. Los Angeles; 1995, p. 351–8.

[30] Zhou Y. et al. A Quasi-Laplacian smoothing approach on arbitrary triangularmeshes. In: 10th IEEE conference on computer aided design and computergraphics. Beijing; 2007, p. 282–7.

[31] Cugini U, et al. Integrated computer-aided innovation: the PROSIT approach.Computers in Industry 2009;60:629–41.

[32] Hsu M-H, Hsu Y-L. Interpreting three-dimensional structural topologyoptimization results. Computers & Structures 2005;83:327–37.

[33] VictoriaM, et al. Topology design formultiple loading conditions of continuumstructures using isolines and isosurfaces. Finite Elements in Analysis andDesign 2010;46:229–37.