airfoileditor 4.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. airfoileditor-4.0.0/.gitignore +33 -0
  2. airfoileditor-4.0.0/LICENSE +21 -0
  3. airfoileditor-4.0.0/PKG-INFO +55 -0
  4. airfoileditor-4.0.0/assets/windows/AE_starter.exe +0 -0
  5. airfoileditor-4.0.0/assets/windows/worker.exe +0 -0
  6. airfoileditor-4.0.0/assets/windows/xoptfoil2.exe +0 -0
  7. airfoileditor-4.0.0/doc/README_PyPi.md +31 -0
  8. airfoileditor-4.0.0/examples_optimize/F3B_bezier/F3B_bezier.xo2 +56 -0
  9. airfoileditor-4.0.0/examples_optimize/F3B_bezier/Readme.txt +26 -0
  10. airfoileditor-4.0.0/examples_optimize/F3B_bezier/Seed_rearloaded.dat +202 -0
  11. airfoileditor-4.0.0/examples_optimize/F3B_bezier/make.bat +11 -0
  12. airfoileditor-4.0.0/examples_optimize/F3B_bezier/make.sh +3 -0
  13. airfoileditor-4.0.0/examples_optimize/F3B_bezier/stop.bat +2 -0
  14. airfoileditor-4.0.0/examples_optimize/F3F_hicks_henne/F3F_hicks_henne.xo2 +65 -0
  15. airfoileditor-4.0.0/examples_optimize/F3F_hicks_henne/Readme.txt +35 -0
  16. airfoileditor-4.0.0/examples_optimize/F3F_hicks_henne/Seed_no_rearload.dat +162 -0
  17. airfoileditor-4.0.0/examples_optimize/F3F_hicks_henne/make.bat +10 -0
  18. airfoileditor-4.0.0/examples_optimize/F3F_hicks_henne/make.sh +3 -0
  19. airfoileditor-4.0.0/examples_optimize/F3F_hicks_henne/stop.bat +2 -0
  20. airfoileditor-4.0.0/examples_optimize/SD7003_fast/Readme.txt +28 -0
  21. airfoileditor-4.0.0/examples_optimize/SD7003_fast/SD7003.dat +62 -0
  22. airfoileditor-4.0.0/examples_optimize/SD7003_fast/SD7003_fast.xo2 +28 -0
  23. airfoileditor-4.0.0/examples_optimize/SD7003_fast/make.bat +13 -0
  24. airfoileditor-4.0.0/examples_optimize/SD7003_fast/make.sh +4 -0
  25. airfoileditor-4.0.0/examples_optimize/SD7003_fast/stop.bat +2 -0
  26. airfoileditor-4.0.0/modules/AE_ico.ico +0 -0
  27. airfoileditor-4.0.0/modules/__init__.py +1 -0
  28. airfoileditor-4.0.0/modules/__main__.py +11 -0
  29. airfoileditor-4.0.0/modules/airfoil_artists.py +1210 -0
  30. airfoileditor-4.0.0/modules/airfoil_diagrams.py +1913 -0
  31. airfoileditor-4.0.0/modules/airfoil_dialogs.py +1377 -0
  32. airfoileditor-4.0.0/modules/airfoil_panels.py +945 -0
  33. airfoileditor-4.0.0/modules/airfoil_test.py +481 -0
  34. airfoileditor-4.0.0/modules/airfoil_widgets.py +377 -0
  35. airfoileditor-4.0.0/modules/app.py +1556 -0
  36. airfoileditor-4.0.0/modules/app.settings +46 -0
  37. airfoileditor-4.0.0/modules/app_utils.py +269 -0
  38. airfoileditor-4.0.0/modules/base/artist.py +1105 -0
  39. airfoileditor-4.0.0/modules/base/common_utils.py +275 -0
  40. airfoileditor-4.0.0/modules/base/diagram.py +767 -0
  41. airfoileditor-4.0.0/modules/base/icons/AE_dark.png +0 -0
  42. airfoileditor-4.0.0/modules/base/icons/AE_light.png +0 -0
  43. airfoileditor-4.0.0/modules/base/icons/add_dark.png +0 -0
  44. airfoileditor-4.0.0/modules/base/icons/add_dark_sav.png +0 -0
  45. airfoileditor-4.0.0/modules/base/icons/add_light.png +0 -0
  46. airfoileditor-4.0.0/modules/base/icons/add_light_sav.png +0 -0
  47. airfoileditor-4.0.0/modules/base/icons/collapse_dark.png +0 -0
  48. airfoileditor-4.0.0/modules/base/icons/collapse_light.png +0 -0
  49. airfoileditor-4.0.0/modules/base/icons/delete2_dark.png +0 -0
  50. airfoileditor-4.0.0/modules/base/icons/delete2_light.png +0 -0
  51. airfoileditor-4.0.0/modules/base/icons/delete_dark.png +0 -0
  52. airfoileditor-4.0.0/modules/base/icons/delete_light.png +0 -0
  53. airfoileditor-4.0.0/modules/base/icons/edit_dark.png +0 -0
  54. airfoileditor-4.0.0/modules/base/icons/edit_light.png +0 -0
  55. airfoileditor-4.0.0/modules/base/icons/error.png +0 -0
  56. airfoileditor-4.0.0/modules/base/icons/expand_dark.png +0 -0
  57. airfoileditor-4.0.0/modules/base/icons/expand_light.png +0 -0
  58. airfoileditor-4.0.0/modules/base/icons/first_dark.png +0 -0
  59. airfoileditor-4.0.0/modules/base/icons/first_light.png +0 -0
  60. airfoileditor-4.0.0/modules/base/icons/info.png +0 -0
  61. airfoileditor-4.0.0/modules/base/icons/info_dark.png +0 -0
  62. airfoileditor-4.0.0/modules/base/icons/info_light.png +0 -0
  63. airfoileditor-4.0.0/modules/base/icons/last_dark.png +0 -0
  64. airfoileditor-4.0.0/modules/base/icons/last_light.png +0 -0
  65. airfoileditor-4.0.0/modules/base/icons/next_dark.png +0 -0
  66. airfoileditor-4.0.0/modules/base/icons/next_light.png +0 -0
  67. airfoileditor-4.0.0/modules/base/icons/open_dark.png +0 -0
  68. airfoileditor-4.0.0/modules/base/icons/open_light.png +0 -0
  69. airfoileditor-4.0.0/modules/base/icons/open_light_sav.png +0 -0
  70. airfoileditor-4.0.0/modules/base/icons/previous_dark.png +0 -0
  71. airfoileditor-4.0.0/modules/base/icons/previous_light.png +0 -0
  72. airfoileditor-4.0.0/modules/base/icons/resetView_dark.png +0 -0
  73. airfoileditor-4.0.0/modules/base/icons/resetView_light.png +0 -0
  74. airfoileditor-4.0.0/modules/base/icons/settings_dark.png +0 -0
  75. airfoileditor-4.0.0/modules/base/icons/settings_light.png +0 -0
  76. airfoileditor-4.0.0/modules/base/icons/success.png +0 -0
  77. airfoileditor-4.0.0/modules/base/icons/warning.png +0 -0
  78. airfoileditor-4.0.0/modules/base/math_util.py +998 -0
  79. airfoileditor-4.0.0/modules/base/panels.py +1162 -0
  80. airfoileditor-4.0.0/modules/base/spline.py +1124 -0
  81. airfoileditor-4.0.0/modules/base/spline_test.py +102 -0
  82. airfoileditor-4.0.0/modules/base/widgets.py +2204 -0
  83. airfoileditor-4.0.0/modules/model/__init__.py +1 -0
  84. airfoileditor-4.0.0/modules/model/airfoil.py +1651 -0
  85. airfoileditor-4.0.0/modules/model/airfoil_examples.py +654 -0
  86. airfoileditor-4.0.0/modules/model/airfoil_geometry.py +3284 -0
  87. airfoileditor-4.0.0/modules/model/case.py +568 -0
  88. airfoileditor-4.0.0/modules/model/polar_set.py +1625 -0
  89. airfoileditor-4.0.0/modules/model/xo2_controller.py +200 -0
  90. airfoileditor-4.0.0/modules/model/xo2_driver.py +1226 -0
  91. airfoileditor-4.0.0/modules/model/xo2_input.py +2964 -0
  92. airfoileditor-4.0.0/modules/model/xo2_results.py +1146 -0
  93. airfoileditor-4.0.0/modules/xo2_artists.py +796 -0
  94. airfoileditor-4.0.0/modules/xo2_dialogs.py +2188 -0
  95. airfoileditor-4.0.0/modules/xo2_panels.py +715 -0
  96. airfoileditor-4.0.0/pyproject.toml +70 -0
