FlowSimulator
The FlowSimulator suite serves as a central HPC-ready software integration framework at DLR for the implementation of high-fidelity CFD-based multidisciplinary simulation and optimisation capabilities. It plays a key role in DLR’s digitalization strategy and is a pivotal element to realize virtual flight testing and digital aircraft design. Its development, aiming for harmonizing and streamlining of CFD-based workflows, was initiated more than a decade ago by AIRBUS and European research institutions and has continued ever since. FlowSimulator is organized in three layers. The control layer is the end user's main access layer; it is where the simulation process scripts reside. Python scripting is used for rapid process development and integration of diverse software components written in different programming languages.
The FlowSimulator DataManager (FSDM) - the core of the FlowSimulator - is the data layer. In line with HPC requirements, it enables in-memory data exchange between process components and is designed fully parallel from the ground up, supporting existing intra-solver and inter-solver parallelism based on the Message Passing Interface (MPI). The FSDM provides data containers for unstructured and structured multi-block meshes, CAD geometries, and hierarchical descriptions of configurations and simulation scenarios, as well as tools for mesh selection and mesh-to-mesh interpolation. Implementations for parallel multi-dimensional arrays are available, as well as classes for vectors, matrices, coordinate systems, affine transformations, binary search operations, etc. Interfaces to graph-based mesh partitioning libraries exist, as well as to common linear algebra packages. For performance reasons, the FSDM is written in the programming language C++; the majority of classes is wrapped to Python. The FSDM library is provided under the LGPL v2 open source license; the plugin rights remain with the plugin owners. The plugin layer comprises the set of all applications/tools interfacing with the FSDM and being available for use in FlowSimulator, e.g. CFD- and CSM-solvers, modules for volume mesh deformation, spatial coupling, flight mechanics, trim and other purposes.
The philosophy of FlowSimulator is that the plugins must not communicate data with other plugins but only with the FSDM. That way, the risk of process chains becoming dependent on specifics of individual process components are avoided, making process chains easier to maintain and extend.
Key features
- software integration framework for multidisciplinary simulations and optimisation
- coupling of high-fidelity disciplinary solvers
- in-memory data exchange
- parallel data containers for multi-block structured and unstructured meshes (CFD, CSM, etc.)
- massive parallelization based on domain decompositioning and MPI for use on HPC clusters
- Python-based process management
- C++ core (FSDM)
- LGPL v2 license (FSDM)
Areas of application
The main field of application of FlowSimulator is the efficient highly parallel multidisciplinary simulation of aircraft, e.g. complex fluid-structure-interaction simulation scenarios for highly accurate performance and flight loads predictions. The following figure shows a FlowSimulator example application: the high-fidelity computation of the loads exerted on a passenger aircraft during a gust encounter. The simulation was performed by means of a coupling implemented in FlowSimulator between the CFD-solver TAU, a structural dynamics modal solver, a flight mechanics code, and spline-based methods for CFD mesh deformation and CFD-CSM data transfer. The figure shows the instant of maximum loads. Their computation is an essential element of the structural design process; proving that the structure can withstand all loads expected in the flight envelope is an existential part of certification.
Further applications of the FlowSimulator include the multidisciplinary simulation of spacecraft.
Links
License notice
Access to this software can only be granted under certain conditions on the basis of a license agreement. Please contact us if you are interested in a license. Please note that we do not conclude license agreements with private individuals or with organisations outside the EEA.