Skip to main content
Log in

Topology optimization with optimal design subdomain selection

  • Research Paper
  • Published:
Structural and Multidisciplinary Optimization Aims and scope Submit manuscript

Abstract

Topology optimization is a technique to solve the material distribution problem. However, to consider manufacturing constraints within this technique can be challenging. A type of manufacturing constraint that has not been thoroughly addressed is the ability to optimally select among a set of design subdomains. Examples of situations that may require such constraint in their design process are: the design and optimal location of a bridge pier, and the design and location of an outrigger system for a high-rise building, to name a few. This paper presents a novel formulation to address the simultaneous optimal subdomain selection and topology design problem which is based on the well-known SIMP formulation. The proposed method optimally selects the design subdomains in (2D and 3D) structures, and topology optimizes these with the remainder of the design domain which does not belong to any subdomain.

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

Access this article

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

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14

Similar content being viewed by others

Notes

  1. Solid Isotropic Material with Penalization.

  2. Evolutionary Structural Optimization and Bi-directional Evolutionary Structural Optimization.

  3. Topology optimization with self-weight has a tendency to exhibit numerical issues which fall outside the scope of the present work.

  4. An asymmetric building footprint will cause the center of mass and the center of stiffness to be relatively far from each other. This results in an accidental torsion on the building when subjected to a transverse seismic acceleration.

  5. It is quite common for the roof to have a different live load. Moreover, the roof live load has different characteristics (e.g. live load reduction criteria) which reinforce the idea of treating it separately by means of a different variable called \(L_r\).

  6. For the sake of simplicity, no superimposed dead load (SDL) or cladding load was considered in this example.

Abbreviations

\(E^{{(i)}}\) :

Elastic modulus of the i-th element

\(E_{min}\) :

Elastic modulus associated with Ersatz material

\(E_{0}\) :

Elastic modulus of the solid phase

\(\textbf{f}_i\) :

Nodal force vector of the i-th load case

\(f_0\) :

Volume fraction of complete domain

\(f_1\) :

Volume fraction of complete domain minus subdomains

\(f_2\) :

Volume fraction of subdomains

\(\textbf{H}\) :

Filter matrix

\(J_i\) :

Objective function of the i-th load case

\(\textbf{K}_0^{(i)}\) :

Stiffness matrix of the i-th element using \(E=1\)

\(\textbf{K}\) :

Global stiffness matrix

\(N_\text {dof}\) :

Number of degrees of freedom

N :

Number of elements in the complete domain

\(N_s\) :

Number of selectable subdomains

\(N_0\) :

Maximum number of design subdomains

\(N_1\) :

Number of elements in the complete domain minus the subdomains

\(N_2\) :

Number of elements in subdomains

p :

Density penalization parameter

q :

Subdomain penalization parameter

\(r_{min}\) :

Filter size

\(\textbf{u}_i\) :

Nodal displacement vector of the i-th load case

\(v_0\) :

Volume of complete domain

\(v_1\) :

Volume of complete domain minus the subdomains

\(v_2\) :

Volume of subdomains

\(\textbf{x}\) :

Vector of the N element-wise design variables

\(\alpha _i\) :

Relative sensitivity of i-th load case

\(\beta\) :

P-norm constant

\(\varepsilon\) :

Relaxation parameter

\(\varvec{\lambda }\) :

Adjoint vector

\(\varvec{\mu }\) :

Vector of \(N_s\) subdomains design variables

\(\varvec{\rho }\) :

Vector of the N element-wise densities

References

Download references

Acknowledgements

The authors would like to thank Dr. Arek Mazurek for his insightful comments on an earlier version of this work. The authors also are very grateful of the comments, ideas, and feedback given by Diego Salinas throughout the entire development of this work.

Funding

Nothing to declare.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Tomás Zegard.

Ethics declarations

Conflict of interest

On behalf of all authors, the corresponding author states that there is no conflict of interest.

