airfoileditor 4.0.0a1__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.

Potentially problematic release.


This version of airfoileditor might be problematic. Click here for more details.

Files changed (98) hide show
  1. airfoileditor-4.0.0a1/.gitignore +176 -0
  2. airfoileditor-4.0.0a1/LICENSE +21 -0
  3. airfoileditor-4.0.0a1/PKG-INFO +51 -0
  4. airfoileditor-4.0.0a1/assets/windows/Worker.exe +0 -0
  5. airfoileditor-4.0.0a1/assets/windows/Xoptfoil2.exe +0 -0
  6. airfoileditor-4.0.0a1/doc/README_PyPi.md +29 -0
  7. airfoileditor-4.0.0a1/examples_optimize/F3B_bezier/F3B_bezier.bez +15 -0
  8. airfoileditor-4.0.0a1/examples_optimize/F3B_bezier/F3B_bezier.dat +162 -0
  9. airfoileditor-4.0.0a1/examples_optimize/F3B_bezier/F3B_bezier.xo2 +56 -0
  10. airfoileditor-4.0.0a1/examples_optimize/F3B_bezier/Readme.txt +27 -0
  11. airfoileditor-4.0.0a1/examples_optimize/F3B_bezier/Seed_rearloaded.dat +202 -0
  12. airfoileditor-4.0.0a1/examples_optimize/F3B_bezier/make.bat +11 -0
  13. airfoileditor-4.0.0a1/examples_optimize/F3B_bezier/make.sh +3 -0
  14. airfoileditor-4.0.0a1/examples_optimize/F3B_bezier/stop.bat +2 -0
  15. airfoileditor-4.0.0a1/examples_optimize/F3F_hicks_henne/F3F_hicks_henne.dat +162 -0
  16. airfoileditor-4.0.0a1/examples_optimize/F3F_hicks_henne/F3F_hicks_henne.hicks +176 -0
  17. airfoileditor-4.0.0a1/examples_optimize/F3F_hicks_henne/F3F_hicks_henne.xo2 +65 -0
  18. airfoileditor-4.0.0a1/examples_optimize/F3F_hicks_henne/Readme.txt +36 -0
  19. airfoileditor-4.0.0a1/examples_optimize/F3F_hicks_henne/Seed_no_rearload.dat +162 -0
  20. airfoileditor-4.0.0a1/examples_optimize/F3F_hicks_henne/make.bat +10 -0
  21. airfoileditor-4.0.0a1/examples_optimize/F3F_hicks_henne/make.sh +4 -0
  22. airfoileditor-4.0.0a1/examples_optimize/F3F_hicks_henne/stop.bat +2 -0
  23. airfoileditor-4.0.0a1/examples_optimize/SD7003_fast/Readme.txt +27 -0
  24. airfoileditor-4.0.0a1/examples_optimize/SD7003_fast/SD7003.dat +62 -0
  25. airfoileditor-4.0.0a1/examples_optimize/SD7003_fast/SD7003_fast.dat +162 -0
  26. airfoileditor-4.0.0a1/examples_optimize/SD7003_fast/SD7003_fast.xo2 +28 -0
  27. airfoileditor-4.0.0a1/examples_optimize/SD7003_fast/make.bat +13 -0
  28. airfoileditor-4.0.0a1/examples_optimize/SD7003_fast/make.sh +5 -0
  29. airfoileditor-4.0.0a1/examples_optimize/SD7003_fast/stop.bat +2 -0
  30. airfoileditor-4.0.0a1/modules/AE_ico.ico +0 -0
  31. airfoileditor-4.0.0a1/modules/__init__.py +1 -0
  32. airfoileditor-4.0.0a1/modules/airfoil_artists.py +1210 -0
  33. airfoileditor-4.0.0a1/modules/airfoil_diagrams.py +1914 -0
  34. airfoileditor-4.0.0a1/modules/airfoil_dialogs.py +1374 -0
  35. airfoileditor-4.0.0a1/modules/airfoil_panels.py +936 -0
  36. airfoileditor-4.0.0a1/modules/airfoil_test.py +477 -0
  37. airfoileditor-4.0.0a1/modules/airfoil_widgets.py +374 -0
  38. airfoileditor-4.0.0a1/modules/app.py +1569 -0
  39. airfoileditor-4.0.0a1/modules/app.settings +46 -0
  40. airfoileditor-4.0.0a1/modules/base/artist.py +1105 -0
  41. airfoileditor-4.0.0a1/modules/base/common_utils.py +382 -0
  42. airfoileditor-4.0.0a1/modules/base/diagram.py +767 -0
  43. airfoileditor-4.0.0a1/modules/base/icons/AE_dark.png +0 -0
  44. airfoileditor-4.0.0a1/modules/base/icons/AE_light.png +0 -0
  45. airfoileditor-4.0.0a1/modules/base/icons/add_dark.png +0 -0
  46. airfoileditor-4.0.0a1/modules/base/icons/add_dark_sav.png +0 -0
  47. airfoileditor-4.0.0a1/modules/base/icons/add_light.png +0 -0
  48. airfoileditor-4.0.0a1/modules/base/icons/add_light_sav.png +0 -0
  49. airfoileditor-4.0.0a1/modules/base/icons/collapse_dark.png +0 -0
  50. airfoileditor-4.0.0a1/modules/base/icons/collapse_light.png +0 -0
  51. airfoileditor-4.0.0a1/modules/base/icons/delete2_dark.png +0 -0
  52. airfoileditor-4.0.0a1/modules/base/icons/delete2_light.png +0 -0
  53. airfoileditor-4.0.0a1/modules/base/icons/delete_dark.png +0 -0
  54. airfoileditor-4.0.0a1/modules/base/icons/delete_light.png +0 -0
  55. airfoileditor-4.0.0a1/modules/base/icons/edit_dark.png +0 -0
  56. airfoileditor-4.0.0a1/modules/base/icons/edit_light.png +0 -0
  57. airfoileditor-4.0.0a1/modules/base/icons/error.png +0 -0
  58. airfoileditor-4.0.0a1/modules/base/icons/expand_dark.png +0 -0
  59. airfoileditor-4.0.0a1/modules/base/icons/expand_light.png +0 -0
  60. airfoileditor-4.0.0a1/modules/base/icons/first_dark.png +0 -0
  61. airfoileditor-4.0.0a1/modules/base/icons/first_light.png +0 -0
  62. airfoileditor-4.0.0a1/modules/base/icons/info.png +0 -0
  63. airfoileditor-4.0.0a1/modules/base/icons/info_dark.png +0 -0
  64. airfoileditor-4.0.0a1/modules/base/icons/info_light.png +0 -0
  65. airfoileditor-4.0.0a1/modules/base/icons/last_dark.png +0 -0
  66. airfoileditor-4.0.0a1/modules/base/icons/last_light.png +0 -0
  67. airfoileditor-4.0.0a1/modules/base/icons/next_dark.png +0 -0
  68. airfoileditor-4.0.0a1/modules/base/icons/next_light.png +0 -0
  69. airfoileditor-4.0.0a1/modules/base/icons/open_dark.png +0 -0
  70. airfoileditor-4.0.0a1/modules/base/icons/open_light.png +0 -0
  71. airfoileditor-4.0.0a1/modules/base/icons/open_light_sav.png +0 -0
  72. airfoileditor-4.0.0a1/modules/base/icons/previous_dark.png +0 -0
  73. airfoileditor-4.0.0a1/modules/base/icons/previous_light.png +0 -0
  74. airfoileditor-4.0.0a1/modules/base/icons/resetView_dark.png +0 -0
  75. airfoileditor-4.0.0a1/modules/base/icons/resetView_light.png +0 -0
  76. airfoileditor-4.0.0a1/modules/base/icons/settings_dark.png +0 -0
  77. airfoileditor-4.0.0a1/modules/base/icons/settings_light.png +0 -0
  78. airfoileditor-4.0.0a1/modules/base/icons/success.png +0 -0
  79. airfoileditor-4.0.0a1/modules/base/icons/warning.png +0 -0
  80. airfoileditor-4.0.0a1/modules/base/math_util.py +998 -0
  81. airfoileditor-4.0.0a1/modules/base/panels.py +1153 -0
  82. airfoileditor-4.0.0a1/modules/base/spline.py +1124 -0
  83. airfoileditor-4.0.0a1/modules/base/spline_test.py +102 -0
  84. airfoileditor-4.0.0a1/modules/base/widgets.py +2203 -0
  85. airfoileditor-4.0.0a1/modules/model/__init__.py +1 -0
  86. airfoileditor-4.0.0a1/modules/model/airfoil.py +1624 -0
  87. airfoileditor-4.0.0a1/modules/model/airfoil_examples.py +654 -0
  88. airfoileditor-4.0.0a1/modules/model/airfoil_geometry.py +3281 -0
  89. airfoileditor-4.0.0a1/modules/model/case.py +568 -0
  90. airfoileditor-4.0.0a1/modules/model/polar_set.py +1602 -0
  91. airfoileditor-4.0.0a1/modules/model/xo2_controller.py +200 -0
  92. airfoileditor-4.0.0a1/modules/model/xo2_driver.py +1213 -0
  93. airfoileditor-4.0.0a1/modules/model/xo2_input.py +2948 -0
  94. airfoileditor-4.0.0a1/modules/model/xo2_results.py +1146 -0
  95. airfoileditor-4.0.0a1/modules/xo2_artists.py +787 -0
  96. airfoileditor-4.0.0a1/modules/xo2_dialogs.py +2172 -0
  97. airfoileditor-4.0.0a1/modules/xo2_panels.py +705 -0
  98. airfoileditor-4.0.0a1/pyproject.toml +125 -0
