Log in

Topology optimization using an eigenvector aggregate

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

Abstract

Topology optimization problems with natural frequency or structural stability criteria often utilize objective or constraint functions computed from the eigenvalues of a generalized eigenvalue problem. However, design formulations involving the eigenvectors are not common, due to both the difficulties that occur in the presence of repeated eigenvalues and the computational cost of computing eigenvector derivatives. To address the formulation problem, a smoothly differentiable function is proposed that is computed based on the eigenvalues and eigenvectors of a generalized eigenvalue problem. This eigenvector aggregate is constructed to approximate a homogeneous quadratic function of the eigenvector associated with the smallest eigenvalue. To address the computational cost, a technique is proposed to compute high accuracy approximations of the derivative of the eigenvector aggregate by solving a sequence of related linear systems with a constrained Krylov method that incorporates orthogonal projection. The proposed eigenvector aggregate can be used to impose displacement and stress constraints on the eigenvectors. Results are shown for a tube and 2D topology optimization problems, each with bimodal lowest eigenvalue.

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

Access this article

Subscribe and save

Springer+ Basic
EUR 32.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or Ebook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price includes VAT (Germany)

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

Similar content being viewed by others

References

Download references

Acknowledgements

This research was supported in part through research cyberinfrastructure resources and services provided by the Partnership for an Advanced Computing Environment (PACE) at the Georgia Institute of Technology, Atlanta, Georgia, USA.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Graeme J. Kennedy.

Ethics declarations

Conflict of interest

The authors declare that they have no conflict of interest.

Replication of results

The results for this paper were generated with Python code that is publicly available on GitHub: https://github.com/smdogroup/eigenvector-aggregate.git.

Additional information

Responsible Editor: Makoto Ohsaki

Publisher's Note

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

Appendices

Appendix 1

Here, we show that

$$\begin{aligned} Q \eta Q^T = \dfrac{B^{-1} \exp (-\rho A B^{-1}) }{{\text{tr}}(\exp (-\rho A B^{-1}))}. \end{aligned}$$
(55)

Since \(\eta = \text {diag}\{\eta _{1}, \eta _{2}, \ldots , \eta _{n}\}\), combined with the definition of \(\eta _i\) in (11), we have

$$\begin{aligned} \eta = \frac{\exp (-\rho \Lambda )}{{\text{tr}}(\exp (-\rho \Lambda ))}, \end{aligned}$$
(56)

where \(\exp (\cdot )\) denotes the matrix exponential. Therefore,

$$\begin{aligned} Q \eta Q^T = \dfrac{Q \exp (-\rho \Lambda ) Q^T}{{\text{tr}}(\exp (-\rho \Lambda ))}. \end{aligned}$$
(57)

Using the definition of the matrix exponential, the numerator for (56) can be expressed as

$$\begin{aligned} \begin{aligned} \exp (-\rho \Lambda )&= \exp (-\rho Q^T A Q) \\&= \sum _{k=0}^\infty \dfrac{1}{k!} (-\rho Q^T A Q)^k \\&= \sum _{k=0}^\infty \dfrac{1}{k!} Q^T (-\rho A Q Q^T)^k Q^{-T} \\&= Q^T \exp (-\rho A Q Q^T) Q^{-T} \\&= Q^T \exp (-\rho A B^{-1}) Q^{-T}. \end{aligned} \end{aligned}$$
(58)

Using this relationship and the property \(Q Q^{T} = B^{-1}\), (57) can be rewritten as

$$\begin{aligned} \begin{aligned} Q \eta Q^T&= \dfrac{Q Q^{T} \exp (-\rho A B^{-1}) Q^{-T} Q^T}{{\text{tr}}(Q^{T} \exp (-\rho A B^{-1}) Q^{-T})} \\&= \dfrac{B^{-1} \exp (-\rho A B^{-1}) }{{\text{tr}}(\exp (-\rho A B^{-1}))}. \end{aligned} \end{aligned}$$
(59)

Appendix 2

In this appendix, we show that

$$\begin{aligned}{} & {} \dfrac{{\text{tr}}\left( (D B^{-1} - h I) \dot{\Phi } \right) }{{\text{tr}}(\Phi )} = \nonumber \\{} & {} \qquad {\text{tr}}( ( E \circ (Q^{T} D Q - h I ) ) (Q^{T} \dot{A} Q - \Lambda Q^{T} \dot{B} Q)). \end{aligned}$$
(60)

The derivative of the matrix exponential taking the generic argument X with respect to a design parameter is

$$\begin{aligned} \begin{aligned} \dot{\exp }(X)&= \sum _{k=1}^{\infty } \frac{1}{k!} \sum _{l=0}^{k-1} X^{l} \dot{X} X^{k-l-1} \\&= \sum _{k=0}^{\infty } \sum _{l=0}^{k} \frac{1}{(k+1)!} X^{l} \dot{X} X^{k-l}. \end{aligned} \end{aligned}$$
(61)

Therefore, the derivative of \(\Phi\) defined in (18) can be written as

$$\begin{aligned} \dot{\Phi }= & {} \sum _{k=0}^{\infty }\sum _{l=0}^{k} \frac{(-\rho )^{k+1}}{(k+1)!} (AB^{-1})^{l} (\dot{A}\nonumber \\{} & {} - A B^{-1} \dot{B} ) B^{-1} (A B^{-1})^{k-l}. \end{aligned}$$
(62)

