diff --git a/Raymers Code/raymers.py b/Raymers Code/raymers.py index 7586892..154e011 100644 --- a/Raymers Code/raymers.py +++ b/Raymers Code/raymers.py @@ -41,16 +41,16 @@ plt.grid(True) #plt.show() print("Raymer's Aircraft Calculations (IMPERIAL UNITS)\n") -print("Weight Estimation: %0.4f lbs" % imperial_estimates[-1]) +print("Weight Estimation (mass): %0.4f lbs" % imperial_estimates[-1]) # Wing loading typical_weight_area_ratio = 6 # Historical sailplane ratio -print("Typical Weight Area Ratio: %0.4f lbs/ft^2" % typical_weight_area_ratio) +print("Typical Weight Area Ratio: %0.4f lbs/ft²" % typical_weight_area_ratio) # To find area of the wings we must work backwards (ratio = weight/area) # Area of wings wing_area = imperial_estimates[-1] / typical_weight_area_ratio -print("Main Wing Area: %0.4f ft^2" % wing_area) +print("Main Wing Area: %0.4f ft²" % wing_area) # L/D Ratio ld_ratio = 7.5 / 1.5 @@ -73,8 +73,58 @@ fuselage_length = 0.86 * imperial_estimates[-1]**0.48 print("Fuselage Length %0.4f ft" % fuselage_length) # Tail Positioning (Moment arm) -tail_poisitioning = fuselage_length * 0.65 -print("Tail Positioning (Moment arm location) %0.4f ft" % tail_poisitioning) +tail_position = fuselage_length * 0.65 +print("Tail Positioning (Moment arm location) %0.4f ft" % tail_position) -# Tail Dimensions +# Vertical Tail Area +C_VT = 0.02 # Assumed constant (sail plane, raymers) +vertical_tail_area = C_VT * ((wing_span * wing_area) / tail_position) +print("Vertical Tail Area: {:.4f} ft²".format(vertical_tail_area)) +# Horizontal Tail Area +C_HT = 0.5 # Assumed constant (sail plane, raymers) +horizontal_tail_area = C_HT * ((chord_length * wing_area) / tail_position) +print("Horizontal Tail Area: {:.4f} ft²\n".format(horizontal_tail_area)) + + +# Convert everything to metric + +print("End of imperial numbers (THANK THE LORD!)\n") + +print("Weight Estimation (mass): %0.4f kg" % (metric_estimates[-1]*(10**-3))) + +# Total Lift Force +lift_force_total = (metric_estimates[-1]*(10**-3)) * 9.81 +#lift_force_per_ft = lift_force_total / wing_span +#lift_force_per_wing_per_ft = lift_force_per_ft / 2 +print("Total Lift Force: {:.4f} N\n".format(lift_force_total)) +#print("Lift Force per unit length: {:.4f} lbf/ft".format(lift_force_per_ft)) +#print("Lift Force per unit length (1 wing): {:.4f} lbf/ft".format(lift_force_per_wing_per_ft)) + +# Bending Moments + +number_of_wings = 2 + +print("BENDING MOMENTS\n") +wing_span_metric = wing_span * 0.3048 +print("Wing Span: {:.4f} m".format(wing_span_metric)) + +# Bending Moment at Wing Root +bending_moment_wing = (lift_force_total / number_of_wings) * (wing_span_metric / 4) +print(f"Bending Moment at of 1 Wing from root: {bending_moment_wing:.4f} Nm\n") + +# Max Stress Calcs + +# 4mm Spars +area_moment_inertia = ((0.004) * (0.004**3))/12 +print(f"Second moment of inertia for 4mm: {area_moment_inertia} m^4") + +max_stress = bending_moment_wing * ((2*(10**-3)) / area_moment_inertia) +print(f"Max Stress for 4mm spar: {max_stress:.4f} Pa or {max_stress/1000000:.4f} MPa") + +# 6mm Spars +area_moment_inertia = ((0.006) * (0.006**3))/12 +print(f"Second moment of inertia for 6mm: {area_moment_inertia} m^4") + +max_stress = bending_moment_wing * ((3*(10**-3)) / area_moment_inertia) +print(f"Max Stress for 6mm spar: {max_stress:.4f} Pa or {max_stress/1000000:.4f} MPa")