Update with new raymer's calcs
This commit is contained in:
parent
6d8b15067c
commit
9de36e07e5
1 changed files with 44 additions and 3 deletions
|
|
@ -1,4 +1,5 @@
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
|
import math
|
||||||
|
|
||||||
def raymers_iterate(current_max_weight, payload_weight, fuel_weight, a_constant, c_constant, variable_sweep_constant):
|
def raymers_iterate(current_max_weight, payload_weight, fuel_weight, a_constant, c_constant, variable_sweep_constant):
|
||||||
empty_max_weight_ratio = (a_constant * current_max_weight**c_constant * variable_sweep_constant)
|
empty_max_weight_ratio = (a_constant * current_max_weight**c_constant * variable_sweep_constant)
|
||||||
|
|
@ -28,12 +29,52 @@ for imperial_estimate in imperial_estimates:
|
||||||
|
|
||||||
plt.plot(metric_estimates, linestyle='--', marker='o')
|
plt.plot(metric_estimates, linestyle='--', marker='o')
|
||||||
|
|
||||||
|
# This section has been commented out because jordan (senft) does not believe the customer wants to see the numbers
|
||||||
# Add labels to each point
|
# Add labels to each point
|
||||||
for index, weight in enumerate(metric_estimates):
|
#for index, weight in enumerate(metric_estimates):
|
||||||
plt.text(index, weight + 5, f'{index}: {weight:.2f}', fontsize=9, ha='right')
|
# plt.text(index, weight + 5, f'{index}: {weight:.2f}', fontsize=9, ha='right')
|
||||||
|
|
||||||
plt.title("Aircraft Raymer's Method Weight Estimation")
|
plt.title("Aircraft Raymer's Method Weight Estimation")
|
||||||
plt.xlabel("Iteration Number")
|
plt.xlabel("Iteration Number")
|
||||||
plt.ylabel("Weight Estimation (g)")
|
plt.ylabel("Weight Estimation (g)")
|
||||||
plt.grid(True)
|
plt.grid(True)
|
||||||
plt.show()
|
#plt.show()
|
||||||
|
|
||||||
|
print("Raymer's Aircraft Calculations (IMPERIAL UNITS)\n")
|
||||||
|
print("Weight Estimation: %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)
|
||||||
|
|
||||||
|
# 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)
|
||||||
|
|
||||||
|
# L/D Ratio
|
||||||
|
ld_ratio = 7.5 / 1.5
|
||||||
|
print("Lift to Drag Ratio: %0.4f" % ld_ratio)
|
||||||
|
|
||||||
|
# Aspect Ratio (Wing span) - Need L/D
|
||||||
|
aspect_ratio = 4.464 * (ld_ratio**0.69)
|
||||||
|
print("Aspect Ratio: %0.4f" % aspect_ratio)
|
||||||
|
|
||||||
|
# Wing span
|
||||||
|
wing_span = math.sqrt(aspect_ratio*wing_area)
|
||||||
|
print("Main Wing Span %0.4f ft" % wing_span)
|
||||||
|
|
||||||
|
# Chord Length
|
||||||
|
chord_length = wing_area / wing_span
|
||||||
|
print("Main Wing Chord Length %0.4f ft" % chord_length)
|
||||||
|
|
||||||
|
# Fuselage Length
|
||||||
|
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 Dimensions
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue