{"title":"JAX-based aeroelastic simulation engine for differentiable aircraft dynamics","authors":"Alvaro Cea, Rafael Palacios","doi":"10.1016/j.cpc.2025.109547","DOIUrl":null,"url":null,"abstract":"<div><div>A novel methodology is presented in this paper for the structural and aeroelastic analysis of large flexible systems with slender, streamlined components, such as aircraft or wind turbines. Leveraging on the numerical library JAX, a nonlinear formulation based on velocities and strains enables a highly vectorised codebase that is especially suitable for the integration of aerodynamic loads which naturally appear as follower forces. In addition to that, JAX automatic differentiation capabilities are used to obtain gradients that allow the solver to be embedded into broader multidisciplinary optimization frameworks. The general solution starts from a linear Finite-Element (FE) model of arbitrary complexity, on which a structural model order reduction is performed. A nonlinear description of the reduced model follows, with the corresponding reconstruction of the full 3D dynamics. It is shown to be highly accurate and efficient on representative aircraft models are shown. An extensive verification has been carried out by comparison with MSC Nastran full-FE linear and nonlinear solutions. Furthermore the nonlinear gust response of a full aircraft configuration with over half a million degrees-of-freedom is computed, and it is faster than its frequency-based, linear equivalent as implemented by a commercial package. Therefore this could be harnessed by aircraft loads engineers to add geometrically nonlinear effects to their existing workflows at no extra computational effort. Finally, automatic differentiation on both static and dynamic problems is validated against finite-differences, which combined with a near real-time performance of the solvers opens new possibilities for aeroelastic studies and design optimization.</div></div><div><h3>Program summary</h3><div><em>Program Title:</em> FENIAX</div><div><em>CPC Library link to program files:</em> <span><span>https://doi.org/10.17632/wxy56w8j6y.1</span><svg><path></path></svg></span></div><div><em>Developer's repository link:</em> <span><span>https://github.com/ACea15/FENIAX</span><svg><path></path></svg></span>, <span><span>https://github.com/ACea15/FENIAX/tree/master/docs/reports/CPC24</span><svg><path></path></svg></span></div><div><em>Licensing provisions:</em> GNU GPLv3</div><div><em>Programming language:</em> Python</div><div><em>Nature of problem:</em> Aeroelastic solutions that couple structural and fluid domains are paramount in the study of many engineering structures such aeroplanes, bridges or wind-turbines. They often feature slender and light components that can potentially undergo large deflections that require of geometrically nonlinear modelling tools, which are linked to higher computational resources and potentially prohibitively simulation times. Moreover, since the advent of computers, organizations have gathered an expertise to build large finite-element-based aeroelastic models based on linear formulations that might not be easily amendable for nonlinear analysis. We propose a non-intrusive framework to enhance complex but linear structural and aeroelastic models with geometric nonlinearities -including follower aerodynamic forces, geometric stiffening of the structure and shortening effects-, and which performs time-domain dynamic analysis and evaluation of derivatives in near-real time.</div><div><em>Solution method::</em> We have built the library FENIAX, a nonlinear aeroelastic toolbox that is automatic differentiable and can be deployed on modern hardware architectures. It is powered by Google's high-performance JAX library, originally developed for machine learning problems but that has also proved very useful for Scientific Computing. The inputs to the library are controlled via a <span>yaml</span> file or a python dictionary and the output are efficient binary numpy arrays. A modular architecture allows easy extension of the core routines, as new features continue to be added.</div><div><em>Additional comments including restrictions::</em> FENIAX is not a stand-alone library as it has been conceived to work alongside large FE packages that can deliver the complex models needed for industrial applications while bringing new physics to the analysis as well as unparallelled simulation run times. Its flexible design, however, allows for future additions of bespoke solvers for the software to run independently.</div><div>Other open-source third-party Python libraries the software uses are automatically installed. Currently FENIAX only runs on a single processing unit but work is already in place to make it compatible with multi-process environments. The library includes a test-suite with over a hundred tests and runs on Linux and macOS operating systems.</div><div>Reproducible research: This paper has been prepared using Literate Programming techniques whereby the text and codes live on the same files and therefore every figure and table in the text are easily linked to code and simulations from which they were produced. Furthermore, the Streamlit data app go along with the examples as a postprocessing app that is useful for anyone to explore the results interactively.</div></div>","PeriodicalId":285,"journal":{"name":"Computer Physics Communications","volume":"311 ","pages":"Article 109547"},"PeriodicalIF":7.2000,"publicationDate":"2025-02-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computer Physics Communications","FirstCategoryId":"101","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0010465525000505","RegionNum":2,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS","Score":null,"Total":0}
引用次数: 0
Abstract
A novel methodology is presented in this paper for the structural and aeroelastic analysis of large flexible systems with slender, streamlined components, such as aircraft or wind turbines. Leveraging on the numerical library JAX, a nonlinear formulation based on velocities and strains enables a highly vectorised codebase that is especially suitable for the integration of aerodynamic loads which naturally appear as follower forces. In addition to that, JAX automatic differentiation capabilities are used to obtain gradients that allow the solver to be embedded into broader multidisciplinary optimization frameworks. The general solution starts from a linear Finite-Element (FE) model of arbitrary complexity, on which a structural model order reduction is performed. A nonlinear description of the reduced model follows, with the corresponding reconstruction of the full 3D dynamics. It is shown to be highly accurate and efficient on representative aircraft models are shown. An extensive verification has been carried out by comparison with MSC Nastran full-FE linear and nonlinear solutions. Furthermore the nonlinear gust response of a full aircraft configuration with over half a million degrees-of-freedom is computed, and it is faster than its frequency-based, linear equivalent as implemented by a commercial package. Therefore this could be harnessed by aircraft loads engineers to add geometrically nonlinear effects to their existing workflows at no extra computational effort. Finally, automatic differentiation on both static and dynamic problems is validated against finite-differences, which combined with a near real-time performance of the solvers opens new possibilities for aeroelastic studies and design optimization.
Program summary
Program Title: FENIAX
CPC Library link to program files:https://doi.org/10.17632/wxy56w8j6y.1
Nature of problem: Aeroelastic solutions that couple structural and fluid domains are paramount in the study of many engineering structures such aeroplanes, bridges or wind-turbines. They often feature slender and light components that can potentially undergo large deflections that require of geometrically nonlinear modelling tools, which are linked to higher computational resources and potentially prohibitively simulation times. Moreover, since the advent of computers, organizations have gathered an expertise to build large finite-element-based aeroelastic models based on linear formulations that might not be easily amendable for nonlinear analysis. We propose a non-intrusive framework to enhance complex but linear structural and aeroelastic models with geometric nonlinearities -including follower aerodynamic forces, geometric stiffening of the structure and shortening effects-, and which performs time-domain dynamic analysis and evaluation of derivatives in near-real time.
Solution method:: We have built the library FENIAX, a nonlinear aeroelastic toolbox that is automatic differentiable and can be deployed on modern hardware architectures. It is powered by Google's high-performance JAX library, originally developed for machine learning problems but that has also proved very useful for Scientific Computing. The inputs to the library are controlled via a yaml file or a python dictionary and the output are efficient binary numpy arrays. A modular architecture allows easy extension of the core routines, as new features continue to be added.
Additional comments including restrictions:: FENIAX is not a stand-alone library as it has been conceived to work alongside large FE packages that can deliver the complex models needed for industrial applications while bringing new physics to the analysis as well as unparallelled simulation run times. Its flexible design, however, allows for future additions of bespoke solvers for the software to run independently.
Other open-source third-party Python libraries the software uses are automatically installed. Currently FENIAX only runs on a single processing unit but work is already in place to make it compatible with multi-process environments. The library includes a test-suite with over a hundred tests and runs on Linux and macOS operating systems.
Reproducible research: This paper has been prepared using Literate Programming techniques whereby the text and codes live on the same files and therefore every figure and table in the text are easily linked to code and simulations from which they were produced. Furthermore, the Streamlit data app go along with the examples as a postprocessing app that is useful for anyone to explore the results interactively.
期刊介绍:
The focus of CPC is on contemporary computational methods and techniques and their implementation, the effectiveness of which will normally be evidenced by the author(s) within the context of a substantive problem in physics. Within this setting CPC publishes two types of paper.
Computer Programs in Physics (CPiP)
These papers describe significant computer programs to be archived in the CPC Program Library which is held in the Mendeley Data repository. The submitted software must be covered by an approved open source licence. Papers and associated computer programs that address a problem of contemporary interest in physics that cannot be solved by current software are particularly encouraged.
Computational Physics Papers (CP)
These are research papers in, but are not limited to, the following themes across computational physics and related disciplines.
mathematical and numerical methods and algorithms;
computational models including those associated with the design, control and analysis of experiments; and
algebraic computation.
Each will normally include software implementation and performance details. The software implementation should, ideally, be available via GitHub, Zenodo or an institutional repository.In addition, research papers on the impact of advanced computer architecture and special purpose computers on computing in the physical sciences and software topics related to, and of importance in, the physical sciences may be considered.