Flow Solver
To date, the ACM has been coupled with three Reynolds-Averaged Navier-Stokes (RANS) Finite-Volume flow solvers: FLOWer [18, 19], TAU (recent developments are highlighted in a number of papers in this volume) and QUADFLOW [3]. In this paper, results obtained with FLOWer and with TAU are presented. The development of both solvers was initiated and led by the DLR. Further enhancement of the structured solver for multi-block topologies—FLOWer— may not be actively promoted anymore, but with that solver the greatest amount of experience has been gained in conjunction with the ACM, and the coupling can be regarded as well-validated against experiments. The effort to couple the ACM with the hybrid-unstructured solver TAU began during the previous project MEGADESIGN [20] and, for the steady branch, has been completed during MUNA. The interfaces of both flow solvers with the ACM provide the same functionality, but their implementation is quite different. FLOWer simply calls the ACM as a Fortran subroutine. The loads and load incidence points and the coordinates of the deformed wetted surface are exchanged via the subroutine parameter field. The communication between TAU and ACM used to be realised by files written on hard disk, but is now carried out completely in-memory. The solution is controlled through a script written in the object-oriented scripting language Python [26]. TAU and its components already have Python interfaces and are suitably wrapped during compilation. The ACM has to be provided as a shared object file. Specific Python interface classes contain the methods and attributes needed to perform the aeroelastic coupling. In each coupling step, the ACM’s Python interface reads the loads and load incidence points from TAU’s C data stream and passes them on to the ACM. In the reverse direction at the end of a coupling iteration, the interface receives the coordinates of the deformed wetted surface from the ACM and writes these to the data stream. All the while the interface has to ensure that the fields are passed on correctly between the individual software components written either in C, Fortran or Python.
For an investigation of the actual projection process it may not be relevant whether or not the loads on the wetted surface result from a flow simulation. In certain cases a user-defined load distribution may be imposed instead. This is possible with the stand-alone version of the ACM. Obviously, conclusions drawn in this manner can only regard the projection algorithm as such and not the coupled solution process as a whole.