Replication of results

The numerical results presented in this document can be replicated using the methodology and formulations described here. The problem data and results used in the examples are available upon request to the authors.

Additional information

Responsible Editor: Emilio Carlos Nelli Silva

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendices

Appendix

A. High-rise building with outriggers: load calculation

This section describes the loading used in the high-rise building with outriggers example. The dead (D) and live (L) loads are assumed to be design-independent by ignoring the self-weight of the outrigger. The wind load (W) does depend on the global dynamic properties of the structure. Nonetheless, the variation of the load with the design is relatively low. Because of this, the algorithm is shown to successfully converge to a solution recalculating the wind load at iterations where a relatively significant variation of the design has occurred (or assumed to have occurred). The following subsections provide details in the calculation of each of these loads.

2.1 A.1 Dead and live loads

The dead (D) load depends directly on the materials, whereas the live (L) load is dependant on the building use. The material used for the core and slabs is reinforced concrete, which has a self-weight of \(\gamma _c=24.5\;\text {kN}/\text {m}^3\). Also, the building is meant to be an office building with a live load equal to \(L=2.4\;\text {kN}/\text {m}^2\), and with a roof live load of \(L_r = 0.96\; \text {kN}/\text {m}^2\) in accordance with the recommendations of ASCE7-22 (ASCE 2022). These loads are applied directly on the quadrilateral (finite) elements of the slab. Figure 16b illustrates how the gravitational loads are applied on the structural model.

2.2 A.2 Wind load

The wind load is applied on the exterior nodes of the slabs. The wind load acts as a pressure load on the exterior envelope of the building, which is distributed to the slab edges by the cladding system.

The velocity pressure evaluated at height z above ground \((q_z)\) using Equation 26.10-1.SI from ASCE7-22 (ASCE 2022), which is reproduced here:

$$\begin{aligned} q_z=0.613\,K_z\,K_{zt}\,K_d\,K_e\,V^2\quad \left( \text {N}/\text {m}^2\right) \end{aligned}$$

The value of the topographic factor \(K_{zt}\) was taken as \(K_{zt}=1\). The directionality factor \(K_d\) was taken as \(K_d=0.85\) for buildings where the wind is applied on the main wind force resisting system (MWFRS). The ground elevation factor \(K_e\) was taken as \(K_e=1\). The exposure for the building was taken as a “category B”. Finally, the basic wind speed V was taken as \(V=40\;\text {m}/\text {s}\), which is associated to the 50-year MRI (annual probability of 0.02).

The design wind pressures p acting the MWFRS also requires the values of the gust-effect factor G, the external pressure coefficient \(C_p\) and the internal pressure coefficient \(GCP_i\). To determine the value of the gust-effect factor, we need to know the natural frequency of the building. This is obtained using the (global) stiffness matrix \(\textbf{K}\) and the mass matrix \(\textbf{M}\) of the structure. The stiffness matrix is already calculated at each optimization iteration. The mass matrix was not required in the previous examples, yet it only needs to be calculated once if the outrigger is assumed not to contribute towards a design-dependent load (self-weight). The mass matrix is defined as the seismic weight of the structure, which is taken as \(D + 0.25L\), where the dead and live loads are calculated in accordance to Section B1. In the event that the design domain self-weight is considered, this will only result in an additional computation time since the mass matrix needs to be recalculated at every iteration.

The mass matrix used in this example corresponds to the mass matrix of a flat S4 shell element: a superposition of a Q4D4 (membrane with drilling degrees of freedom) and a P4 (plate) element. The interpolation scheme used in a Q8 element (parent of a Q4D4) is:

$$\begin{aligned} \textbf{N} = \begin{bmatrix} N_1 &{} 0 &{} N_2 &{} 0 &{} \ldots &{} 0 \\ 0 &{} N_1 &{} 0 &{} N_2 &{} \ldots &{} N_8 \end{bmatrix} \end{aligned}$$