@@ -0,0 +1,33 @@
1
+ # AirfoilEditor
2
+ releases
3
+ AirfoilEditor.settings
4
+ README.pdf
5
+ *_polars
6
+ *_designs
7
+ *_temp
8
+ test_optimize
9
+ example/
10
+ run_control
11
+ *_temp
12
+ doc/RCN
13
+ dev/*.exe
14
+
15
+ # VSCodeCounter
16
+ .VSCodeCounter
17
+
18
+ # Byte-compiled / optimized / DLL files
19
+ __pycache__/
20
+ *.py[cod]
21
+ *$py.class
22
+
23
+ # Distribution / packaging
24
+ .Python
25
+ build/
26
+ dist/
27
+
28
+ # PyInstaller
29
+ # Usually these files are written by a python script from a template
30
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
31
+ *.manifest
32
+ *.spec
33
+
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 jxjo
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,55 @@
1
+ Metadata-Version: 2.4
2
+ Name: airfoileditor
3
+ Version: 4.0.0
4
+ Summary: View, Modify, Optimize Airfoils
5
+ Project-URL: Homepage, https://github.com/jxjo/AirfoilEditor
6
+ Project-URL: Issues, https://github.com/jxjo/AirfoilEditor/issues
7
+ Author-email: Jochen Guenzel <jochen@jxjo.de>
8
+ License-Expression: MIT
9
+ License-File: LICENSE
10
+ Classifier: Intended Audience :: End Users/Desktop
11
+ Classifier: Operating System :: OS Independent
12
+ Classifier: Programming Language :: Python :: 3.12
13
+ Classifier: Programming Language :: Python :: 3.13
14
+ Requires-Python: >=3.12
15
+ Requires-Dist: f90nml>=1.4.4
16
+ Requires-Dist: numpy~=2.2.0
17
+ Requires-Dist: packaging>=24.0
18
+ Requires-Dist: platformdirs>=4.3.0
19
+ Requires-Dist: pyqt6>=6.9.1
20
+ Requires-Dist: pyqtgraph>=0.13.7
21
+ Requires-Dist: requests
22
+ Requires-Dist: termcolor>=2.3.0
23
+ Description-Content-Type: text/markdown
24
+
25
+ ![AE](https://github.com/jxjo/AirfoilEditor/blob/main/images/AirfoilEditor_logo.png?raw=true)
26
+
27
+ ### Version 4
28
+
29
+ ---
30
+
31
+ The **AirfoilEditor** serves as a fast airfoil viewer and an advanced geometry editor including Xoptfoil2-based optimization. The App provides three operating modes:
32
+
33
+ #### View
34
+ * Browse and view airfoils in subdirectories
35
+ * Analyse curvature of airfoil surface
36
+ * Show polars generated using XFOIL
37
+
38
+ #### Modify
39
+ * Repanel and normalize airfoils
40
+ * Adjust thickness, camber, high points, and trailing edge gap
41
+ * Blend two airfoils
42
+ * Set flap
43
+ * Generate airfoil replicas using Bezier curves.
44
+
45
+ #### Optimize
46
+ * User Interface of [Xoptfoil2](https://github.com/jxjo/Xoptfoil2)
47
+ * Graphical definition of polar based objectives
48
+ * View results while optimizing
49
+
50
+ The app was initially developed to address artefacts found in other tools like Xflr5 when using xfoil geometry routines. The aim has been an intuitive, user-friendly experience that encourages exploration.
51
+
52
+ The app, developed in Python with the Qt UI framework, runs on Windows, Linux, and MacOS.
53
+ Linux and MacOS users are required to compile Xoptfoil2 (airfoil optimization) and Worker (polar generation) from the [Xoptfoil2](https://github.com/jxjo/Xoptfoil2) project.
54
+
55
+ Find more info about the **AirfoilEditor** on [Github](https://github.com/jxjo/AirfoilEditor) ...
@@ -0,0 +1,31 @@
1
+ ![AE](https://github.com/jxjo/AirfoilEditor/blob/main/images/AirfoilEditor_logo.png?raw=true)
2
+
3
+ ### Version 4
4
+
5
+ ---
6
+
7
+ The **AirfoilEditor** serves as a fast airfoil viewer and an advanced geometry editor including Xoptfoil2-based optimization. The App provides three operating modes:
8
+
9
+ #### View
10
+ * Browse and view airfoils in subdirectories
11
+ * Analyse curvature of airfoil surface
12
+ * Show polars generated using XFOIL
13
+
14
+ #### Modify
15
+ * Repanel and normalize airfoils
16
+ * Adjust thickness, camber, high points, and trailing edge gap
17
+ * Blend two airfoils
18
+ * Set flap
19
+ * Generate airfoil replicas using Bezier curves.
20
+
21
+ #### Optimize
22
+ * User Interface of [Xoptfoil2](https://github.com/jxjo/Xoptfoil2)
23
+ * Graphical definition of polar based objectives
24
+ * View results while optimizing
25
+
26
+ The app was initially developed to address artefacts found in other tools like Xflr5 when using xfoil geometry routines. The aim has been an intuitive, user-friendly experience that encourages exploration.
27
+
28
+ The app, developed in Python with the Qt UI framework, runs on Windows, Linux, and MacOS.
29
+ Linux and MacOS users are required to compile Xoptfoil2 (airfoil optimization) and Worker (polar generation) from the [Xoptfoil2](https://github.com/jxjo/Xoptfoil2) project.
30
+
31
+ Find more info about the **AirfoilEditor** on [Github](https://github.com/jxjo/AirfoilEditor) ...
@@ -0,0 +1,56 @@
1
+ &info
2
+ description(1) = 'F3B/F3F airfoil optimized for Re 400k. Bezier curves with'
3
+ description(2) = '5 control points are used as shape functions.'
4
+ /
5
+
6
+ &optimization_options
7
+ airfoil_file = 'Seed_rearloaded.dat'
8
+ shape_functions = 'bezier'
9
+ cpu_threads = -1
10
+ show_details = .true.
11
+ /
12
+
13
+ &particle_swarm_options
14
+ convergence_profile = 'quick'
15
+ /
16
+
17
+ &operating_conditions
18
+ noppoint = 5
19
+
20
+ op_point(1) = -0.15
21
+ optimization_type(1) = 'target-drag'
22
+ target_value(1) = 0.0099013
23
+ weighting(1) = -0.5
24
+
25
+ op_point(2) = 0.1001
26
+ optimization_type(2) = 'target-drag'
27
+ target_value(2) = 0.0058241
28
+
29
+ op_point(3) = 0.45
30
+ optimization_type(3) = 'target-glide'
31
+ target_value(3) = 66.3228
32
+
33
+ op_point(4) = 0.8
34
+ optimization_type(4) = 'target-glide'
35
+ target_value(4) = 71.3234
36
+
37
+ op_mode(5) = 'spec-al'
38
+ op_point(5) = 12.0036
39
+ optimization_type(5) = 'target-lift'
40
+ target_value(5) = 1.3148
41
+ /
42
+
43
+ &curvature
44
+ max_curv_reverse_bot = 1
45
+ /
46
+
47
+ &geometry_targets
48
+ ngeo_targets = 1
49
+ target_type(1) = 'Thickness'
50
+ target_value(1) = 0.075
51
+ /
52
+
53
+ &xfoil_run_options
54
+ ncrit = 7.0
55
+ /
56
+
@@ -0,0 +1,26 @@
1
+ Generate F3B/F3F airfoil for medium conditions.
2
+
3
+ Optimization Task:
4
+
5
+ Based on a seed airfoil which is already quite close to the desired airfoil,
6
+ fine tune the polar at RE 400.000 for
7
+ - minimum drag at around cl=0.15,
8
+ - a good glide Ratio
9
+ - and good max lift capabilities
10
+
11
+ Thickness of the airfoil is target to ensure a minimum height of the wing section.
12
+
13
+ Bezier curves are used as shape functions. Only 5 control points are needed per side.
14
+ The bottom side has a curve reversal which will lead to a rear-loaded airfoil.
15
+
16
+ Run the example:
17
+
18
+ Windows: Double click 'make.bat'
19
+ Linux: Type 'bash make.sh' (xopfoil2 must be in the search path)
20
+
21
+ -> Look at the resulting Bezier curves with the Airfoil Editor
22
+
23
+
24
+
25
+
26
+
@@ -0,0 +1,202 @@
1
+ JX-Seed_rearloaded
2
+ 1.0000000 0.0001544
3
+ 0.9952835 0.0007781
4
+ 0.9896233 0.0015218
5
+ 0.9828307 0.0024073
6
+ 0.9746788 0.0034604
7
+ 0.9648953 0.0047113
8
+ 0.9531535 0.0061945
9
+ 0.9397331 0.0078662
10
+ 0.9262177 0.0095247
11
+ 0.9126125 0.0111689
12
+ 0.8989227 0.0127975
13
+ 0.8851537 0.0144094
14
+ 0.8713108 0.0160036
15
+ 0.8573994 0.0175792
16
+ 0.8434252 0.0191357
17
+ 0.8293936 0.0206724
18
+ 0.8153102 0.0221886
19
+ 0.8011806 0.0236836
20
+ 0.7870103 0.0251565
21
+ 0.7728048 0.0266066
22
+ 0.7585699 0.0280328
23
+ 0.7443112 0.0294339
24
+ 0.7300342 0.0308090
25
+ 0.7157446 0.0321573
26
+ 0.7014481 0.0334775
27
+ 0.6871504 0.0347688
28
+ 0.6728570 0.0360303
29
+ 0.6585738 0.0372613
30
+ 0.6443064 0.0384609
31
+ 0.6300606 0.0396279
32
+ 0.6158419 0.0407620
33
+ 0.6016562 0.0418624
34
+ 0.5875090 0.0429280
35
+ 0.5734061 0.0439583
36
+ 0.5593532 0.0449526
37
+ 0.5453558 0.0459097
38
+ 0.5314197 0.0468294
39
+ 0.5175504 0.0477105
40
+ 0.5037534 0.0485524
41
+ 0.4900346 0.0493542
42
+ 0.4763994 0.0501149
43
+ 0.4628532 0.0508338
44
+ 0.4494017 0.0515100
45
+ 0.4360502 0.0521427
46
+ 0.4228041 0.0527306
47
+ 0.4096691 0.0532731
48
+ 0.3966504 0.0537690
49
+ 0.3837533 0.0542174
50
+ 0.3709832 0.0546170
51
+ 0.3583453 0.0549671
52
+ 0.3458447 0.0552663
53
+ 0.3334868 0.0555136
54
+ 0.3212767 0.0557079
55
+ 0.3092195 0.0558478
56
+ 0.2973201 0.0559325
57
+ 0.2855837 0.0559604
58
+ 0.2740152 0.0559307
59
+ 0.2626194 0.0558419
60
+ 0.2514013 0.0556929
61
+ 0.2403658 0.0554825
62
+ 0.2295175 0.0552094
63
+ 0.2188612 0.0548729
64
+ 0.2084016 0.0544718
65
+ 0.1981433 0.0540052
66
+ 0.1880908 0.0534722
67
+ 0.1782489 0.0528724
68
+ 0.1686218 0.0522051
69
+ 0.1592142 0.0514698
70
+ 0.1500305 0.0506664
71
+ 0.1410749 0.0497944
72
+ 0.1323518 0.0488537
73
+ 0.1238657 0.0478446
74
+ 0.1156207 0.0467672
75
+ 0.1076210 0.0456215
76
+ 0.0998712 0.0444083
77
+ 0.0923754 0.0431279
78
+ 0.0851377 0.0417812
79
+ 0.0781627 0.0403690
80
+ 0.0714545 0.0388923
81
+ 0.0650174 0.0373525
82
+ 0.0588560 0.0357510
83
+ 0.0529747 0.0340895
84
+ 0.0473780 0.0323702
85
+ 0.0420708 0.0305954
86
+ 0.0370578 0.0287678
87
+ 0.0323440 0.0268909
88
+ 0.0279347 0.0249687
89
+ 0.0238351 0.0230060
90
+ 0.0200508 0.0210089
91
+ 0.0165877 0.0189847
92
+ 0.0134509 0.0169422
93
+ 0.0106462 0.0148932
94
+ 0.0081784 0.0128520
95
+ 0.0060507 0.0108367
96
+ 0.0042643 0.0088700
97
+ 0.0028161 0.0069804
98
+ 0.0016973 0.0052016
99
+ 0.0008899 0.0035725
100
+ 0.0003658 0.0021358
101
+ 0.0000856 0.0009326
102
+ 0.0000000 0.0000000
103
+ 0.0000861 -0.0008542
104
+ 0.0003667 -0.0017526
105
+ 0.0008911 -0.0027201
106
+ 0.0016988 -0.0037383
107
+ 0.0028178 -0.0047896
108
+ 0.0042662 -0.0058590
109
+ 0.0060527 -0.0069331
110
+ 0.0081804 -0.0080018
111
+ 0.0106484 -0.0090574
112
+ 0.0134531 -0.0100940
113
+ 0.0165899 -0.0111075
114
+ 0.0200531 -0.0120944
115
+ 0.0238374 -0.0130526
116
+ 0.0279370 -0.0139798
117
+ 0.0323463 -0.0148744
118
+ 0.0370601 -0.0157355
119
+ 0.0420731 -0.0165616
120
+ 0.0473803 -0.0173518
121
+ 0.0529770 -0.0181053
122
+ 0.0588583 -0.0188215
123
+ 0.0650197 -0.0194994
124
+ 0.0714568 -0.0201385
125
+ 0.0781649 -0.0207381
126
+ 0.0851399 -0.0212978
127
+ 0.0923776 -0.0218168
128
+ 0.0998734 -0.0222951
129
+ 0.1076232 -0.0227321
130
+ 0.1156228 -0.0231274
131
+ 0.1238678 -0.0234808
132
+ 0.1323539 -0.0237921
133
+ 0.1410770 -0.0240614
134
+ 0.1500326 -0.0242885
135
+ 0.1592162 -0.0244735
136
+ 0.1686238 -0.0246166
137
+ 0.1782509 -0.0247179
138
+ 0.1880928 -0.0247780
139
+ 0.1981452 -0.0247974
140
+ 0.2084035 -0.0247764
141
+ 0.2188631 -0.0247160
142
+ 0.2295194 -0.0246168
143
+ 0.2403676 -0.0244799
144
+ 0.2514031 -0.0243063
145
+ 0.2626212 -0.0240969
146
+ 0.2740169 -0.0238533
147
+ 0.2855854 -0.0235764
148
+ 0.2973218 -0.0232677
149
+ 0.3092212 -0.0229284
150
+ 0.3212783 -0.0225598
151
+ 0.3334884 -0.0221635
152
+ 0.3458463 -0.0217406
153
+ 0.3583468 -0.0212927
154
+ 0.3709847 -0.0208213
155
+ 0.3837548 -0.0203277
156
+ 0.3966519 -0.0198136
157
+ 0.4096705 -0.0192804
158
+ 0.4228055 -0.0187296
159
+ 0.4360515 -0.0181628
160
+ 0.4494030 -0.0175816
161
+ 0.4628545 -0.0169875
162
+ 0.4764007 -0.0163822
163
+ 0.4900358 -0.0157670
164
+ 0.5037546 -0.0151438
165
+ 0.5175515 -0.0145139
166
+ 0.5314208 -0.0138789
167
+ 0.5453569 -0.0132407
168
+ 0.5593543 -0.0126004
169
+ 0.5734071 -0.0119596
170
+ 0.5875100 -0.0113201
171
+ 0.6016571 -0.0106831
172
+ 0.6158428 -0.0100502
173
+ 0.6300615 -0.0094228
174
+ 0.6443073 -0.0088026
175
+ 0.6585746 -0.0081909
176
+ 0.6728578 -0.0075891
177
+ 0.6871511 -0.0069986
178
+ 0.7014488 -0.0064211
179
+ 0.7157453 -0.0058576
180
+ 0.7300348 -0.0053099
181
+ 0.7443118 -0.0047790
182
+ 0.7585705 -0.0042667
183
+ 0.7728054 -0.0037738
184
+ 0.7870108 -0.0033022
185
+ 0.8011811 -0.0028528
186
+ 0.8153106 -0.0024272
187
+ 0.8293940 -0.0020269
188
+ 0.8434256 -0.0016532
189
+ 0.8573998 -0.0013082
190
+ 0.8713111 -0.0009939
191
+ 0.8851540 -0.0007124
192
+ 0.8989229 -0.0004666
193
+ 0.9126127 -0.0002589
194
+ 0.9262179 -0.0000929
195
+ 0.9397333 0.0000279
196
+ 0.9531537 0.0000990
197
+ 0.9648954 0.0001158
198
+ 0.9746788 0.0000932
199
+ 0.9828307 0.0000459
200
+ 0.9896233 -0.0000158
201
+ 0.9952835 -0.0000843
202
+ 1.0000000 -0.0001544
@@ -0,0 +1,11 @@
1
+ @echo off
2
+ set airfoil=F3B_bezier
3
+
4
+ rem is xoptfoil2 in the parent directory?
5
+
6
+ set localPath=..\..\
7
+ if not exist %localPath%xoptfoil2.exe set localPath=
8
+
9
+ %localPath%xoptfoil2 -i %airfoil%.xo2
10
+
11
+ pause
@@ -0,0 +1,3 @@
1
+ # xoptfoil2 must be in the search path
2
+
3
+ xoptfoil2 -i F3B_bezier.xo2
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ echo stop > run_control
@@ -0,0 +1,65 @@
1
+ &info
2
+ description(1) = 'Fast F3F airfoil for good conditions. Using Hicks-Henne'
3
+ description(2) = 'functions "controlled" by 8 operating points'
4
+ /
5
+
6
+ &optimization_options
7
+ airfoil_file = 'Seed_no_rearload.dat'
8
+ cpu_threads = -1
9
+ show_details = .true.
10
+ /
11
+
12
+ &hicks_henne_options
13
+ nfunctions_top = 4
14
+ nfunctions_bot = 4
15
+ /
16
+
17
+ &operating_conditions
18
+ noppoint = 8
19
+ re_default = 600000
20
+
21
+ op_point(1) = -0.05
22
+ optimization_type(1) = 'target-drag'
23
+ target_value(1) = 0.0072049
24
+ weighting(1) = -0.5
25
+
26
+ op_point(2) = 0.0501
27
+ optimization_type(2) = 'target-drag'
28
+ target_value(2) = 0.0054364
29
+
30
+ op_point(3) = 0.1501
31
+ optimization_type(3) = 'target-drag'
32
+ target_value(3) = 0.0047312
33
+
34
+ op_point(4) = 0.2994
35
+ optimization_type(4) = 'target-drag'
36
+ target_value(4) = 0.0050616
37
+
38
+ op_point(5) = 0.5
39
+ optimization_type(5) = 'target-glide'
40
+ target_value(5) = 75.7
41
+
42
+ op_point(6) = 0.6502
43
+ optimization_type(6) = 'target-glide'
44
+ target_value(6) = 77.1275
45
+
46
+ op_point(7) = 0.9007
47
+ optimization_type(7) = 'target-glide'
48
+ target_value(7) = 72.7244
49
+
50
+ op_mode(8) = 'spec-al'
51
+ op_point(8) = 11.5018
52
+ optimization_type(8) = 'target-lift'
53
+ target_value(8) = 1.2517
54
+ /
55
+
56
+ &geometry_targets
57
+ ngeo_targets = 1
58
+ target_type(1) = 'Thickness'
59
+ target_value(1) = 0.075
60
+ /
61
+
62
+ &xfoil_run_options
63
+ ncrit = 7
64
+ /
65
+
@@ -0,0 +1,35 @@
1
+
2
+ Generate F3F airfoil for fast conditions.
3
+
4
+
5
+ Optimization Task:
6
+
7
+ Create a fast airfoil with minimum drag at low cl range 0.3 - 0.0.
8
+ Try to achieve an acceptable glide ratio at higher cl,
9
+ whereas flaps are mandatory.
10
+ Special care is to high cl values and a high cl-max.
11
+
12
+ Thickness of the airfoil is target to ensure a minimum height.
13
+
14
+ Hicks-Henne bump functions are taken as shape functions.
15
+ Here we use 4 on top side and 4 on bottom side, which results
16
+ in 24 design variables which have to optimized.
17
+
18
+ Remarks:
19
+
20
+ This example is somehow an edge case on the number of design variables.
21
+ The optimization will take some time. As the particle swarm is random based,
22
+ it may occur, that a run doesn't find the best solution.
23
+
24
+ Run the example:
25
+
26
+ Windows: Double click 'make.bat'
27
+ Linux: Type 'bash make.sh' (xopfoil2 must be in the search path)
28
+
29
+ -> Look at the resulting Hicks-Henne functions with the Airfoil Editor
30
+
31
+
32
+
33
+
34
+
35
+