Open-source shape optimization for isogeometric shells using FEniCS and OpenMDAO

Han Zhao,John T. Hwang,Jiun-Shyan Chen
2024-10-03
Abstract:We present an open-source Python framework for the shape optimization of complex shell structures using isogeometric analysis (IGA). IGA seamlessly integrates computer-aided design (CAD) and analysis models by employing non-uniform rational B-splines (NURBS) as basis functions, enabling the natural implementation of the Kirchhoff--Love shell model due to their higher order of continuity. We leverage the recently developed FEniCS-based analysis framework, PENGoLINS, for the direct structural analysis of shell structures consisting of a collection of NURBS patches through a penalty-based formulation. This contribution introduces the open-source implementation of gradient-based shape optimization for isogeometric Kirchhoff--Love shells with a modular architecture. Complex shell structures with non-matching intersections are handled using a free-form deformation (FFD) approach and a moving intersections formulation. The symbolic differentiation and code generation capabilities in FEniCS are utilized to compute the analytical derivatives. By integrating FEniCS with OpenMDAO, we build modular components that facilitate gradient-based shape optimization of shell structures. The modular architecture in this work supports future extensions and integration with other disciplines and solvers, making it highly customizable and suitable for a wide range of applications. We validate the design-analysis-optimization workflow through several benchmark problems and demonstrate its application to aircraft wing design optimization. The framework is implemented in a Python library named GOLDFISH (Gradient-based Optimization and Large-scale Design Framework for Isogeometric SHells) and the source code will be maintained at <a class="link-external link-https" href="https://github.com/hanzhao2020/GOLDFISH" rel="external noopener nofollow">this https URL</a>.
Optimization and Control,Computational Physics
What problem does this paper attempt to address?
The problem that this paper attempts to solve is the shape optimization problem of complex shell structures, especially the technical challenges encountered when using Isogeometric Analysis (IGA). Specifically, the paper mainly focuses on the following aspects: 1. **Improving design accuracy and efficiency**: Traditional shape - optimization methods based on the Finite Element Method (FEM) have difficulties in representing complex geometries and generating high - quality meshes, which can lead to errors in analysis and optimization. By introducing IGA, Computer - Aided Design (CAD) and analysis models can be seamlessly integrated, thereby improving the accuracy and efficiency of the design. 2. **Handling non - matching interfaces**: For actual complex shell structures composed of multiple NURBS surfaces, the coupling problem of the interfaces between different surfaces needs to be handled during the analysis and optimization process. These interfaces may not match, so it is necessary to ensure the continuity of displacement and rotation during the optimization process. 3. **Achieving efficient gradient calculation**: In order to support gradient - based shape optimization, the total derivative of the objective function with respect to the design variables needs to be calculated effectively. This involves solving complex partial differential equations (PDEs) and using symbolic differentiation and code - generation techniques to calculate the analytical derivatives. 4. **Developing an open - source framework**: To solve the above problems, the authors developed an open - source Python library named GOLDFISH for the shape optimization of complex shell structures. This framework integrates FEniCS and OpenMDAO, supports a modular architecture, and is convenient for future expansion and integration with other disciplines and solvers. ### Main contributions of the paper - **Proposing a new open - source framework**: Combining the advantages of FEniCS and OpenMDAO to achieve shape optimization of shell structures based on IGA. - **Handling complex geometries**: By using Non - Uniform Rational B - Splines (NURBS) as basis functions, the Kirchhoff - Love shell model can be naturally implemented, and complex shell structures with non - matching interfaces can be handled. - **Efficient gradient calculation**: Utilizing the symbolic differentiation and code - generation capabilities of FEniCS and the modular architecture of OpenMDAO to achieve efficient gradient calculation and support gradient - based optimization algorithms. - **Verification and application**: The effectiveness of this framework has been verified through multiple benchmark problems, and its application in the design optimization of aircraft wings has been demonstrated. ### Key technologies - **Isogeometric Analysis (IGA)**: Using NURBS as basis functions to seamlessly integrate CAD and analysis models. - **Penalty - based formulation**: Used to handle the coupling problem of non - matching interfaces. - **Free - Form Deformation (FFD) and Moving Interface Method**: Ensure the connectivity of the interface during the optimization process. - **Symbolic differentiation and code - generation**: Use FEniCS to calculate analytical derivatives to support efficient gradient calculation. - **Modular architecture**: Achieve modular design through OpenMDAO, which is convenient for expansion and integration with other disciplines. Through these technologies and methods, this paper provides a powerful tool and framework for the shape optimization of complex shell structures, promoting the development of the structural design optimization field.