JAX-based aeroelastic simulation engine for differentiable aircraft dynamics

IF 7.2 2区 物理与天体物理 Q1 COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS
Alvaro Cea, Rafael Palacios
{"title":"JAX-based aeroelastic simulation engine for differentiable aircraft dynamics","authors":"Alvaro Cea,&nbsp;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
Developer's repository link: https://github.com/ACea15/FENIAX, https://github.com/ACea15/FENIAX/tree/master/docs/reports/CPC24
Licensing provisions: GNU GPLv3
Programming language: Python
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.
基于jax的可微分飞机动力学气动弹性仿真引擎
本文提出了一种新的方法,用于具有细长流线型部件的大型柔性系统的结构和气动弹性分析,例如飞机或风力涡轮机。利用数值库JAX,基于速度和应变的非线性公式实现了高度矢量化的代码库,特别适合于自然出现为跟随力的气动载荷的集成。除此之外,还使用JAX自动区分功能来获得梯度,从而允许求解器嵌入到更广泛的多学科优化框架中。通解从任意复杂度的线性有限元模型出发,对其进行结构模型降阶。随后对简化模型进行非线性描述,并相应重建完整的三维动力学。实例表明,该方法具有较高的精度和效率。通过与MSC Nastran全有限元线性和非线性解的比较,进行了广泛的验证。此外,计算了具有超过50万个自由度的完整飞机结构的非线性阵风响应,其速度比商用软件包实现的基于频率的线性等效响应快。因此,飞机载荷工程师可以利用这一点,在他们现有的工作流程中添加几何非线性效果,而无需额外的计算工作。最后,针对有限差分验证了静态和动态问题的自动微分,结合求解器的近实时性能,为气动弹性研究和设计优化开辟了新的可能性。程序摘要程序标题:FENIAXCPC库链接到程序文件:https://doi.org/10.17632/wxy56w8j6y.1Developer's存储库链接:https://github.com/ACea15/FENIAX, https://github.com/ACea15/FENIAX/tree/master/docs/reports/CPC24Licensing条款:GNU gplv3编程语言:python问题的性质:耦合结构和流体域的气动弹性解决方案在许多工程结构如飞机,桥梁或风力涡轮机的研究中是至关重要的。它们通常具有细长和轻的组件,可能会发生大的偏转,这需要几何非线性建模工具,这与更高的计算资源和潜在的令人望而却步的模拟时间相关联。此外,自从计算机出现以来,组织已经聚集了专业知识,以建立基于线性公式的大型有限元气动弹性模型,这些模型可能不容易用于非线性分析。我们提出一个非侵入性的框架来增强复杂但线性结构和气动弹性模型与几何非线性(包括空气动力追随者,几何结构的加劲和缩短效果,并执行时域接近实时地动态分析和评价的衍生品。解决方法:我们建立了FENIAX库,这是一个非线性气动弹性工具箱,可自动微分,可部署在现代硬件架构上。它由谷歌的高性能JAX库提供支持,JAX库最初是为机器学习问题开发的,但也被证明对科学计算非常有用。库的输入是通过一个yaml文件或python字典控制的,输出是高效的二进制numpy数组。随着新功能的不断添加,模块化架构允许轻松扩展核心例程。FENIAX不是一个独立的库,因为它被认为可以与大型FE包一起工作,这些包可以提供工业应用所需的复杂模型,同时为分析带来新的物理效果以及无与伦比的模拟运行时间。然而,其灵活的设计允许将来添加定制的求解器,使软件能够独立运行。该软件使用的其他开源第三方Python库将自动安装。目前,FENIAX仅在单个处理单元上运行,但已经在努力使其与多进程环境兼容。该库包括一个测试套件,包含超过100个测试,可在Linux和macOS操作系统上运行。可重复研究:本文使用识字编程技术编写,文本和代码位于相同的文件中,因此文本中的每个图形和表格都很容易与生成它们的代码和模拟相关联。此外,Streamlit数据应用程序与示例一起作为后处理应用程序,对任何人都有用,可以交互式地探索结果。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
Computer Physics Communications
Computer Physics Communications 物理-计算机:跨学科应用
CiteScore
12.10
自引率
3.20%
发文量
287
审稿时长
5.3 months
期刊介绍: 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.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信