Skip to content

Commit b35ef64

Browse files
committed
replace 'tr' by Aircraft.HorizontalTail.TAPER_RATIO
1 parent 84edb90 commit b35ef64

File tree

1 file changed

+41
-26
lines changed

1 file changed

+41
-26
lines changed

aviary/subsystems/geometry/gasp_based/empennage.py

Lines changed: 41 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -38,18 +38,23 @@ def setup(self):
3838
else:
3939
self.k = [0.43, 0.38, 0.85]
4040

41-
add_aviary_input(self, Aircraft.HorizontalTail.VERTICAL_TAIL_FRACTION)
41+
add_aviary_input(self, Aircraft.HorizontalTail.VERTICAL_TAIL_FRACTION, val=0)
4242

43-
add_aviary_input(self, Aircraft.Fuselage.LENGTH)
43+
add_aviary_input(self, Aircraft.Fuselage.LENGTH, val=129.4)
4444

4545
self.add_input("cab_w", 13.1, units="ft", desc="SWF: Cabin width")
4646

47-
add_aviary_input(self, Aircraft.Wing.AREA)
47+
add_aviary_input(self, Aircraft.Wing.AREA, val=1370)
4848

49-
self.add_input("wing_ref", 12.615, units="ft", desc=(
50-
"CBARW | B: Wing reference parameter. Wing chord for a "
51-
"horizontal tail. Wing span for a vertical tail."),
52-
)
49+
self.add_input(
50+
"wing_ref",
51+
12.615,
52+
units="ft",
53+
desc=(
54+
"CBARW | B: Wing reference parameter. Wing chord for a "
55+
"horizontal tail. Wing span for a vertical tail."
56+
),
57+
)
5358

5459
self.add_output(
5560
"vol_coef", units="unitless", desc="VBARH | VBARV: Tail volume coefficient")
@@ -102,22 +107,32 @@ def setup(self):
102107
desc="VBARH | VBARV: Horizontal tail volume coefficient"
103108
)
104109

105-
add_aviary_input(self, Aircraft.Wing.AREA)
106-
107-
self.add_input("r_arm", 0.2307, units="unitless",
108-
desc=("COELTH | BOELTV: For a horizontal tail, the ratio of "
109-
"wing chord to tail moment arm. For a vertical tail, the "
110-
"ratio of wing span to vertical tail moment arm."),
111-
)
112-
self.add_input("wing_ref", 12.615, units="ft",
113-
desc=("CBARW | B: Reference wing parameter for tail moment arm. "
114-
"For a horizontal tail, the mean wing chord. For a "
115-
"vertical tail, the wing span."),
116-
)
110+
add_aviary_input(self, Aircraft.Wing.AREA, val=1370)
111+
112+
self.add_input(
113+
"r_arm",
114+
0.2307,
115+
units="unitless",
116+
desc=(
117+
"COELTH | BOELTV: For a horizontal tail, the ratio of "
118+
"wing chord to tail moment arm. For a vertical tail, the "
119+
"ratio of wing span to vertical tail moment arm."
120+
),
121+
)
122+
self.add_input(
123+
"wing_ref",
124+
12.615,
125+
units="ft",
126+
desc=(
127+
"CBARW | B: Reference wing parameter for tail moment arm. "
128+
"For a horizontal tail, the mean wing chord. For a "
129+
"vertical tail, the wing span."
130+
),
131+
)
117132
self.add_input(
118133
"ar", 4.75, units="unitless", desc="ARHT | ARVT: Tail aspect ratio.")
119134
self.add_input(
120-
"tr", 0.352, units="unitless", desc="SLMH | SLMV: Tail taper ratio.")
135+
Aircraft.HorizontalTail.TAPER_RATIO, 0.352, units="unitless", desc="SLMH | SLMV: Tail taper ratio.")
121136

122137
self.add_output("area", units="ft**2", desc="SHT | SVT: Tail area")
123138
self.add_output("span", units="ft", desc="BHT | BVT: Tail span")
@@ -131,10 +146,10 @@ def setup_partials(self):
131146
self.declare_partials("area", ["vol_coef", Aircraft.Wing.AREA, "r_arm"])
132147
self.declare_partials("span", ["vol_coef", Aircraft.Wing.AREA, "r_arm", "ar"])
133148
self.declare_partials(
134-
"rchord", ["vol_coef", Aircraft.Wing.AREA, "r_arm", "ar", "tr"]
149+
"rchord", ["vol_coef", Aircraft.Wing.AREA, "r_arm", "ar", Aircraft.HorizontalTail.TAPER_RATIO]
135150
)
136151
self.declare_partials(
137-
"chord", ["vol_coef", Aircraft.Wing.AREA, "r_arm", "ar", "tr"]
152+
"chord", ["vol_coef", Aircraft.Wing.AREA, "r_arm", "ar", Aircraft.HorizontalTail.TAPER_RATIO]
138153
)
139154
self.declare_partials("arm", ["r_arm", "wing_ref"])
140155

@@ -171,14 +186,14 @@ def compute_partials(self, inputs, J):
171186
J["rchord", Aircraft.Wing.AREA] = vol_coef * r_arm / cse2
172187
J["rchord", "r_arm"] = wing_area * vol_coef / cse2
173188
J["rchord", "ar"] = -vol_coef * wing_area * r_arm / (ar * cse2)
174-
J["rchord", "tr"] = -2 * vol_coef * wing_area * r_arm / (cse2 * (tr + 1))
189+
J["rchord", Aircraft.HorizontalTail.TAPER_RATIO] = -2 * vol_coef * wing_area * r_arm / (cse2 * (tr + 1))
175190

176191
cse3 = tr - (tr / (tr + 1)) + 1
177192
J["chord", "vol_coef"] = 2 / 3.0 * wing_area * r_arm * cse3 / cse2
178193
J["chord", Aircraft.Wing.AREA] = 2 / 3.0 * vol_coef * r_arm * cse3 / cse2
179194
J["chord", "r_arm"] = 2 / 3.0 * vol_coef * wing_area * cse3 / cse2
180195
J["chord", "ar"] = -2 / 3.0 * vol_coef * wing_area * r_arm * cse3 / (ar * cse2)
181-
J["chord", "tr"] = 4 / 3.0 * cse1 * (tr - 1) / (ar * (tr + 1) ** 3)
196+
J["chord", Aircraft.HorizontalTail.TAPER_RATIO] = 4 / 3.0 * cse1 * (tr - 1) / (ar * (tr + 1) ** 3)
182197

183198
J["arm", "r_arm"] = -wing_ref / r_arm**2
184199
J["arm", "wing_ref"] = 1.0 / r_arm
@@ -218,7 +233,7 @@ def setup(self):
218233
]
219234
higher_level_inputs_htail = [
220235
("wing_ref", Aircraft.Wing.AVERAGE_CHORD),
221-
("tr", Aircraft.HorizontalTail.TAPER_RATIO),
236+
# ("tr", Aircraft.HorizontalTail.TAPER_RATIO),
222237
]
223238
higher_level_inputs_vtail = [
224239
("wing_ref", Aircraft.Wing.SPAN),
@@ -232,7 +247,7 @@ def setup(self):
232247
]
233248
rename_inputs_vtail = [
234249
("r_arm", Aircraft.VerticalTail.MOMENT_RATIO),
235-
("tr", Aircraft.VerticalTail.TAPER_RATIO),
250+
# ("tr", Aircraft.VerticalTail.TAPER_RATIO),
236251
]
237252

238253
# outputs that are used in groups other than this one

0 commit comments

Comments
 (0)