Vortex lattice code
This thread will detail my work on a vortex lattice code intended for optimizing wings. For the final tool, I plan to couple it with XFOIL code subroutines to compute profile drag at each section, which will then be integrated using a strip-theory approach. So the lift and induced drag will be computed via the 3D potential flow approach, and the profile drag will be summed up by a 2D analysis of each section.
The solution process will look like this:
1) Create the geometry using a separate spreadsheet with visual display of the wing as you create it. The spreadsheet will then automatically write the required geometry input files for the vortex lattice code.
2) Set up an input file for the code listing flight condition (specified alpha or specified CL, yaw angle, Reynolds number at the root); root airfoil, tip airfoil, and other airfoils between the root and tip; paneling discretization, and any runtime options.
3) Run the code. The following will happen:
---i) First, airfoil shapes will be interpolated to each panel. These coordinates will be used when running XFOIL to get profile drag.
---ii) From the computed airfoil geometry, create the mean camber line at each panel. The mean camber line is used for the vortex lattice geometry.
---iii) Using the mean camber lines, input geometry, and paneling setup, create wing panels and compute information such as panel areas, collocation points, normal vectors, etc.
---iv) Set up a vortex ring for each panel, where the leading edge of the vortex ring is along the quarter-chord line of the panel and the collocation point is at the center of the 3/4-chord line of the panel (half-chord line of the vortex ring).
---v) Set up horseshoe vortices in the wake, whose leading edges line up with the trailing edges of the aftmost vortex rings on the wing. To satisfy the Kutta condition, the horseshoe vortices in the wake have the same circulation strength as the vortex rings they line up with.
---vi) Solve for the unknown strengths of the vortex rings by satisfying the boundary condition of no through-flow at the collocation points.
---vii) Get the velocity at the wing panels by summing up influences of all vortex rings and horseshoe vortices. Get pressure distribution from velocities by the Bernoulli equation.
---viii) Find the lift coefficient, pitching moment coefficient, and induced drag coefficient by integrating the pressure differential on the surface.
---ix) If a lift coefficient was specified and the computed lift coefficient is not the specified lift coefficient, adjust the angle of attack and start over at step vi).
---x) Calculate Reynolds numbers for the airfoils at each section. Run each airfoil at the appropriate Reynolds number and angle of attack to compute the profile drag.
---xi) Integrate the profile drag across the span to get the total profile drag.
---xii) Write output files for spanwise variation of sectional lift, induced drag, profile drag, and any other output files deemed valuable.
You may ask, "Montag DP, why are you making a new vortex lattice code when there are already some good freely available ones, like AVL and XFLR5?" There are a few reasons. The main reason is that I want to eventually be able to wrap an optimizer around it to maximize the performance of sailplane wings. There are some other reasons too:
1) AVL doesn't do profile drag.
2) XFLR5 does profile drag, but I don't like how everything is behind a GUI. It's not good for running a lot of cases in a short amount of time.
3) By writing the code myself, I can make it so that it is easy to wrap an optimizer around it. I can also parallelize it to run faster.
4) It will be fun, and I can experiment with some other things like wake relaxation. Perhaps eventually the inviscid part of the analysis can be made unsteady and applied to aeroelastic problems or rotorcraft simulations.
So far all I've done is written the code to calculate the influence of arbitrary quadrilateral vortex rings on arbitrary points in space. The first picture below shows streamlines from a test I did. I will next have to add triangular vortex rings and horseshoe vortices before I can start writing the vortex lattice code.
Progress will probably be slow in the next couple months because I'm taking Quals at the end of October, so I won't be devoting much time to this before then.
The vortex lattice code is pretty much stalled. I got busy with other stuff and now I'm working on an airfoil optimization code. Plus, the already-available options like AVL and XFLR5 already do pretty much everything I wanted to do with the vortex lattice code anyway. I'll update this thread if I do start working on it again. In the meantime, we can discuss optimization via PM or in my XoptFoil thread in the Modeling Science forum.
|Category||Thread||Thread Starter||Forum||Replies||Last Post|
|New Product||BLACK VORTEX New flight controller for MegaPirate code...||CSG_EU||Multirotor Electronics||2508||May 31, 2013 05:31 AM|
|Discussion||Wing tip vortex and Leading edge vortex ???!!||khaled_abobakr||Ornithopters||4||May 04, 2011 03:23 AM|
|Cool||New Freeware Vortex Lattice Code 'XWing'||biber||Modeling Science||0||May 08, 2007 06:31 PM|
|Discussion||Which is Better Vortex or Blade CX2? here is Vortex Video||lazy-b||Coaxial Helicopters||2||Jan 10, 2007 06:41 PM|
|Dragonfly Vortex & Vortex Extreme!||KoKoe||Beginner Training Area (Aircraft-Electric)||3||Dec 27, 2004 10:41 PM|