Litcius/Paper detail

JAX-based aeroelastic simulation engine for differentiable aircraft dynamics

Alvaro Cea, Rafael Palacios

2025Computer Physics Communications8 citationsDOIOpen Access PDF

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 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.

Topics & Concepts

AeroelasticityDifferentiable functionComputer scienceAerodynamicsDynamics (music)Aerospace engineeringEngineeringPhysicsMathematicsMathematical analysisAcousticsBladed Disk Vibration DynamicsStructural Health Monitoring TechniquesAeroelasticity and Vibration Control