In the frame of Multi-physic numerical simulation, ONERA uses Python and Numpy as the basis for code interoperability. Now simulations are made of software components, for the CAD, the meshes creations, the visualization, each component can be an in-house software, a so-called COTS or an Open Source box. We show how Python can help to achieve such an integration in proprietary platforms as well as in home made platforms.
We show how the use of Python/numpy is easy and powerful for small prototyping as well as for large simulation on clusters. We give some ways to achieve an integration without re-building your software each time an proprietary interface changes or each time your code user wants to change his hosting platform.
The idea is to base your simulation component interface on public and stable elements and to avoid to create just another integration environment with interface definition, process control, communications: Python and its companion libraries have all the tools boxes you need.
Techs we use are: Python, numpy, pyMPI, CGNS, HDF5
We show examples including planes/helicopters and turbomachinery with fluid/struct/flight-mechanics code-coupling. In particular we will go into details for these two simulations:
1- An helicopter fluid/structure/flight mechanics asynchroneous simulation on a linux cluster and remote heterogeneous workstations, using the Python XMLRPC server to handle data exchange.
2- A rigid body motion simulation with a wing/slat/flap and Python modules for grid motion communicating on a linux cluster with pyMPI.