You are here


Flite3D CFD code for Unstructured Euler Fluid Dynamics

Flite 3D models

Flite 3D models

FLITE3D is the corporate Euler code within BAE Systems for all aerodynamic design. Developed over 10 years ago by Imperial College and Swansea University, it has subsequently been extensively modified and tested by numerous project users in both military and civil applications. FLITE3D is a mature Euler code offering an impressive range of robust predictive capabilities over the highly complex configurations typical of the aerospace industry.

Geometry Handing

FLITE3D has a fully portable JAVA front end called RAVEn. RAVEn is used to provide the interface to CAD geometries (via IGES) and allow simple and easy fixing up of CAD imperfections and holes. RAVEn provides for all of the basic entity manipulations (scaling, translation, reflection, rotation) as well as creation of simple surfaces via transfinite interpolation. Additionally, all the set up for FLITE3D can be performed within RAVEn.

Mesh Generation

Mesh generation comes in two parts - surface followed by volume. The surface mesh generator in FLITE3D is based on an advancing front technique and works on a CAD-patch basis in parametric space. Much effort over the years has been put into ensuring that meshes can be generated over highly distorted and 'poor' CAD geometries with little effort from the CFD user. Additionally, mesh quality is seen as extremely important and is compromised as little as possible, with added features such as mesh smoothing, diagonal swapping, edge refinement and cell merging to enhance this quality. Volume mesh generation is achieved via a 3D delaunay point insertion method coupled with a robust boundary recovery procedure. This method is fast and uses very little memory meaning that large meshes can be produced on quite small machines - typically a 2 million cell mesh can be generated in less than 10 minutes using less than 1Gb memory.

Steady state prediction

FLITE3D has been used on a wide range of applications ranging from low speed civil high lift configurations through transonic complex aircraft in cruise to supersonic weapon performance predictions. FLITE3D is a low dissipation code, offering excellent Euler accuracy. It is fully parallel and large solutions can be obtained in minutes.

Viscous Coupling

To enhance the Euler capability within FLITE3D without having to resort to the full expensive Navier-Stoke equations, there is a capability to automatically couple FLITE3D with a series of 2D boundary layer calculations over selected aerodynamic surfaces. The increased accuracy without the time penalty of this option has meant that this is generally the preferred mode of operation within Airbus for their civil design purposes.

Unsteady Predictions

Within FLITE3D there are options to run full unsteady coupled with mesh movement or a cheaper quasi-unsteady method where a series of steady state solutions are coupled together with transpiration boundary conditions. The quasi-unsteady method is best suited to large movements such as the prediction of a store separation from an aircraft, whilst the full unsteady method is best suited to small movements such as wing bending and twisting.

Structural Coupling

A simple structural model has recently been coupled to FLITE3D to enable complete fluid-structure analysis and this is now in use for civil applications. The simulation is based on a real-valued modal synthesis, and provides a time-accurate estimate of the effect of the aerodynamics on the movement of the underlying structure.

Sensitivities and Adjoints

FLITE3D provides aerodynamic outputs (lift, drag) from freestream (Mach number, angle of attack) and geometric inputs. There are generally a large number of variables controlling the geometry, such as NURBS descriptions of aerofoil sections or twist and camber specifications. In order to optimise the design geometry, it is useful to know the sensitivity of the outputs to the inputs. However, in order to achieve this, the code must be run once for each input - a very time consuming process! The adjoint code, which we have generated automatically from the original program, is a reverse linearisation that provides the sensitivity of a particular output (e.g. drag) with respect to every single input. The time taken for the code to execute is independent of the number of inputs! We are currently investigating how best to incorporate this capability into the design process.


Colophon