@@ -0,0 +1,176 @@
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
+
13
+ # VSCodeCounter
14
+ .VSCodeCounter
15
+
16
+ # Byte-compiled / optimized / DLL files
17
+ __pycache__/
18
+ *.py[cod]
19
+ *$py.class
20
+
21
+ # C extensions
22
+ *.so
23
+
24
+ # Distribution / packaging
25
+ .Python
26
+ build/
27
+ develop-eggs/
28
+ dist/
29
+ downloads/
30
+ eggs/
31
+ .eggs/
32
+ lib/
33
+ lib64/
34
+ parts/
35
+ sdist/
36
+ var/
37
+ wheels/
38
+ share/python-wheels/
39
+ *.egg-info/
40
+ .installed.cfg
41
+ *.egg
42
+ MANIFEST
43
+
44
+ # PyInstaller
45
+ # Usually these files are written by a python script from a template
46
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
47
+ *.manifest
48
+ *.spec
49
+
50
+ # Installer logs
51
+ pip-log.txt
52
+ pip-delete-this-directory.txt
53
+
54
+ # Unit test / coverage reports
55
+ htmlcov/
56
+ .tox/
57
+ .nox/
58
+ .coverage
59
+ .coverage.*
60
+ .cache
61
+ nosetests.xml
62
+ coverage.xml
63
+ *.cover
64
+ *.py,cover
65
+ .hypothesis/
66
+ .pytest_cache/
67
+ cover/
68
+
69
+ # Translations
70
+ *.mo
71
+ *.pot
72
+
73
+ # Django stuff:
74
+ *.log
75
+ local_settings.py
76
+ db.sqlite3
77
+ db.sqlite3-journal
78
+
79
+ # Flask stuff:
80
+ instance/
81
+ .webassets-cache
82
+
83
+ # Scrapy stuff:
84
+ .scrapy
85
+
86
+ # Sphinx documentation
87
+ docs/_build/
88
+
89
+ # PyBuilder
90
+ .pybuilder/
91
+ target/
92
+
93
+ # Jupyter Notebook
94
+ .ipynb_checkpoints
95
+
96
+ # IPython
97
+ profile_default/
98
+ ipython_config.py
99
+
100
+ # pyenv
101
+ # For a library or package, you might want to ignore these files since the code is
102
+ # intended to run in multiple environments; otherwise, check them in:
103
+ # .python-version
104
+
105
+ # pipenv
106
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
107
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
108
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
109
+ # install all needed dependencies.
110
+ #Pipfile.lock
111
+
112
+ # poetry
113
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
114
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
115
+
116
+ # commonly ignored for libraries.
117
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
118
+ #poetry.lock
119
+
120
+ # pdm
121
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
122
+ #pdm.lock
123
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
124
+ # in version control.
125
+ # https://pdm.fming.dev/#use-with-ide
126
+ .pdm.toml
127
+
128
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
129
+ __pypackages__/
130
+
131
+ # Celery stuff
132
+ celerybeat-schedule
133
+ celerybeat.pid
134
+
135
+ # SageMath parsed files
136
+ *.sage.py
137
+
138
+ # Environments
139
+ .env
140
+ .venv
141
+ env/
142
+ venv/
143
+ ENV/
144
+ env.bak/
145
+ venv.bak/
146
+
147
+ # Spyder project settings
148
+ .spyderproject
149
+ .spyproject
150
+
151
+ # Rope project settings
152
+ .ropeproject
153
+
154
+ # mkdocs documentation
155
+ /site
156
+
157
+ # mypy
158
+ .mypy_cache/
159
+ .dmypy.json
160
+ dmypy.json
161
+
162
+ # Pyre type checker
163
+ .pyre/
164
+
165
+ # pytype static type analyzer
166
+ .pytype/
167
+
168
+ # Cython debug symbols
169
+ cython_debug/
170
+
171
+ # PyCharm
172
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
173
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
174
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
175
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
176
+ #.idea/
@@ -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,51 @@
1
+ Metadata-Version: 2.4
2
+ Name: airfoileditor
3
+ Version: 4.0.0a1
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
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Requires-Python: >=3.12
15
+ Requires-Dist: f90nml>=1.4.4
16
+ Requires-Dist: numpy~=2.2.0
17
+ Requires-Dist: platformdirs>=4.3.0
18
+ Requires-Dist: pyqt6>=6.9.1
19
+ Requires-Dist: pyqtgraph>=0.13.7
20
+ Requires-Dist: termcolor>=2.3.0
21
+ Description-Content-Type: text/markdown
22
+
23
+ ![AE](https://github.com/jxjo/AirfoilEditor/blob/main/images/AirfoilEditor_logo.png?raw=true)
24
+
25
+ ### Version 4
26
+
27
+ ---
28
+
29
+ The **AirfoilEditor** serves as a fast airfoil viewer and an advanced geometry editor including Xoptfoil2-based optimization. The App provides three operating modes:
30
+
31
+ #### View
32
+ * Browse and view airfoils in subdirectories
33
+ * Analyse curvature of airfoil surface
34
+ * Show polars generated using XFOIL
35
+
36
+ #### Modify
37
+ * Repanel and normalize airfoils
38
+ * Adjust thickness, camber, high points, and trailing edge gap
39
+ * Blend two airfoils
40
+ * Set flap
41
+ * Generate airfoil replicas using Bezier curves.
42
+
43
+ #### Optimize
44
+ * User Interface of [Xoptfoil2](https://github.com/jxjo/Xoptfoil2)
45
+ * Graphical definition of polar based objectives
46
+ * View results while optimizing
47
+
48
+ 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.
49
+ The app, developed in Python with the Qt UI framework, runs on Windows, Linux, and MacOS. Linux and MacOS users are required to compile the underlying programs for polar viewing and airfoil optimization - see 'Installation' for details.
50
+
51
+ Find more info about the AirfoilEditor on [Github](https://github.com/jxjo/AirfoilEditor) ...
@@ -0,0 +1,29 @@
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
+ The app, developed in Python with the Qt UI framework, runs on Windows, Linux, and MacOS. Linux and MacOS users are required to compile the underlying programs for polar viewing and airfoil optimization - see 'Installation' for details.
28
+
29
+ Find more info about the AirfoilEditor on [Github](https://github.com/jxjo/AirfoilEditor) ...
@@ -0,0 +1,15 @@
1
+ F3B_bezier
2
+ Top Start
3
+ 0.0000000000 0.0000000000
4
+ 0.0000000000 0.0067779981
5
+ 0.0183083324 0.0720071351
6
+ 0.3710435059 0.0804120237
7
+ 1.0000000000 0.0001544000
8
+ Top End
9
+ Bottom Start
10
+ 0.0000000000 0.0000000000
11
+ 0.0000000000 -0.0228330258
12
+ 0.2048727393 -0.0390694908
13
+ 0.6076735521 -0.0017090409
14
+ 1.0000000000 -0.0001544000
15
+ Bottom End
@@ -0,0 +1,162 @@
1
+ F3B_bezier
2
+ 1.0000000 0.0001544
3
+ 0.9841090 0.0021693
4
+ 0.9620864 0.0049186
5
+ 0.9316967 0.0086284
6
+ 0.9012205 0.0122479
7
+ 0.8712856 0.0157015
8
+ 0.8418940 0.0189907
9
+ 0.8130475 0.0221175
10
+ 0.7847475 0.0250838
11
+ 0.7569954 0.0278913
12
+ 0.7297923 0.0305422
13
+ 0.7031390 0.0330383
14
+ 0.6770361 0.0353818
15
+ 0.6514839 0.0375747
16
+ 0.6264826 0.0396193
17
+ 0.6020321 0.0415177
18
+ 0.5781321 0.0432722
19
+ 0.5547820 0.0448852
20
+ 0.5319809 0.0463590
21
+ 0.5097279 0.0476960
22
+ 0.4880218 0.0488987
23
+ 0.4668609 0.0499697
24
+ 0.4462437 0.0509115
25
+ 0.4261680 0.0517268
26
+ 0.4066318 0.0524181
27
+ 0.3876326 0.0529884
28
+ 0.3691678 0.0534403
29
+ 0.3512344 0.0537768
30
+ 0.3338294 0.0540006
31
+ 0.3169493 0.0541148
32
+ 0.3005906 0.0541223
33
+ 0.2847496 0.0540261
34
+ 0.2694220 0.0538295
35
+ 0.2546036 0.0535355
36
+ 0.2402900 0.0531473
37
+ 0.2264764 0.0526682
38
+ 0.2131577 0.0521016
39
+ 0.2003288 0.0514506
40
+ 0.1879842 0.0507189
41
+ 0.1761182 0.0499097
42
+ 0.1647249 0.0490267
43
+ 0.1537982 0.0480734
44
+ 0.1433317 0.0470535
45
+ 0.1333188 0.0459705
46
+ 0.1237526 0.0448283
47
+ 0.1146260 0.0436305
48
+ 0.1059318 0.0423811
49
+ 0.0976624 0.0410838
50
+ 0.0898100 0.0397427
51
+ 0.0823666 0.0383617
52
+ 0.0753239 0.0369448
53
+ 0.0686736 0.0354961
54
+ 0.0624068 0.0340198
55
+ 0.0565147 0.0325201
56
+ 0.0509881 0.0310011
57
+ 0.0458175 0.0294672
58
+ 0.0409934 0.0279227
59
+ 0.0365058 0.0263720
60
+ 0.0323447 0.0248196
61
+ 0.0284997 0.0232700
62
+ 0.0249603 0.0217277
63
+ 0.0217156 0.0201973
64
+ 0.0187546 0.0186835
65
+ 0.0160661 0.0171909
66
+ 0.0136386 0.0157244
67
+ 0.0114602 0.0142888
68
+ 0.0095191 0.0128888
69
+ 0.0078031 0.0115295
70
+ 0.0062997 0.0102158
71
+ 0.0049963 0.0089527
72
+ 0.0038799 0.0077452
73
+ 0.0029375 0.0065986
74
+ 0.0021557 0.0055180
75
+ 0.0015208 0.0045085
76
+ 0.0010192 0.0035756
77
+ 0.0006366 0.0027244
78
+ 0.0003589 0.0019605
79
+ 0.0001714 0.0012891
80
+ 0.0000621 0.0007327
81
+ 0.0000126 0.0003108
82
+ 0.0000000 0.0000000
83
+ 0.0001266 -0.0009226
84
+ 0.0005580 -0.0019267
85
+ 0.0013858 -0.0030164
86
+ 0.0026289 -0.0041239
87
+ 0.0042656 -0.0052108
88
+ 0.0062950 -0.0062752
89
+ 0.0087161 -0.0073152
90
+ 0.0115278 -0.0083290
91
+ 0.0147288 -0.0093149
92
+ 0.0183179 -0.0102714
93
+ 0.0222935 -0.0111969
94
+ 0.0266540 -0.0120899
95
+ 0.0313977 -0.0129492
96
+ 0.0365227 -0.0137733
97
+ 0.0420270 -0.0145612
98
+ 0.0479085 -0.0153117
99
+ 0.0541651 -0.0160239
100
+ 0.0607942 -0.0166967
101
+ 0.0677935 -0.0173293
102
+ 0.0751602 -0.0179210
103
+ 0.0828918 -0.0184711
104
+ 0.0909853 -0.0189790
105
+ 0.0994376 -0.0194441
106
+ 0.1082459 -0.0198662
107
+ 0.1174066 -0.0202447
108
+ 0.1269166 -0.0205795
109
+ 0.1367723 -0.0208704
110
+ 0.1469702 -0.0211173
111
+ 0.1575063 -0.0213202
112
+ 0.1683770 -0.0214791
113
+ 0.1795782 -0.0215944
114
+ 0.1911058 -0.0216661
115
+ 0.2029555 -0.0216947
116
+ 0.2151231 -0.0216806
117
+ 0.2276039 -0.0216242
118
+ 0.2403934 -0.0215262
119
+ 0.2534869 -0.0213873
120
+ 0.2668794 -0.0212081
121
+ 0.2805660 -0.0209896
122
+ 0.2945416 -0.0207327
123
+ 0.3088009 -0.0204384
124
+ 0.3233385 -0.0201078
125
+ 0.3381490 -0.0197421
126
+ 0.3532268 -0.0193426
127
+ 0.3685660 -0.0189105
128
+ 0.3841609 -0.0184475
129
+ 0.4000054 -0.0179549
130
+ 0.4160935 -0.0174343
131
+ 0.4324188 -0.0168876
132
+ 0.4489750 -0.0163165
133
+ 0.4657556 -0.0157227
134
+ 0.4827541 -0.0151084
135
+ 0.4999635 -0.0144754
136
+ 0.5173772 -0.0138260
137
+ 0.5349880 -0.0131623
138
+ 0.5527889 -0.0124867
139
+ 0.5707726 -0.0118014
140
+ 0.5889317 -0.0111090
141
+ 0.6072588 -0.0104119
142
+ 0.6257463 -0.0097129
143
+ 0.6443862 -0.0090146
144
+ 0.6631709 -0.0083199
145
+ 0.6820924 -0.0076315
146
+ 0.7011424 -0.0069526
147
+ 0.7203127 -0.0062860
148
+ 0.7395950 -0.0056351
149
+ 0.7589808 -0.0050029
150
+ 0.7784614 -0.0043928
151
+ 0.7980281 -0.0038081
152
+ 0.8176720 -0.0032525
153
+ 0.8373842 -0.0027293
154
+ 0.8571554 -0.0022423
155
+ 0.8769765 -0.0017952
156
+ 0.8968381 -0.0013918
157
+ 0.9167307 -0.0010360
158
+ 0.9366446 -0.0007318
159
+ 0.9565701 -0.0004832
160
+ 0.9760988 -0.0002976
161
+ 0.9900437 -0.0002024
162
+ 1.0000000 -0.0001544
@@ -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,27 @@
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
+
17
+ Run the example by:
18
+
19
+ -> Double click 'make.bat' to start the optimizer
20
+ -> Look at the resulting Bezier curves with the Airfoil Editor
21
+
22
+ Enjoy!
23
+
24
+
25
+
26
+
27
+