This is XoptFoil, an airfoil optimization code using the XFoil aerodynamics
Copyright 2014 Daniel Prosser.
XoptFoil uses the GNU Public License Version 3, a copy of which can be found in the license directory.
-- Supports up to 30 operating points during optimization and multiple user-defined constraints
-- Each operating point has a specified lift coefficient or angle of attack, Reynolds number, Mach number
-- Each operating point is assigned a relative weight (importance) by the user
-- Available constraints include thickness, pitching moment, and trailing edge wedge angle
-- Currently included optimization algorithms: Particle Swarm and Nelder-Mead Simplex algorithm
-- The optimizer is robust: many checks for reasonable geometry and XFoil convergence in place
-- Parallel version now available
-- XFoil engine accurately predicts transition, separation bubbles, and stall at low Reynolds numbers
Compiling instructions are included in the INSTALL file and in the user guide.
Options are stored in the fortran namelist file inputs.txt. This file sets basic optimization options, operating conditions, constraints, and XFoil paneling and run settings.
In addition to the optimization code, when you build the source you also get a tool to compute coordinates and polars for each incrementally-improved airfoil generated during the optimization. These can then be plotted using Matlab or Tecplot to create visualizations. An executable to run XFoil alone is also included, which has its own input file called inputs_xfoil_only.txt.
-- Added a curvature reversals constraint to limit wavy designs. Sometimes the optimizer comes up with these because the waviness is not harmful aerodynamically over the operating points selected. The curvature reversals constraint penalizes reversals that exceed a given curvature threshhold. You can read more about how to use this constraint in the user guide.
-- Automatic checking of the seed airfoil is now performed to make sure it meets all constraints. If it does not pass a constraint, the program will either stop with an error or continue with a warning, depending on the seed_violation_handling input parameter. You can read more about this in the user guide.
-- The min_moment constraint can now be explicitly turned off, automatically set based on the seed airfoil, or specified manually. See the user guide entries for the inputs moment_constraint_type and min_moment.
-- Implemented better trailing edge thickness checking to prevent really thin trailing edges. The wedge angle constraint is now applied over the entire back half of the airfoil.
-- Added parallel support with OpenMP for computers with multiple cores and threads to speed up the optimization process.
-- XFoil consistency check removed from input file. This is now handled automatically and only in cases where it might be needed, so the user doesn't have to worry about it anymore.
-- Parallel and serial binaries are included for Linux and Windows on x86-64 architecture. These have been compiled linking any needed runtime libraries (e.g. for OpenMP) statically so there should be no runtime errors about not being able to load a shared library.
-- More strict checking for too thin geometry near trailing edge. Should ensure that there can be no crossings of the top and bottom surfaces. Note: the Windows executable has not yet been updated for Version 1.1.1.
-- Added Hicks-Henne shape functions for parameterization. See the user guide for more information on using them.
-- Added consistency checks for XFoil, which the user can enable for any operating point. This prevents the optimizer from converging to unrealistic
designs. See the user guide for more information.
-- Added references on shape functions, a user guide, and a compiling guide.
-- Releases now include executables for Linux and Windows compiled on x86-64 architecture.
-- Added initial feasibility checks for simplex search
-- Include seed airfoil as one of the initial designs, if it is feasible
-- Add option to write design variables to file each time the best overall design is improved
-- Created tool to evaluate coordinates and polars for designs generated during optimization, which can be visualized with Tecplot