Open VOGEL

Introduction

Simulation of a flying airplane using Open VOGEL (www.openvogel.com)

Open VOGEL is an open source framework intended for the simulation of aerodynamic problems through the Unsteady Vortex Lattice Method and first order singularity panels (vortex rings, flat doublet panels and flat source/sink panels). The code has been fully developed in the .NET framework using Visual Studio Express and it is published under General Public License, GPLv3.

The Open VOGEL framework consists in a library of models (which includes slender surfaces, fuselages and other components), a set of winforms-based GUI tools, a calculation core with generalized definitions based in potential flow and a main frame that manages all the components.

The novel feature of Open VOGEL is that users can add their own models to the library, and expand that way the general capabilities of the software or adapt it for an specific purpose. In that sense, the software acts as a basic framework for research applications. Any university, research facility or individual in the world is authorized to take the source code, improve it and release it under GPLv3 for further use in the aeronautical community.

The idea behind this way of working is that those who use the software for practical applications can directly benefit from what researchers are achieving, so that their results can be directly put into practice.

Modelling

One of the key features of Open VOGEL is that it provides built-in tools that facilitate the creation of geometrical models. Each component is defined in a parametric way, and the software resolves the geometry to generate a suitable mesh optimized for the calculation core.

Open VOGEL currently allows three types of models: slender lifting surfaces, closed fuselages and jet engine nacelles (tubular cylinders).

Calculation capabilities

Because Open VOGEL is based in the Unsteady Vortex Lattice Method, it can simulate steady and unsteady problems. The unsteady solver is not only used to simulate gusts, but it is the core of the aeroelastic module. By linking a structural FE model with the UVLM, Open VOGEL can also simulate the unsteady transit of flexible wings and the deformation of wings in the steady state.

The aerodynamic calculation core

Open VOGEL relies on an object-oriented multi-threading calculation core. The aerodynamic part of the CC (the ACC) is based in hierarchical structure that begins with the definition of "vortex rings", which in turn, can be assembled together to form a "lattice".

Lattices can be of two types: "bounded" or "wakes". Bounded lattices represent all solid boundaries where boundary conditions have to be imposed, while wakes represent the vortex sheets shed by the bounded lattices. Because of this parent-child relation, each bounded lattice contains a stack of wakes that can be automatically shed by its parent bounded lattice based on information about the primitive shedding edges.

Boundary conditions are imposed at vortex ring level. Vortex rings can be triangular or quadrilateral, but most importantly, they can be slender or solid. On slender rings, Neumann BC's are imposed, while on solid rings, Dirichlet BC's are imposed. Imposing one BC or the other implies calculating the local velocity or the local velocity potential.

The calculation of the velocity and the velocity potential at a given point is encapsulated inside each vortex ring. The method that is actually implemented differ from the topology of the inducing ring (triangular or quadrilateral). Each lattice exposes then a method that allows the same calculation at lattice level by running over all contained rings.

The ACC will solve the boundary conditions by solving a system of linear equations. In a rigid model-problem, it will build a unique matrix of coefficients, generate the LU decomposition, and reuse that solution to find the circulation in the rings at all time steps. For aeroelastic simulations, however, because the relative position of the rings is permanently changing, it will recalculate the matrix and LU decomposition at each time step.

The right hand side of the system of equations containing the free-velocity and source-potential terms, is only updated at each time for unsteady problems.

Multi-threading operation

When the velocity or velocity-potential has to be calculated at all control points in a bounded lattice, a multi threading operation is started: for each control point in the targeting lattice, all rings from all bounded lattices and associated wakes are run over in an isolated thread. This multi-threading system allows running several vortex rings simultaneously, what considerably reduces the calculation time in multiple-cores machines. The reduction of time is proportional to the number of processors in the machine.

This article is issued from Wikipedia - version of the Friday, April 22, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.