-
Notifications
You must be signed in to change notification settings - Fork 21
/
ChangeLog
140 lines (116 loc) · 10.7 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
Version notes
--------------------------------------------------------------------------------
Version 1.11.1
-- Ensure shape functions go to 0 at leading edge and trailing edge so that trailing edge thickness is preserved
-- Undo any scaling and translation when passing coordinates to xfoil or writing them to file to ensure moment reference point is consistent with seed airfoil
-- If run_control file cannot be read, print a warning and continue on rather than crashing
-- Fix an uninitialized variable
-- Fix some compiler warnings
-- Package both 32-bit and 64-bit Windows binaries
Version 1.11.0
-- Allow min_te_angle to be 0
-- Add optimization type to maximize lift curve slope
-- Add ability to specify ncrit per operating point
-- Add option to specify y hinge location as fraction of local thickness
-- Improve detection of leading edge and point ordering direction
-- Add ability to constrain thickness at specified x/c locations
-- Add ability to control a running optimization with run_control file
-- Change how command line options work and add --help and --version options
-- Correct iteration count when restarting a global+local optimization during the local search
-- Change to CMake-based build system
-- Package Windows build with shared libraries needed to run in parallel without having to compile
Version 1.10.0
-- Support automatic generation of more NACA airfoil families: modified 4-digit, 5-digit, 6, and 6A series.
-- Improvements to design_visualizer.py:
-- ** Display thickness, camber, other stats on airfoil plot.
-- ** Show plots for all aero quantities.
-- ** Show plot of optimization progress (objective function value, improvement over seed).
-- Optimization type to maximize (push aft) turbulent transition location.
-- Have xfoil_only use the same input file as xoptfoil.
-- In stdout, format optimization progress more nicely and show objective function value as well as improvement over seed.
-- Include a FAQ file.
-- Bug fixes.
Version 1.9.4
-- Show angle of attack in performance summary.
-- Update example case to reflect changes in constraints settings in recent versions.
Version 1.9.3
-- Ask user to automatically remove pitching moment constraints for symmetrical airfoil optimization.
-- Fix bug for symmetrical airfoil optimization.
Version 1.9.2
-- Added min_camber and max_camber constraints.
-- Split max_curv_reverse constraints into max_curv_reverse_top and max_curv_reverse_bot, allowing you to control the number of reversals on the top and bottom surfaces independently. Set default to 0 for top and 1 for bottom.
-- Fixed a bug in the objective function where sometimes it would report an artificially excellent performance value when very close to a constraint boundary.
-- The check for seed airfoil constraint violations is now interactive, and the seed_violation_handling option in constraints has been removed.
Version 1.9.1-1
-- Fixed bug in Makefiles not compiling due to change in src/ directory structure (thanks babangs on RCGroups).
-- Added information to User Guide on how to get around problem with latest MinGW (Windows compiler). The latest version does not include OpenMP support, so to compile the parallel version of Xoptfoil, it is necessary to revert to an older version of the compiler.
Version 1.9.1
-- Set default for min_bump_width to correct value of 0.1 instead of 0.5. This would have only affected runs that did not already have min_bump_width set in the input file.
Version 1.9.0
-- Genetic algorithm has been added as a global search option. It can be used instead of particle swarm optimization. Convergence and performance are similar to particle swarm with 'exhaustive' search profile.
-- 'exhaustive' convergence profile is now default for particle swarm, with 700 iterations. The 'standard' profile has been renamed to 'quick'.
-- Better input error checking has been implemented for namelist inputs.
-- Diagnostic outputs have been improved when checking to make sure that the seed airfoil passes the user-defined constraints. For example, the user is notified of locations where curvature reversals occur.
-- Feasible initialization inputs are now in their own namelist, since they are common to genetic algorithm and particle swarm. In existing input files, some inputs in the particle_swarm namelist have changed. See User Guide for correct variable names.
Version 1.8.0
-- Xoptfoil can now restart from a previous optimization. Set restart=.true. in optimization_options of the input file to restart. Some output files from the previous run are also required; see the user guide for more information.
-- design_visualizer.py now explicitly asks for the case name instead of getting it from a command line argument.
Version 1.7.2
-- Fixed a bug in design_visualizer.py that was preventing it from running. Sorry about that!
Version 1.7.1
-- design_visualizer.py was mistakenly omitted from release v1.7.0. It is present in v1.7.1 and located in the bin directory.
-- design_visualizer.py can now monitor an ongoing optimization, so you can see the shape and polars for the current best airfoil and the seed airfoil while xoptfoil is running. Select option 3 in the menu of design_visualizer.py to use this function.
Version 1.7.0
-- Created design_visualizer.py, a menu-based python script to plot airfoils and polars generated during the optimization. See the user guide for installation and usage information.
-- Removed design_plotter tool; its functionality has been moved into the main xoptfoil code so that you don't need to perform this separate step. Airfoil coordinates and polars are not written directly by xoptfoil during execution.
-- Updated documentation with new changes and changes from v1.6.0 that hadn't been incorporated in the documentation.
Version 1.6.0
-- Flap angle can now be optimized by Xoptfoil at any desired operating point or prescribed.
-- Pitching moment constraints are now set per operating point instead of using a global min value.
-- New pso_convergence_profile setting: use the default 'standard' settings or a new 'exhaustive' option, which usually finds better designs at the expense of longer time to converge.
-- Convergence criterion has been changed for the particle swarm optimization. Now only a single tolerance based on particle speed (called pso_speed_tol) is needed; the settings pso_nstop has been removed.
-- Documentation for two example cases has been created, which gives a complete walk-through of optimizing an airfoil and also using the new flap angle optimization feature.
Version 1.5.0
-- Added capability for specified flap deflection at each operating point.
-- Different objectives can now be specified at each operating point.
-- Added 'max-cl' optimization type to maximize lift at specified angle of attack.
-- New objective function scaling to facilitate different objectives at each operating point. As a result, optimization progress is now reported as % improvement over the seed airfoil.
-- Changed number of wake panels in Xfoil code to be the same as in Xfoil 6.99 (old version was the same as Xfoil 6.97).
-- Updated documentation reflecting new features. Also updated documentation to explain how to compile for parallel processing on Windows.
Version 1.4.1
-- Improved robustness in thickness checks
Version 1.4
-- Added constraint to force only symmetrical airfoils to be generated.
Version 1.3.4
-- Bug fix in input_sanity.f90
Version 1.3.3
-- max_thickness constraint to specify an upper bound on airfoil thickness (defaults to 1000.0).
-- The second CLO now specifies output airfoil name (which is written on the first line of the output airfoil file) instead of the file name; the file name is the airfoil name with '.dat' appended.
Version 1.3.2
-- Added CLOs to specify input and output file names; reverts to defaults inputs.txt and optfoil.dat, respectively, if none are specified.
-- Removed restart and restart_write_freq options in the input file, since these options haven't been implemented.
-- Updated documentation for compiling and running, and combined them into one manual.
Version 1.3.1
-- Improved initialization and stopping condition for simplex search.
Version 1.3
-- 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.
Version 1.2
-- 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.
Version 1.1.1
-- 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.
Version 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.
Version 1.0.1
-- 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