summaryrefslogtreecommitdiff
path: root/example_airfoil.py
diff options
context:
space:
mode:
authorMarius Peter <blendoit@gmail.com>2019-07-04 10:26:55 -0700
committerMarius Peter <blendoit@gmail.com>2019-07-04 10:26:55 -0700
commit7d0859d55a984a0c42111a620b3bb1ed7982c38e (patch)
treeab0218e93333e87b78294e8b134d2110ad2147c5 /example_airfoil.py
parent0e6e5f026ed443e40af2d20d37e90f6e16a0e722 (diff)
remove sqrt operator from creator
Diffstat (limited to 'example_airfoil.py')
-rw-r--r--example_airfoil.py125
1 files changed, 58 insertions, 67 deletions
diff --git a/example_airfoil.py b/example_airfoil.py
index 966dcc8..1055116 100644
--- a/example_airfoil.py
+++ b/example_airfoil.py
@@ -12,7 +12,11 @@
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
-
+"""
+Create an airfoil;
+Evaluate an airfoil;
+Generate a population of airfoils & optimize.
+"""
import creator # Create geometry
import evaluator # Evaluate geometry
@@ -50,69 +54,56 @@ NOSE_BOTTOM_STRINGERS = 5
POP_SIZE = 1
SAVE_PATH = 'C:/Users/blend/github/UCLA_MAE_154B/save'
-
-def main():
- """
- Create an airfoil;
- Evaluate an airfoil;
- Generate a population of airfoils & optimize.
- """
-
- # Create airfoil instance
- af = creator.Airfoil.from_dimensions(CHORD_LENGTH, SEMI_SPAN)
- # Define NACA airfoil coordinates and mass
- af.add_naca(NACA_NUM)
- af.add_mass(AIRFOIL_MASS)
- # af.info_print(2)
- af.info_save(SAVE_PATH, 'foo_name')
-
- # Create spar instance
- af.spar = creator.Spar()
- # Define the spar coordinates and mass, stored in single spar object
- af.spar.add_coord(af, 0.23)
- af.spar.add_coord(af, 0.57)
- # Automatically adds spar caps for each spar defined previously
- af.spar.add_spar_caps(SPAR_CAP_AREA)
- af.spar.add_mass(SPAR_MASS)
- af.spar.add_webs(SPAR_THICKNESS)
- # af.spar.info_print(2)
- af.spar.info_save(SAVE_PATH, 'foo_name')
-
- # Create stringer instance
- af.stringer = creator.Stringer()
- # Compute the stringer coordinates from their quantity in each zone
- af.stringer.add_coord(af,
- NOSE_TOP_STRINGERS,
- TOP_STRINGERS,
- NOSE_BOTTOM_STRINGERS,
- BOTTOM_STRINGERS)
- af.stringer.add_area(STRINGER_AREA)
- af.stringer.add_mass(STRINGER_MASS)
- af.stringer.add_webs(SKIN_THICKNESS)
- # af.stringer.info_print(2)
- af.stringer.info_save(SAVE_PATH, 'foo_name')
-
- # Plot components with matplotlib
- creator.plot_geom(af, True)
-
- # Evaluator object contains airfoil analysis results.
- eval = evaluator.Evaluator(af)
- # The analysis is performed in the evaluator.py module.
- eval.analysis(1, 1)
- # eval.info_print(2)
- eval.info_save(SAVE_PATH, 'foo_name')
- # evaluator.plot_geom(eval)
- # evaluator.plot_lift(eval)
-
- pop = generator.Population(10)
-
- # print(help(creator))
- # print(help(evaluator))
- # print(help(generator))
-
- # Print final execution time
- print("--- %s seconds ---" % (time.time() - start_time))
-
-
-if __name__ == '__main__':
- main()
+# Create airfoil instance
+af = creator.Airfoil.from_dimensions(CHORD_LENGTH, SEMI_SPAN)
+af.add_naca(NACA_NUM)
+af.add_mass(AIRFOIL_MASS)
+# af.info_print(2)
+af.info_save(SAVE_PATH, 'foo_name')
+
+# Create spar instance
+af.spar = creator.Spar()
+# Define the spar coordinates and mass, stored in single spar object
+af.spar.add_coord(af, 0.23)
+af.spar.add_coord(af, 0.57)
+# Automatically adds spar caps for each spar defined previously
+af.spar.add_spar_caps(SPAR_CAP_AREA)
+af.spar.add_mass(SPAR_MASS)
+af.spar.add_webs(SPAR_THICKNESS)
+# af.spar.info_print(2)
+af.spar.info_save(SAVE_PATH, 'foo_name')
+
+# Create stringer instance
+af.stringer = creator.Stringer()
+# Compute the stringer coordinates from their quantity in each zone
+af.stringer.add_coord(af,
+ NOSE_TOP_STRINGERS,
+ TOP_STRINGERS,
+ NOSE_BOTTOM_STRINGERS,
+ BOTTOM_STRINGERS)
+af.stringer.add_area(STRINGER_AREA)
+af.stringer.add_mass(STRINGER_MASS)
+af.stringer.add_webs(SKIN_THICKNESS)
+# af.stringer.info_print(2)
+af.stringer.info_save(SAVE_PATH, 'foo_name')
+
+# Plot components with matplotlib
+creator.plot_geom(af, True)
+
+# Evaluator object contains airfoil analysis results.
+eval = evaluator.Evaluator(af)
+# The analysis is performed in the evaluator.py module.
+eval.analysis(1, 1)
+# eval.info_print(2)
+eval.info_save(SAVE_PATH, 'foo_name')
+# evaluator.plot_geom(eval)
+# evaluator.plot_lift(eval)
+
+pop = generator.Population(10)
+
+# print(help(creator))
+# print(help(evaluator))
+# print(help(generator))
+
+# Print final execution time
+print("--- %s seconds ---" % (time.time() - start_time))
Copyright 2019--2024 Marius PETER