Powers of the product \(AB^{-1}\) can be expanded using the eigenvalues and eigenvectors as

$$\begin{aligned} (A B^{-1})^n = (A Q Q^T)^n = (B Q \Lambda Q^T)^n = B Q \Lambda ^n Q^T. \end{aligned}$$
(63)

Combining (62) and (63), the matrix product in the series can be simplified as follows:

$$\begin{aligned} \begin{aligned}&(A B^{-1})^{l} (\dot{A} - A B^{-1} \dot{B}) B^{-1} (A B^{-1})^{k-l} \\&\quad = B Q \Lambda ^l Q^T (\dot{A} - A B^{-1} \dot{B}) B^{-1} B Q \Lambda ^{k-l} Q^T \\&\quad = B Q \Lambda ^l (Q^T \dot{A} Q - Q^T A Q Q^T \dot{B} Q ) \Lambda ^{k-l} Q^T \\&\quad = B Q \Lambda ^l (Q^T \dot{A} Q - \Lambda Q^T \dot{B} Q) \Lambda ^{k-l} Q^T. \\ \end{aligned} \end{aligned}$$

As a result, the derivative of \(\Phi\) is

$$\begin{aligned}{} & {} \dot{\Phi } = \nonumber \\{} & {} \quad \sum _{k=0}^{\infty } \sum _{l=0}^{k} \frac{(-\rho )^{k+1}}{(k+1)!} B Q \Lambda ^l (Q^T \dot{A} Q - \Lambda Q^T \dot{B} Q) \Lambda ^{k-l} Q^T. \end{aligned}$$
(64)

Using this result (64), we can express the ratio appearing in (60) as

$$\begin{aligned}{} & {} \frac{{\text{tr}}(D B^{-1} \dot{\Phi })}{{\text{tr}}(\Phi )} = \nonumber \\{} & {} \quad \quad \frac{1}{{\text{tr}}(\Phi )} \sum _{k=0}^{\infty } \sum _{l=0}^{k} \frac{(-\rho )^{k+1}}{(k+1)!} \text {tr} \left( \Lambda ^{k-l} Q^{T} D Q \Lambda ^l (Q^T \dot{A} Q \right. \nonumber \\{} & {} \qquad \left. - \Lambda Q^T \dot{B} Q)\right) . \end{aligned}$$
(65)

To further simplify the above equation (65), we introduce the following Hadamard product with the matrix E, whose components are derived in Appendix 1, along with the substitution \(X = Q^{T}D Q\), such that

$$\begin{aligned} E \circ X = \frac{1}{{\text{tr}}(\Phi )} \sum _{k=0}^{\infty } \sum _{l=0}^{k} \frac{(-\rho )^{k+1}}{(k+1)!}\Lambda ^{k-l} X \Lambda ^l. \end{aligned}$$
(66)

With this definition, equation (65) can be rewritten as

$$\begin{aligned}{} & {} \frac{{\text{tr}}(D B^{-1} \dot{\Phi })}{{\text{tr}}(\Phi )} = \nonumber \\{} & {} \quad \quad {\text{tr}}( (E \circ (Q^{T} D Q)) (Q^{T} \dot{A} Q - \Lambda Q^{T} \dot{B} Q)). \end{aligned}$$
(67)

The second part of the ratio appearing in (60) can be expressed using (67) by making the substitution \(D = B = (Q Q^{T})^{-1} = Q^{-T} Q^{-1}\) resulting in

$$\begin{aligned} \dfrac{{\text{tr}}\left( \dot{\Phi } \right) }{{\text{tr}}(\Phi )} = {\text{tr}}( ( E \circ I ) (Q^{T} \dot{A} Q - \Lambda Q^{T} \dot{B} Q)). \end{aligned}$$
(68)

Combining (67) and (68) gives the desired result (60).

Appendix 3

In this appendix, we show that

$$\begin{aligned} E_{ij} = \dfrac{\eta _{j} - \eta _{i}}{\lambda _{j} - \lambda _{i}}. \end{aligned}$$
(69)

From (66), the components of the matrix E can be expressed as the double series

$$\begin{aligned} E_{ij} = \frac{1}{{\text{tr}}(\Phi )} \sum _{k=0}^{\infty } \sum _{l=0}^{k} \dfrac{(-\rho )^{k+1}}{(k+1)!} \lambda _{i}^{k - l} \lambda _{j}^{l}. \end{aligned}$$
(70)

We use the following property of the infinite double series

$$\begin{aligned} \sum _{k=0}^{\infty } \sum _{l=0}^{k} \dfrac{(-\rho )^{k+1}}{(k+1)!} \lambda _{i}^{k - l} \lambda _{j}^{l} = \dfrac{e^{-\rho \lambda _{j}} - e^{-\rho \lambda _{i}}}{\lambda _{j} - \lambda _{i}}. \end{aligned}$$

Furthermore, since the denominator for (70) \({\text{tr}}(\Phi ) = {\text{tr}}(\exp (-\rho \Lambda )) = \sum _{i=1}^{n} e^{-\rho \lambda _{i}}\), we can combine it with \(\eta _i\) defined in (11) to obtain the result shown in (69).

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

Li, B., Fu, Y. & Kennedy, G.J. Topology optimization using an eigenvector aggregate. Struct Multidisc Optim 66, 221 (2023). https://doi.org/10.1007/s00158-023-03674-x

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s00158-023-03674-x

Keywords

Navigation