The mass matrix \(\textbf{M}_{Q8}\) of the Q8 element is known to be:

$$\begin{aligned} \textbf{M}_\text {Q8} = \int _{\hat{\Omega }^e}{ \rho \left( \xi \right) \hat{\textbf{N}}^T\!\left( \xi \right) \hat{\textbf{N}}\left( \xi \right) \left| {\text {det}\textbf{J}}\right| \;\textrm{d}\hat{\Omega } } \end{aligned}$$
(29)

To obtain the mass matrix of a Q4D4 element, we use the transformation matrix \(\textbf{T}_\text {Q4D4}\) on \(\textbf{M}_\text {Q8}\):

$$\begin{aligned} \textbf{M}_\text {Q4D4} = \textbf{T}^T_\text {Q4D4} \textbf{M}_\text {Q8} \textbf{T}_\text {Q4D4} \end{aligned}$$
(30)

On the other hand, the interpolation scheme of a P4 element is Ferreira and Fantuzzi (2020):

$$\begin{aligned} \textbf{N}_w&= \begin{bmatrix} N_1&0&0&\ldots&N_4&0&0 \end{bmatrix} \\ \textbf{N}_{\theta _x}&= \begin{bmatrix} 0&N_1&0&\ldots&0&N_8&0 \end{bmatrix} \\ \textbf{N}_{\theta _y}&= \begin{bmatrix} 0&0&N_1&\ldots&0&0&N_n \end{bmatrix} \end{aligned}$$

, where \(\textbf{N}_w\) corresponds to the shape functions for the transverse displacement w of the plate, and \(\textbf{N}_{\theta _x}\) and \(\textbf{N}_{\theta _y}\) correspond to the shape functions for the rotations \(\theta _x\) and \(\theta _y\), respectively. The mass matrix \(\textbf{M}_\text {P4}\) can be calculated as:

$$\begin{aligned} \textbf{M}_\text {P4} = \int _{\hat{\Omega }^e}{ \rho \left( \xi \right) \hat{\textbf{N}}^T\!\left( \xi \right) \begin{bmatrix}t&{}0&{}0\\ 0&{}\frac{t^3}{12}&{}0\\ 0&{}0&{}\frac{t^3}{12}\end{bmatrix} \hat{\textbf{N}}\left( \xi \right) \left| {\text {det}\textbf{J}}\right| \;\textrm{d}\hat{\Omega } } \end{aligned}$$
(31)

where t is the thickness of the plate and \(\frac{t^3}{12}\) is the rotary inertia. We then assemble the mass matrix \(\textbf{M}_\text {S4}^\text {(local)}\) using both mass matrices \(\textbf{M}_\text {Q4D4}\) and \(\textbf{M}_\text {P4}\) and adding their contributions on the corresponding degree-of-freedom. Finally, a transformation is required to change from the local (flattened) coordinate systems into the structure’s global coordinate system:

$$\begin{aligned} \textbf{M}_\text {S4} = \textbf{T}^T_\text {S4} \, \textbf{M}_\text {S4}^\text {(local)} \, \textbf{T}_\text {S4} \end{aligned}$$
(32)

The \(\textbf{M}\) matrix of the building has to also consider the contribution of the columns. The mass matrix of columns corresponds to that of an Euler-Bernoulli beam (Craig and Kurdila 2006). This global mass matrix \(\textbf{M}\) has associated mass for all degrees of freedom of the structure. To solve the eigenvalue problem towards obtaining the natural frequency of the building, we need to obtain \(\textbf{M}\) and \(\textbf{K}\) associated with the unsupported (free) degrees of freedom.

