Isp1124 1316002896
Isp1124 1316002896
D evelopment of the elsA software for complex external and internal flow
aerodynamics and multidisciplinary applications started in 1997 at Onera.
Due to the multi-purpose nature of elsA, many common basic CFD features
can be shared by a wide range of aerospace applications: aircraft, helicopters,
turbomachinery, missiles, launchers… The elsA software is based on an Object-
Oriented design method and on an Object-Oriented implementation based on
three programming languages: C++, Fortran and Python. The elsA strategy
for interoperability is based on a component approach that relies on standard
interfaces for the CFD simulation components. This paper presents an overview
of the capabilities of the elsA software in terms of modeling, mesh topology,
numerics and boundary conditions, whereas a more detailed description of these
capabilities is given in companion papers of this issue of the electronic journal.
The importance of High Performance Computing activities is outlined in the
present paper.
p perturbation
4E-05
2E-05
0
-2E-05
-4E-05
P/(γPint)
b) Turbomachinery configuration: simulation of the rotating stall in an axial d) Helicopter configuration: simulation of the interaction between the main rotor
compressor stage and the fuselage
Many partners, not only inside Onera but also in external laboratories and universities and in the aerospace industry, contribute to
the development of new capabilities and to the validation of elsA. Inside Onera, the CFD and Aeroacoustics Department of Onera
coordinates the elsA software project and contributes to the development in terms of software architecture, numerical methods or
CPU efficiency. Several other Departments take part in development and validation activities related to elsA software: namely the
Applied Aerodynamics Department for thorough validation and some specific applied aerodynamics developments, the Aerodynamics
and Energetics Modeling Department for transition and turbulence modeling and fundamental validation, and the Aeroelasticity and
Structural Dynamics Department for fluid/structure capability development and validation.
Since 2001, there has been a partnership with the Cerfacs research organization for elsA development, and Cerfacs has taken part in
many developments, dealing, in particular, with mesh strategies, numerical methods and CPU efficiency, since that time. Other labs
also take part in the development and validation of elsA, such as the Fluid Mechanics and Acoustics Lab of “École Centrale de Lyon”
for development of complex turbomachinery boundary conditions, the applied research center Cenaero (Belgium) for turbomachinery
flow simulation and the DynFluid lab of “Arts et Métiers ParisTech” for high accuracy numerical schemes. The use of elsA in French
engineering schools or universities is also developing for academic teaching purposes.
elsA is today intensively used as a reliable design tool in the French and European aeronautic industry. In turbomachinery industry, elsA
is used in the design teams of Safran group (Snecma and Turbomeca in France, Techspace Aero in Belgium). For transport aircraft
configurations, elsA is one of the two CFD programs used at Airbus for performance prediction and for design (the other one is the TAU
software from DLR, see [5]). Among other industry partners, we should mention Eurocopter for helicopter applications and MBDA for
missile configurations.
CFD methods and software have improved tremendously over the So, CFD software designers are faced with the challenge of meeting a
last forty years. Whereas in the 1970s, CFD software for design very wide range of requirements, while keeping software complexity
was mostly based on formulations assuming the flow to be inviscid, and development cost under control. Thus, a very broad range of
today CFD codes solving the Navier-Stokes equations (see Box 2) CFD capabilities has to be grouped together in an interoperable and
have become standard tools in the aeronautic industry [27]. The evolving software package. To cope with these broad requirements,
improvements concern various areas: mesh topology capabilities, the designers of the elsA software chose to rely on an Object-Oriented
physical modeling, numerical algorithms. However, in each of these design method as will be described below and elsA was one of the first
areas, there is no universal method answering all of the problems. Object-Oriented major scientific packages written in C++ [13].
The best choice of methods depends on the type of application and
on the levels of accuracy, robustness and efficiency that are required. This choice was quite successful since there has been an intensive
In the case of mesh topology capabilities, the relative advantages and development of elsA throughout the years. Today, elsA is being
disadvantages of Cartesian structured grids, curvilinear structured developed towards a component architecture (see the section dealing
grids and unstructured grids are well-known today and in recent years with interoperability) to cope with ever increasing requirements: smart
it has become clearer that an association of various types of grids in a integration in the simulation environments of the aeronautic industry,
single simulation is very powerful. runtime control of the simulation, coupling with external software for
multi-disciplinary applications, etc. Coupling independent components
It is also well-known that transition and turbulence modeling which is through a common high-level infrastructure provides a natural way to
required for the simulation of turbulent flows has to be adapted to the reduce the complexity.
type of application and even to local flow phenomena. For example,
a classical eddy viscosity model should give good results at low
cost for the flow simulation around an airfoil at low angle of attack, Object-Oriented design and implementation
whereas Large Eddy Simulation would be required for the simulation
of the flow for near stall conditions. The selection of the best numerical The elsA software is based on an Object-Oriented (OO) design method.
algorithm strongly depends on the flow regime (subsonic, transonic or The central concept of OO design is the class: a class encapsulates
supersonic flow) and on the compromise which is required between data and methods. The class interface is a way of communicating with
accuracy, efficiency and robustness. class users. The most important difference between procedural and OO
programming is the switch from function to class as the fundamental
One solution could be to build dedicated software focusing on a narrow abstraction. OO programming is interesting because it makes it easier
application domain. But this solution leads to a proliferation of specific to think about programs as collections of abstractions and to hide the
software tools, which is very difficult to maintain, document, optimize details of how these abstractions work to users who do not care about
and port to different computers. In fact, real-world applications today these details. OO programming can be used to partition problems
require a large range of capabilities. And if the best choice of methods into well-separated parts, none of which needs to know more about
depends on the type of application, it is also true that one specific the others than absolutely necessary. This ability to break a large,
method may be useful for various types of applications (see below developing program down into parts that can be pursued independently,
in the section “Mesh topology capabilities” one example of this with thus enhancing collaboration among multiple contributors, explains why
the Chimera method). Also, the scientific community is looking for integration of new developments is easier in an OO software.
Navier-Stokes equations are the main mathematical model of aerodynamics in the continuous regime, for which the characteristic
length scales are large compared with the mean free path of the molecules. These equations result from the application of the principles
of mechanics and thermodynamics, and, in integral form, express an equilibrium between a volume term expressing the time variation
of mass, momentum (mass times velocity) and total energy (sum of internal energy and kinetic energy) contained in a volume Ω, and
a surface flux term corresponding to the exchanges between the fluid inside Ω and the fluid outside Ω.
The Navier-Stokes equations are completed, on the one hand, by behavior laws representing the irreversibility effects associated with
viscosity and thermal conductivity, and, on the other hand, by state laws describing the thermodynamic properties of the fluid.
As a result of the low viscosity of air, flows in aeronautics applications are turbulent. Turbulence is included in the Navier-Stokes
equations which represent all the turbulence scales. However, Direct Numerical Simulation which relies on solving the instantaneous
Navier-Stokes equations is still very far from being applicable to real world applications. Therefore, a statistical approach has to be
added to the Navier-Stokes equation, which leads to Reynolds Averaged Navier-Stokes or to Large Eddy Simulation (see [1] for further
details).
TurBase
Geo Blk Dtw Mask Chim Join Glob
compMut()
Figure 2 – UML model of the Tur module Figure 3 – elsA design organization
The computation of the eddy viscosity depends on each particular Then, the geometry layer contains all of the modules which describe
turbulence model and cannot be performed in the TurBase abstract geometrical and topological elements:
class. Polymorphism allows the correct version of compMut() to be • Blk: defines the “block” notion. A block corresponds to a
called dynamically, without any explicit coding by the programmer. As a region of the discretized physical space defined by a mesh. Blocks
consequence, adding a new turbulence model will not modify the code are specialized to take into account grid motion, Arbitrary Lagrangian-
of the client class. Figure 2 presents a simplified and reduced view of the Eulerian (ALE) technique and Hierarchical Mesh Refinement (HMR)
UML class diagram of Tur. features;
The elsA project is a joint development project including organizations and individuals located at several geographic places. This
cooperative development involving developers at different sites is greatly facilitated by the use of a simple and robust version control
system: the Concurrent Version System (CVS), and soon the Subversion system (SVN). The version control system maintains a central
“repository” which stores files and gathers them into coherent and named sets of revisions. The developers work in private workspaces
and use the repository as a common basis for source exchange. Only one person, called the “integrator”, is allowed to “commit” the
set of changes done by a developer back into the repository. Each new production of the software approximately includes 5 to 10
developments.
A delivered release of the software is a particular production, corresponding to a higher level in documentation and validation quality
than a current production. Average time between two successive delivered releases of elsA is 12 to 18 months, and generally about 5
intermediate productions are made.
Communication is obviously one of the key elements in a joint development project. A Web site (http://elsa.onera.fr) facilitates
information transmission. This site, including restricted areas for external users and developers, gives, in particular, access to the
documentation (User Reference Manual, User Starting Guide, Developer’s Guide, Validation report…), the validation scripts (around
170 test cases at the present time in the validation database) and the problem tracking database. A specific email address is available
for software support.
• Geo: defines the abstraction of the computational grid and provides In elsA, the choice of programming languages was done in order
with all geometrical ingredients used by the finite volume formulation to allow both respect of the OO patterns of the design and of CPU
(metrics: volume of cells, surface of cell interfaces; topological relations constraints. The first objective led to the mandatory choice of a true
between geometrical entities: cells, interfaces, nodes); OO programming language, and the C++ language was chosen,
• Dtw: contains all of the distance and boundary-layer integral because it is the most widely used OO language, available on all usual
thickness computations; platforms. Besides C++ as main language for implementing the OO
• Mask: defines concepts, such as masks for blanking, defined in design, it was decided to use Fortran for the two following reasons.
the Chimera technique; First, the CPU tests we carried out at the beginning of the elsA project
• Chim: contains the grid assembly used within the Chimera showed better CPU performance of Fortran in comparison with C.
technique; Second, some Fortran lines of legacy code were re-implemented in
• Join: deals with multi-block computations with various types the elsA loops. However, due to a completely new design, it was in
of multi-block interface connectivity: 1-to-1 abutting, 1-to-n abutting or general not possible to keep the complete subroutines of the legacy
mismatched abutting. code. These Fortran routines are very similar to private class methods:
since they do not appear in the public class interface, they do not affect
The physical model layer includes the Eos module which computes the OO design. A third programming language is used in elsA: the
quantities such as pressure, temperature (according to the equation of Python language which is a freely available interpreted OO language
state of the gas) or laminar viscosity coefficient, and the Tur module and is used for programming the elsA interface. Today, elsA includes
already quoted above. more than one million lines (600,000 in C++ , 420,000 in Fortran and
55,000 in Python).
The space discretization layer gathers several important modules for the
computation of the terms of the equations to solve and of the boundary
conditions: elsA interoperability
• Oper: defines the operator notion. Each operator class is
responsible for the computation of a single term in CFD equations: The interoperability of a program or of a piece of software is its
convective flux (Fxc), diffusive flux (Fxd), source term (Sou); ability to interact with another program or piece of software. The elsA
• Bnd: contains the numerous classes devoted to the large variety software has evolved towards a software suite containing the elsA
of boundary conditions. kernel (mainly the CFD solver) and some additional tools (dealing in
particular with pre-processing and post-processing). All the elements
The solver layer contains: of the suite should be seen as boxes in a larger simulation process.
• Rhs: builds the (explicit) right hand side of the equation system; Our target is the integration of these boxes into all the platforms of our
• Lhs: deals with all the implicit methods; customers. Each aerospace industrial company already has a large
• Tmo: manages the main iterative time loop. set of programs and most of the time they have in-house software
systems to manage them in their own process. Then our goal is
Finally, the top layer is the factory layer which is responsible of the rather to be able to be integrated than to integrate. The strategy for
dynamic creation of all objects (in OO methods, “objects” mean the interoperability and the so-called “component approach” software
“instances of the class”) and in particular includes the Fact module architecture we have designed for it are tightly bound to this goal of
which implements several object “factories” to build objects from user all-platforms integration.
input data coming from the interface.
Box 4 - CGNS
The CGNS (CFD General Notation System) [24] provides a data model and a portable and extensible standard for exchanging and
archiving of CFD analysis data. The main target is data associated with computed solutions of Navier-Stokes equations and their
derivatives, but this can be applied to the field of computational physics in general.
Figure B4-01 – Graphical view of a part of a CGNS tree using the Open Source CGNS.NAV tool
In 1999, the CGNS Steering Committee (CGNS/SC) was formed with academic organizations, aerospace industrial companies and software
editors. Onera joined the CGNS/SC in 2001 and is an active member.
The standard is made up of a data model specification (CGNS/SIDS) which gives the name to the standard itself: Notation System. The main
goal of the CGNS standard is to specify CFD data. The data can be used for exchange in a CFD workflow or as a storage conceptual model. Four
CGNS implementations are available, the ADF, the HDF5 (Hierarchical Data File), the XML (eXtensible Markup Language) and finally the Python
mapping. Now the main implementations are CGNS/HDF5 and CGNS/Python, the first is archiving oriented while the second is more workflow
oriented. CGNS/Python is the basis of the interoperability system developed at Onera around elsA.
The standard is not used for internal data representation but only for the public view of the data, in a workflow exchange, for example from the
CAD to the mesh tool, or from the solver to the visualizer. More complex workflows can be defined, with unsteady computation involving both
CFD and CSM or optimization algorithms.
The data model has a tree structure, starting from the root node, the base, up to the smallest nodes that can be modeled, such as a single real
value or a boundary condition application range (see figure B4-01).
The standard is extensible and the CGNS/SC has a process to add new structures when some user needs are raised and agreed by members.
We often define new data structures in the framework of our projects. CGNS is the good candidate for data specification when several partners
have to exchange data during run-time or to exchange computing files. CGNS can hold a complete simulation context and this has an important
effect: when the user defines his data model, he has to find all the required and exact data needed for the simulation, this avoids hidden behavior
of codes or unwanted side-effects.
The elsA multi-application CFD simulation platform deals with CFD solvers may rely on several meshing paradigms such as structured
internal and external aerodynamics from the low subsonic to the high body-fitted grids, unstructured grids or structured Cartesian grids.
supersonic flow regime and relies on the solving of the compressible Even when considering the same configuration, there is no universally
3-D Navier-Stokes equations (see Box 2). The thermodynamic accepted definitive choice, as can be seen by looking at the contributions
properties of the fluid may correspond either to the perfect gas to the Drag Prediction Workshop (http://aaac.larc.nasa.gov/tsab/cfdlarc/
assumption or to the equilibrium real gas assumption described by a aiaa-dpw/Workshop4/presentations/DPW4_Presentations.htm). In that
Mollier diagram. elsA allows the simulation of the flow around moving workshop, the contributions were roughly evenly divided, half of them
bodies in several formulations according to the use of absolute or on structured body-fitted grids and the other half on unstructured grids.
relative velocities and the definition of the projection frame. This is Each of the mesh types has inherent advantages and disadvantages
useful when dealing with applications to turbomachinery flows, where which may depend on the type of configuration and even more on
the use of relative velocities is advantageous, and applications to flows the flow region of a given configuration. For example, Cartesian grids
around propellers, where the use of absolute velocities is necessary, are easy to generate, to adapt, and to extend to higher-order spatial
with the same software. The bodies may be deformable, as well as accuracy, but they are not suitable for resolving boundary layers
the associated meshes. The gravity source term is optionally taken around complex geometries. Body-fitted structured grids work well for
into account. resolving boundary layers, but the grid generation process for complex
geometries remains tedious and requires considerable user expertise.
A large variety of turbulence models from eddy viscosity to full General unstructured grids are well-suited to complex geometries
Differential Reynolds Stress models are implemented in elsA for the and are relatively easy to generate, but their spatial accuracy is often
Reynolds averaged Navier-Stokes (RANS) equations (see [1] for limited to second order, and the associated data structures tend to be
further details). The range of turbulence models includes classical less computationally efficient than their structured-grid counterparts.
one-transport and two-transport equation models, more advanced Thus, today, the tendency is to couple meshing paradigms in the same
two-equation models, multi-scale four-equation models, one-layer or software [29] or in the same coupling infrastructure [28], and this is
two-layer Algebraic Reynolds Stress models. When thermal effects are also the way chosen for elsA.
important, specific versions of models are available. Low Reynolds
versions of the models are mostly used for an accurate description of In elsA, the main focus has been put firstly on structured body-fitted
the boundary layer profiles, in association with the use of a very fine grids which allow for the use of very efficient numerical algorithms
mesh near the wall. However, wall laws approximating the behavior of due to the natural (I, J, K) ordering of the hexahedral cells. Since it
the boundary layer near the wall are also available, which allow for the is generally impossible to define a unique structured body-fitted grid
use of coarser mesh near the walls and may be used to reduce the around complex geometries, the computational domain is divided in
cost of the calculations, in particular for unsteady calculations. several adjacent or overlapping domains or blocks, in which simpler
component grids can be generated more readily. Communication
Special attention has been paid to laminar-turbulent transition modeling between component grids is achieved either by direct transfer or by
[1], which may be a key point for obtaining accurate flow predictions. interpolation across interfacing boundaries (patched grids), or by
A reliable design of wings or turbines often requires an accurate interpolation within overlapping grid regions (overset grids). In order
modeling of the transition process. Transition prediction capability in to cope with more and more geometrically complex configurations, high
the elsA RANS solver is based on application of criteria that either were flexibility advanced techniques of multi-block structured meshes are
previously developed at Onera for use in boundary layer codes, or available in elsA, in addition to matching techniques for 1-to-1 abutting
result from classical criteria from literature. These criteria are used to or 1-to-n abutting patched grids. These advanced matching techniques
describe Tollmen-Schlichting instabilities (including laminar separation include quasi-conservative mismatched abutting patched grids (also
bubble predictions), cross-flow instabilities, bypass for high external called totally non-coincident matchings) and Chimera technique for
turbulence rate, attachment line contamination, wall roughness. This overlapping meshes [8].
transition capability is available for complex geometry configurations.
Nevertheless, to improve the applicability for very complex geometries, Mismatched abutting patched grids are intensively used in industry
a transition model based on transport equations is now also available. computations with elsA. The reason is that they simplify mesh
generation for complex configurations, and reduce global number of
In order to deal with flows exhibiting strong unsteadiness and large mesh points for a given configuration, by preventing the propagation
separated regions, and/or to provide input data for aeroacoustic of mesh refinements throughout the computational domain. They are
simulations, the user can perform Detached Eddy Simulations (DES) also well adapted to deal with sliding meshes.
and Large Eddy Simulations (LES) [1]. The variants of DES methods
available in elsA (basic DES, Zonal-DES, Delayed DES) are associated The Chimera technique which enables a discretization of the flow
with the Spalart-Allmaras model or with the Menter (k, ω) model. equations in meshes composed of overset grids, may be applied to
The LES approach can be used to compute the larger structures of a wide range of configurations. The two main application domains
the turbulent flows while the smaller structures are dissipated by the of this method were originally dealing with the treatment of separate
numerical model, either by the MILES approach, which relies on the bodies (such as different positions of a missile below a wing) or
properties of advanced upwind schemes and dissipates the unresolved with configurations including bodies in relative motion (for instance,
turbulent structures, or by subgrid models such as the Smagorinsky, helicopter rotor and fuselage or booster separation). During recent
Wale and filtered structure function models available in elsA. years, the Chimera method has also been increasingly used to simplify
Box 5 - Reduced Blade Count method and Phase-Lagged technique, two different approaches for simulating
the time-periodic flow in a turbomachinery stage configuration
To improve turbomachinery performances, 3D Navier-Stokes flow computations in blade rows are commonly used for turbine and compressor
design. Approximate steady flow calculations through multi-stage machines have become usual in design process for many years. In
elsA, they are performed using a specific steady condition, the mixing plane condition, to connect two consecutive rows. This condition is
based on azimuthal averages which are computed at the interfaces and transferred from a row to the consecutive one. It gives a quite good
prediction of the overall efficiency of a machine but of course does not give any information on the unsteady flow fluctuations. Unsteady
computations are increasingly used for industrial purposes: in a complete staged machine, they are necessary when performing unsteady
non periodic phenomena. They are still very expensive, as discussed in the High Performance Computing section of this paper. But under
some conditions, techniques for reducing the computational domain can be used. They can be applied for time-periodic flows (in the
frame of reference of each row), that is for flows where the unsteadiness is only due to the relative motion of the rows. The first technique,
called “Reduced Blade Count” method [11], was introduced in elsA software [23]. The computation is performed on the actual geometry
with reduced blade counts. The interface between the blade rows accounts for the non equal pitches on each side of the interface by an
appropriate scaling. The second technique, known as “Phase-Lagged” technique [9], or “Chorochronic” method was implemented in 2003
in elsA software [2]. A single blade passage is computed for each row. The flow solution is stored on the interface boundaries and on the
azimuthal periodic boundaries to deal with the phase lag which exists between rows and adjacent blade passages in a row.
Let us note N1 and N2 the actual blade numbers of two consecutive rows, ω1 and ω2 their rotation speeds. The flow periods are equal to
T1=Trot / N2 and T2=Trot / N1, respectively in the rotating frame of the first row and in the rotating frame of the second one, Trot=2π / |ω2-ω1|
being the time for a blade passage to make a whole revolution.
We can define DM as a mean value of the Ki / Ni ratios. This quantity represents the geometric reduction which is applied to each row
to obtain the computational domain. On the interface, the two blade groups are linked by an instantaneous continuity condition through
a common azimuthal extension em = 2π / DM with a scaling given by λi = (Ni /Ki ) (1/DM ) for each row. The “Reduced Blade Count”
technique induces a slight approximation since the computational periods are T’1 = Trot / (K2DM) and T’2 = Trot / (K1DM), that is T’i=λiTi.
This technique can be applied to several consecutive rows if the actual blade numbers are cooperative enough to apply a geometric
reduction.
In the “Phase-Lagged” approach, the computational domain is limited to a single blade passage for each row. As the flow is time-periodic
in each blade row, a phase lag exists between two adjacent blade passages. This phase lag is the time taken by a blade of the next row
to cover the pitch of the row, modulo the time period of the row. The “Phase-Lagged” technique consists of storing the flow values on the
azimuthal periodic boundaries and on the interface in order to use them later to build the flow.
Let us consider two space periodic points A and B of the upper and lower boundaries of the first row. B is ahead of A and what happens at
time t in B will happen in A at t + T2 and more generally at t + T2 + nT1 or has happened at t + T2 - mT1 (m is an integer such that T2 - mT1
is negative). The flow condition stored in A at time t + T2 - mT1 can be used for the boundary treatment of B at time t.
The treatment of the interface relies on the same principle. At each time step, the flow continuity is enforced at the interface between one
cell facet of the first row and the suitable storage of the second row, taking into account for the relative position of the rows and using the
necessary spatial interpolation on the stored data.
The direct storage of flow solution may lead to very large requirements in terms of memory. The data storage is lowered to an acceptable
amount by Fourier analysis.
In the framework of the TATEF2 European project [7], unsteady flow simulations of the stator-rotor interaction in a transonic turbine stage
have been performed using the “Phase-lagged” approach. Figure B5-01 shows clearly shock structures obtained for high pressure ratio.
t/Tr=0.0 t/Tr=0.5
t/Tr=0.25 t/Tr=0.75
Figure B5-01 – Shock progression through the turbomachinery stage: schematic (left) and density gradient (right). y/H ~ 25%.
The “Phase-Lagged” approach does not make any approximation on the number of actual blades and it accounts for the real time period in
each reference frame. So it is more accurate than the “Reduced Blade Count” technique. Moreover, as the computational domain is limited to
a single blade passage for each row, it is less expensive in terms of CPU time and computer memory. But this approach can only be applied
to a single stage, whereas the “Reduced Blade Count” technique can be applied to multi-stage configurations, even when several rotors have
different rotational speeds.
A generalization of the “Phase-Lagged” approach, called “multiple frequency Phase-Lagged method”, is under development in elsA [18]. This
method allows for unsteady computations through several rows, whilst still limiting the computational domain to one single blade-to-blade
passage in each row.
8.0
6.0
4.0
2.0
Point-to-point communications are implemented either with blocking elsA has been ported to most high-performance computing platforms,
(MPI_Sendrecv_replace) or non-blocking (MPI_Irecv/ achieving good CPU efficiency on both scalar multi-core computers
MPI_send) point-to-point messages. Only blocking point-to-point and vector computers. As an example, Figure 7a shows typical
communications require the scheduling of messages as shown by Fig. speedup results on a civil aircraft configuration including 27,8 106
6. The scheduling of communications comes from a heuristic coloring mesh points and 1037 blocks. The numerical options include multigrid
algorithm adapted from graph theory. algorithm (3 levels) and the Spalart-Allmaras one-equation turbulence
model. For large number of processors, the configuration has been
Scheduler
split, ending up with 1774 blocks. The computer is the Cerfacs'
No scheduler BlueGene/L computer. Another concrete example (Figure 7b) is the
1 High Lift Prediction Workshop configuration, where a good scalability
is obtained up to 256 computing cores, on a SGI cluster built with Intel
Nehalem processors (Onera's Stelvio computer), on a grid of 160 106
Normalized efficiency
0.4
8
0.2
4
1 2
MPI Implementation
0
0 128 256 384 512 640 768 896 1024
Figure 6 – Effect of the MPI blocking and non-blocking communications on Number of processors
elsA efficiency with and without message scheduling
a) Generic civil aircraft configuration
The non-coincident inter-block connectivity is implemented with
blocking collective communications (MPI_Allgatherv). If only 6
one computing core handles the whole inter-block connection, data 5.5 Ideal Speedup
exchanges come down to memory-to-memory copies without MPI 5
Measured Speedup
messages.
4.5
Performance discussion 4
Speedup
3.5
The well known Amdahl's law states that load balancing is crucial to 3
obtain a good efficiency on parallel computers when the number of
2.5
processors increases. Due to topological constraints, the number of
cells in blocks can be very different, ranging from 103 to 1003. Most of 2
the time, some blocks must be split to achieve a good load balancing. 1.5
It is not clear if an optimal response can be obtained in a reasonable 1
amount of time. Therefore, elsA integrates a heuristic block splitting 0 32 64 96 128 160 192 224 256
algorithm in the load balancing process. Based on the relative error Number of processors
between the number of cells allocated to the computing core and the
ideal number of cells, it checks if the largest block to be allocated b) Configuration of the High Lift Prediction Workshop 2010
needs to be split. The partitioning algorithm handles many constraints
such as the multigrid constraint. The so-called “greedy” load balancing Figure 7 – Normalized speedup obtained with elsA on two configurations
Acknowledgements
The authors would like to thank all colleagues of several Onera Departments (CFD and Aeroacoustics, Applied Aerodynamics, Aerodynamics and Energetics
Modeling, Aeroelasticity and Structural Dynamics), of Cerfacs and of development partners for their sustained effort to make the elsA software a powerful and
reliable tool for research and for industry.
We would like in particular to acknowledge contributions of the following former and present members of the elsA software team in the Onera CFD and
Aeroacoustics Department: A. Gazaix-Jollès, M. Lazareff, J. Mayeur, B. Michel, P. Raud, A.-M. Vuillot.
We also thank our colleagues who have provided us with the elsA results presented in the paper: F. Blanc (Cerfacs/Airbus) for the transport aircraft configuration,
N. Gourdain (Onera Applied Aerodynamics Department, then Cerfacs) for the rotating stall turbomachinery simulation, then for the HPC turbomachinery
calculation, G. Delattre (Onera Applied Aerodynamics Department) for the CROR configuration, C. Benoit, G. Jeanfaivre and X. Juvigny (Onera CFD and
Aeroacoustics Department) for the helicopter configuration.
References
[1] B. AUPOIX, D. ARNAL, H. BÉZARD, B. CHAOUAT, F. CHEDEVERGNE, S. DECK, V. GLEIZE, P. GRENARD and E. LAROCHE - Transition and Turbulence
Modeling. Aerospace Lab, Issue 2, 2011.
[2] G. BILLONNET, S. PLOT and G. LEROY - Implementation of the elsA Software for the Industrial Needs of Flow Computations in Centrifugal Compressors.
41e colloque d’Aérodynamique Appliquée, Lyon, 2006.
[3] R.H. BUSH, G.D. POWER and C.E. TOWNE - WIND: The Production Flow Solver of the NPARC Alliance. AIAA Paper 98-0935, 36th AIAA Aerospace Science
Meeting and Exhibit, Reno, 1998.
[4] L. CAMBIER, M. GAZAIX - elsA: an Efficient Object-Oriented Solution to CFD Complexity. AIAA Paper 2002-0108, 40th AIAA Aerospace Science Meeting
and Exhibit, Reno, 2002.
[5] L. CAMBIER and N. KROLL - MIRACLE - A joint DLR/Onera Effort on Harmonization and Development of Industrial and Research Aerodynamic Computational
Environment. Aerospace Science and Technology, vol.12, 2008.
[6] L. CAMBIER and J.-P. VEUILLOT - Status of the elsA CFD Software for Flow Simulation and Multidisciplinary Applications. AIAA Paper 2008-664, 46th AIAA
Aerospace Science Meeting, Reno, 2008.
[7] L. CASTILLON, G. PANIAGUA, T. YASA, A. DE LA LOMA and T. COTON - Unsteady Strong Shock Interactions in a Transonic Turbine: Experimental and
Numerical Analysis. ISABE Paper 2007-1218, Beijing, China, 2007.
[8] B. COURBET, C. BENOIT, V. COUAILLIER, F. HAIDER, M.-C. LE PAPE and S. PÉRON - Space Discretization Methods. Aerospace Lab, Issue 2, 2011.
[9] J.I. ERDOS and E. ALZNER - Computation of Unsteady Transonic Flows Through Rotating and Stationary Cascades. NASA CR-2900, 1977.
[10] M. ERRERA, A. DUGEAI, P. GIRODROUX-LAVIGNE, J.-D. GARAUD, M. POINOT, S. CERQUEIRA and G. CHAINERAY - Multi-Physics Coupling Approaches
for Aerospace Numerical Simulations. Aerospace Lab, Issue 2, 2011.
[11] A. FOURMAUX - Assessment of a Low Storage Technique for Multi-Stage Turbomachinery Navier-Stokes Computations. ASME Winter Annual Meeting,
Chicago, 1994.
[12] M. GAZAIX and S. CHAMPAGNEUX - Recent Results with elsA on Multi-Cores. Symposium on CFD on Future Architectures, DLR Braunschweig, 2009.
[13] M. GAZAIX, A. JOLLÈS and M. LAZAREFF - The elsA Object-Oriented Tool for Industrial Applications. 23rd ICAS meeting, Toronto, 2002.
[14] T. GERHOLD, V. HANNEMANN and D. SCHWAMBORN - On the Validation of the DLR-TAU Code. in W. NITSCHE, H.J. HEINEMANN and R. HILBIG (Eds),
New Results in Numerical and Experimental Fluid Mechanics, NNFM 72, Vieweg, 1999.
[15] N. GOURDAIN, L.Y.M. GICQUEL, M. MONTAGNAC, O. VERMOREL, M. GAZAIX, G. STAFFELBACH, M. GARCIA, J.-F. BOUSSUGE and T. POINSOT - High
Performance Parallel Computing of Flows in Complex Geometries - Part 1: Methods. Computational Science and Discovery, vol. 2, 2009.
Laurent Cambier graduated in 1980 from “École Centrale de Marc Poinot who received an MSc in Computer Science from
Paris”, is presently Assistant Director of the CFD and Paris XI Orsay University, is a software engineer in the CFD
Aeroacoustics department of Onera and Head of the elsA and Aeroacoustics department of Onera. He is in charge of
program coordinating research, software and validation interoperability topics for code coupling and numerical
activities. simulation platforms. He is member of the CGNS steering
committee and he initiated and actively participated to the
Michel Gazaix graduated in 1979 from “École Normale migration of CGNS to HDF5.
Supérieure de Saint-Cloud” and has been a Research
Scientist at Onera since 1986. In the CFD and Aeroacoustics Jean-Pierre Veuillot graduated in 1969 from “École
department, his research topics include: High Performance Supérieure de l’Aéronautique”, received a PhD from Paris 6
Computing, Real Gas modeling in compressible flows, and University in 1975. He was Assistant Director of the CFD and
software engineering applied to large scientific codes. Aeroacoustics department when he retired from Onera in
2010 after a whole career at Onera devoted to numerical
Sébastien Heib PhD in Numerical Analysis from Paris 6 methods and software development in CFD.
University, joined Onera in 2001. He is presently the head of the
elsA software project in the CFD and Aeroacoustics department. Jean-François Boussuge graduated from the Von Karman
Institute, was working as numerical simulation engineer in the
automotive field until 2001 before becoming research
engineer at CERFACS where he was in charge of code
Sylvie Plot graduated from “École Nationale Supérieure de development on various CFD methods and algorithms until
l’Aéronautique et de l’Espace” in 1990. Since that time, she 2005. Today, he is the leader of the external aerodynamics
has been working at Onera, mainly on the development of group at CERFACS.
helicopter and turbomachinery CFD capabilities. She is
currently head of the “Software and Advanced Simulations Marc Montagnac is a research engineer in external
for Aerodynamics” research unit of the CFD and Aeroacoustics aerodynamics group at CERFACS. He graduated from the
Department. “Institut National des Sciences Appliquées” with an
engineering diploma in 1994 and received a PhD in Computer
Science from Paris 6 University in 1999. His primary research
and professional interests are in the areas of software
engineering, High Performance Computing and numerical
methods.