Introducing OpenCOSIM – An Open-Source Framework for Co-Simulation
Please login to view abstract download link
Modern aerospace systems, such as airborne wind energy or tiltrotor aircraft, often demand coupling of the aerodynamic, structural dynamic and flight dynamic domains, possibly for multiple bodies. This quickly gives rise to a large number of simulation units (SU) that need to be coupled in a robust software architecture. Ideally, this architecture is modular, flexible, extensible, customisable, hierarchical and performant. In this work, we introduce OpenCOSIM, a C++ framework for hierarchical co-simulations. By leveraging static polymorphism and modern C++20 features, we achieve the outlined objectives. The dynamic model description, time integration and coupling of the SUs are clearly separated from each other. SUs can be added to existing simulations with relative ease. Minimal constraints are placed on models written by the user, allowing them to define a wide variety of models, from simple custom models to complex models based on existing libraries such as deal.ii. The coupling can be customised, enabling tighter coupling between SUs if desired. SUs can be organised hierarchically, such that the degree of coupling between different sets of SUs can be modified. The framework will be published in the forthcoming conference paper. We show the application of the framework to two complex, highly dynamic systems. First, we simulate the in-air launch of a morphing unmanned aerial vehicle (UAV). An unsteady vortex lattice model is coupled with co-rotational beam models for the lifting surfaces, and a flight dynamic model accounting for the multibody dynamics of the UAV. Second, we model the application of in-air retrieval of a UAV via a flexible tether mounted to a carrier aircraft. These examples demonstrate the capability of the framework to deal with a large variety of multibody and multiphysics problems in a flexible and extensible way.