Once the building’s natural frequency \(n_1\) is known, we can define wether the structure is rigid \(\left( n_1\ge 1\right)\) or flexible \(\left( n_1< 1\right)\). If the structure is rigid, the value of the gust effect constant G is calculated following Section 26.11.4 of ASCE7-22 (ASCE 2022), whereas if it is flexible Section 26.11.5 is followed instead. If the structure is flexible, its damping ratio is also necessary to calculate the wind load. Since the structure is made of composite material, the damping ratio (\(\zeta\)) used in this case is \(\zeta =0.015\) ( International Organization for Standardization 2009). The value of the internal pressure coefficient is taken from Table 26.13-1 in ASCE7-22 (ASCE 2022), where for a completely enclosed building a value of \(GC_{pi}=\pm 0.18\) is taken. The sign depends on the face of the building in which the wind pressure is being calculated. Finally, the values of external pressure coefficient are taken from Figure 27.3-1 in ASCE7-22 (ASCE 2022), which also depends on the slenderness of the building in the direction of the wind. When the wind acts in the \(\hat{\textbf{x}}\) direction the slenderness is 1.5, resulting in \(C_p=0.8\) for the windward wall and \(C_p=0.4\) for the leeward wall. On the other hand, for the wind acting in the \(\hat{\textbf{y}}\) direction the slenderness is 0.67, so for the windward wall \(C_p=0.8\) and for the leeward wall \(C_p=0.5\). With these parameters, the design wind pressure p for the MWFRS of the building is calculated using Equation 27.3-1 in ASCE7-22 (ASCE 2022), which is reproduced here:

$$\begin{aligned} p= q \, GC_p - q_i\left( GC_{pi}\right) \end{aligned}$$

The value of q for windward walls is \(q_z\), while for leeward walls is \(q_h\), which is the velocity pressure evaluated at height \(z=h\), where h is the mean roof height of the building.

The wind load, as mentioned before, is applied directly on the perimeter nodes of each slab. The resulting force is obtained assuming the cladding is simply supported between two consecutive slabs. This results in a slightly higher contribution towards to top slab which is most significant near the ground level; because the wind profile varies more near the ground. This process is repeated for every story height and direction in which the wind force is applied. The wind pressure p is applied over the building envelope following cases 1 and 3 of Figure 27.3-8 in ASCE7-22 (ASCE 2022). These load cases are here illustrated in Fig. 15a and b for completeness.

Fig. 15
figure 15

Design wind load cases according to ASCE7-22: a design load case 1; and b design load case 3

A floor-plan view of the tower can be seen in Fig. 16a, with section cuts A-A and B-B also shown in Fig. 16b and c, respectively. These section cuts also illustrate how all loads, gravitational and wind loads, are applied on the structure.

Fig. 16
figure 16

High-rise building with outriggers: a typical floor-plan; b section along A–A illustrating the application of the gravity and wind loads along the \(\hat{\textbf{x}}\) direction.; and c section along B–B illustrating the application of the gravity and wind loads along the \(\hat{\textbf{y}}\) direction

The fundamental natural frequency of the building is calculated using Ritz vectors. For this calculation, we use the natural vibration modes as the corresponding Ritz vectors, both, for the \(\hat{\textbf{x}}\) and \(\hat{\textbf{y}}\) directions. Since the matrix \(\textbf{K}\) changes with every iteration, the fundamental natural frequency of the structure also changes. Therefore, the wind loads in the \(\hat{\textbf{x}}\) and \(\hat{\textbf{y}}\) directions should be recalculated in every iteration. That said, the variations on this frequency variation is relatively small and decreasing as the solution converges (iterations advance). Because of this, the natural frequency, and therefore the wind load, is only recalculated at iterations following a Fibonacci sequence (i.e. iterations 1, 2, 3, 5, 8, 13...). This captures the rapid variations on the topology at the initial iterations, while saving computations towards the end, but still ensuring an accurate calculation of the wind load throughout the optimization process.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Suau, M., Zegard, T. Topology optimization with optimal design subdomain selection. Struct Multidisc Optim 66, 246 (2023). https://doi.org/10.1007/s00158-023-03696-5

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s00158-023-03696-5

Keywords

Navigation