aerosandbox.aerodynamics.aero_3D.aero_buildup
#
Module Contents#
Classes#
A workbook-style aerodynamics buildup. |
Attributes#
- class aerosandbox.aerodynamics.aero_3D.aero_buildup.AeroBuildup(airplane, op_point, xyz_ref=None, model_size='small', include_wave_drag=True)[source]#
Bases:
aerosandbox.ExplicitAnalysis
A workbook-style aerodynamics buildup.
Example usage:
>>> import aerosandbox as asb >>> ab = asb.AeroBuildup( # This sets up the analysis, but doesn't execute calculation >>> airplane=my_airplane, # type: asb.Airplane >>> op_point=my_operating_point, # type: asb.OperatingPoint >>> xyz_ref=[0.1, 0.2, 0.3], # Moment reference and center of rotation. >>> ) >>> aero = ab.run() # This executes the actual aero analysis. >>> aero_with_stability_derivs = ab.run_with_stability_derivatives() # Same, but also gets stability derivatives.
- Parameters:
airplane (aerosandbox.geometry.Airplane) –
op_point (aerosandbox.performance.OperatingPoint) –
xyz_ref (Union[aerosandbox.aerodynamics.aero_3D.aero_buildup_submodels.fuselage_aerodynamics_utilities.np.ndarray, List[float]]) –
model_size (str) –
include_wave_drag (bool) –
- class AeroComponentResults[source]#
- property F_b: List[float | aerosandbox.aerodynamics.aero_3D.aero_buildup_submodels.fuselage_aerodynamics_utilities.np.ndarray][source]#
An [x, y, z] list of forces in body axes [N]
- Return type:
List[Union[float, aerosandbox.aerodynamics.aero_3D.aero_buildup_submodels.fuselage_aerodynamics_utilities.np.ndarray]]
- property F_w: List[float | aerosandbox.aerodynamics.aero_3D.aero_buildup_submodels.fuselage_aerodynamics_utilities.np.ndarray][source]#
An [x, y, z] list of forces in wind axes [N]
- Return type:
List[Union[float, aerosandbox.aerodynamics.aero_3D.aero_buildup_submodels.fuselage_aerodynamics_utilities.np.ndarray]]
- property M_b: List[float | aerosandbox.aerodynamics.aero_3D.aero_buildup_submodels.fuselage_aerodynamics_utilities.np.ndarray][source]#
An [x, y, z] list of moments about body axes [Nm]
- Return type:
List[Union[float, aerosandbox.aerodynamics.aero_3D.aero_buildup_submodels.fuselage_aerodynamics_utilities.np.ndarray]]
- property M_w: List[float | aerosandbox.aerodynamics.aero_3D.aero_buildup_submodels.fuselage_aerodynamics_utilities.np.ndarray][source]#
An [x, y, z] list of moments about wind axes [Nm]
- Return type:
List[Union[float, aerosandbox.aerodynamics.aero_3D.aero_buildup_submodels.fuselage_aerodynamics_utilities.np.ndarray]]
- property L: float | aerosandbox.aerodynamics.aero_3D.aero_buildup_submodels.fuselage_aerodynamics_utilities.np.ndarray[source]#
The lift force [N]. Definitionally, this is in wind axes.
- Return type:
Union[float, aerosandbox.aerodynamics.aero_3D.aero_buildup_submodels.fuselage_aerodynamics_utilities.np.ndarray]
- property Y: float | aerosandbox.aerodynamics.aero_3D.aero_buildup_submodels.fuselage_aerodynamics_utilities.np.ndarray[source]#
The side force [N]. Definitionally, this is in wind axes.
- Return type:
Union[float, aerosandbox.aerodynamics.aero_3D.aero_buildup_submodels.fuselage_aerodynamics_utilities.np.ndarray]
- property D: float | aerosandbox.aerodynamics.aero_3D.aero_buildup_submodels.fuselage_aerodynamics_utilities.np.ndarray[source]#
The drag force [N]. Definitionally, this is in wind axes.
- Return type:
Union[float, aerosandbox.aerodynamics.aero_3D.aero_buildup_submodels.fuselage_aerodynamics_utilities.np.ndarray]
- property l_b: float | aerosandbox.aerodynamics.aero_3D.aero_buildup_submodels.fuselage_aerodynamics_utilities.np.ndarray[source]#
The rolling moment [Nm] in body axes. Positive is roll-right.
- Return type:
Union[float, aerosandbox.aerodynamics.aero_3D.aero_buildup_submodels.fuselage_aerodynamics_utilities.np.ndarray]
- property m_b: float | aerosandbox.aerodynamics.aero_3D.aero_buildup_submodels.fuselage_aerodynamics_utilities.np.ndarray[source]#
The pitching moment [Nm] in body axes. Positive is nose-up.
- Return type:
Union[float, aerosandbox.aerodynamics.aero_3D.aero_buildup_submodels.fuselage_aerodynamics_utilities.np.ndarray]
- property n_b: float | aerosandbox.aerodynamics.aero_3D.aero_buildup_submodels.fuselage_aerodynamics_utilities.np.ndarray[source]#
The yawing moment [Nm] in body axes. Positive is nose-right.
- Return type:
Union[float, aerosandbox.aerodynamics.aero_3D.aero_buildup_submodels.fuselage_aerodynamics_utilities.np.ndarray]
- F_g: List[float | aerosandbox.aerodynamics.aero_3D.aero_buildup_submodels.fuselage_aerodynamics_utilities.np.ndarray][source]#
- run()[source]#
Computes the aerodynamic forces and moments on the airplane.
Returns: a dictionary with keys:
‘F_g’ : an [x, y, z] list of forces in geometry axes [N]
‘F_b’ : an [x, y, z] list of forces in body axes [N]
‘F_w’ : an [x, y, z] list of forces in wind axes [N]
‘M_g’ : an [x, y, z] list of moments about geometry axes [Nm]
‘M_b’ : an [x, y, z] list of moments about body axes [Nm]
‘M_w’ : an [x, y, z] list of moments about wind axes [Nm]
‘L’ : the lift force [N]. Definitionally, this is in wind axes.
‘Y’ : the side force [N]. This is in wind axes.
‘D’ : the drag force [N]. Definitionally, this is in wind axes.
‘l_b’, the rolling moment, in body axes [Nm]. Positive is roll-right.
‘m_b’, the pitching moment, in body axes [Nm]. Positive is pitch-up.
‘n_b’, the yawing moment, in body axes [Nm]. Positive is nose-right.
‘CL’, the lift coefficient [-]. Definitionally, this is in wind axes.
‘CY’, the sideforce coefficient [-]. This is in wind axes.
‘CD’, the drag coefficient [-]. Definitionally, this is in wind axes.
‘Cl’, the rolling coefficient [-], in body axes
‘Cm’, the pitching coefficient [-], in body axes
‘Cn’, the yawing coefficient [-], in body axes
Nondimensional values are nondimensionalized using reference values in the AeroBuildup.airplane object.
- Data types:
The “L”, “Y”, “D”, “l_b”, “m_b”, “n_b”, “CL”, “CY”, “CD”, “Cl”, “Cm”, and “Cn” keys are:
floats if the OperatingPoint object is not vectorized (i.e., if all attributes of OperatingPoint
are floats, not arrays).
arrays if the OperatingPoint object is vectorized (i.e., if any attribute of OperatingPoint is an
array).
The “F_g”, “F_b”, “F_w”, “M_g”, “M_b”, and “M_w” keys are always lists, which will contain either
floats or arrays, again depending on whether the OperatingPoint object is vectorized or not.
- Return type:
Dict[str, Union[Union[float, aerosandbox.aerodynamics.aero_3D.aero_buildup_submodels.fuselage_aerodynamics_utilities.np.ndarray], List[Union[float, aerosandbox.aerodynamics.aero_3D.aero_buildup_submodels.fuselage_aerodynamics_utilities.np.ndarray]]]]
- run_with_stability_derivatives(alpha=True, beta=True, p=True, q=True, r=True)[source]#
Computes the aerodynamic forces and moments on the airplane, and the stability derivatives.
Arguments essentially determine which stability derivatives are computed. If a stability derivative is not needed, leaving it False will speed up the computation.
- Parameters:
alpha (-) – If True, compute the stability derivatives with respect to the angle of attack (alpha).
beta (-) – If True, compute the stability derivatives with respect to the sideslip angle (beta).
p (-) – If True, compute the stability derivatives with respect to the body-axis roll rate (p).
q (-) – If True, compute the stability derivatives with respect to the body-axis pitch rate (q).
r (-) – If True, compute the stability derivatives with respect to the body-axis yaw rate (r).
- Return type:
Dict[str, Union[Union[float, aerosandbox.aerodynamics.aero_3D.aero_buildup_submodels.fuselage_aerodynamics_utilities.np.ndarray], List[Union[float, aerosandbox.aerodynamics.aero_3D.aero_buildup_submodels.fuselage_aerodynamics_utilities.np.ndarray]]]]
Returns: a dictionary with keys:
‘F_g’ : an [x, y, z] list of forces in geometry axes [N]
‘F_b’ : an [x, y, z] list of forces in body axes [N]
‘F_w’ : an [x, y, z] list of forces in wind axes [N]
‘M_g’ : an [x, y, z] list of moments about geometry axes [Nm]
‘M_b’ : an [x, y, z] list of moments about body axes [Nm]
‘M_w’ : an [x, y, z] list of moments about wind axes [Nm]
‘L’ : the lift force [N]. Definitionally, this is in wind axes.
‘Y’ : the side force [N]. This is in wind axes.
‘D’ : the drag force [N]. Definitionally, this is in wind axes.
‘l_b’ : the rolling moment, in body axes [Nm]. Positive is roll-right.
‘m_b’ : the pitching moment, in body axes [Nm]. Positive is pitch-up.
‘n_b’ : the yawing moment, in body axes [Nm]. Positive is nose-right.
‘CL’ : the lift coefficient [-]. Definitionally, this is in wind axes.
‘CY’ : the sideforce coefficient [-]. This is in wind axes.
‘CD’ : the drag coefficient [-]. Definitionally, this is in wind axes.
‘Cl’ : the rolling coefficient [-], in body axes
‘Cm’ : the pitching coefficient [-], in body axes
‘Cn’ : the yawing coefficient [-], in body axes
Along with additional keys, depending on the value of the alpha, beta, p, q, and r arguments. For example, if alpha=True, then the following additional keys will be present:
‘CLa’ : the lift coefficient derivative with respect to alpha [1/rad]
‘CDa’ : the drag coefficient derivative with respect to alpha [1/rad]
‘CYa’ : the sideforce coefficient derivative with respect to alpha [1/rad]
‘Cla’ : the rolling moment coefficient derivative with respect to alpha [1/rad]
‘Cma’ : the pitching moment coefficient derivative with respect to alpha [1/rad]
‘Cna’ : the yawing moment coefficient derivative with respect to alpha [1/rad]
‘x_np’: the neutral point location in the x direction [m]
Nondimensional values are nondimensionalized using reference values in the AeroBuildup.airplane object.
- Data types:
The “L”, “Y”, “D”, “l_b”, “m_b”, “n_b”, “CL”, “CY”, “CD”, “Cl”, “Cm”, and “Cn” keys are:
floats if the OperatingPoint object is not vectorized (i.e., if all attributes of OperatingPoint
are floats, not arrays).
arrays if the OperatingPoint object is vectorized (i.e., if any attribute of OperatingPoint is an
array).
The “F_g”, “F_b”, “F_w”, “M_g”, “M_b”, and “M_w” keys are always lists, which will contain either
floats or arrays, again depending on whether the OperatingPoint object is vectorized or not.
- wing_aerodynamics(wing, include_induced_drag=True)[source]#
Estimates the aerodynamic forces, moments, and derivatives on a wing in isolation.
Moments are given with the reference at Wing [0, 0, 0].
- Parameters:
wing (aerosandbox.geometry.Wing) – A Wing object that you wish to analyze.
op_point – The OperatingPoint that you wish to analyze the fuselage at.
include_induced_drag (bool) –
- Return type:
Returns:
- fuselage_aerodynamics(fuselage, include_induced_drag=True)[source]#
Estimates the aerodynamic forces, moments, and derivatives on a fuselage in isolation.
- Assumes:
The fuselage is a body of revolution aligned with the x_b axis.
The angle between the nose and the freestream is less than 90 degrees.
Moments are given with the reference at Fuselage [0, 0, 0].
Uses methods from Jorgensen, Leland Howard. “Prediction of Static Aerodynamic Characteristics for Slender Bodies Alone and with Lifting Surfaces to Very High Angles of Attack”. NASA TR R-474. 1977.
- Parameters:
fuselage (aerosandbox.geometry.Fuselage) – A Fuselage object that you wish to analyze.
include_induced_drag (bool) –
- Return type:
Returns: