aerosandbox.aerodynamics.aero_3D.linear_potential_flow

Attributes

Classes

LinearPotentialFlow

Helper class that provides a standard way to create an ABC using

Functions

tall(array)

wide(array)

Module Contents

aerosandbox.aerodynamics.aero_3D.linear_potential_flow.tall(array)[source]
aerosandbox.aerodynamics.aero_3D.linear_potential_flow.wide(array)[source]
aerosandbox.aerodynamics.aero_3D.linear_potential_flow.immutable_dataclass[source]
class aerosandbox.aerodynamics.aero_3D.linear_potential_flow.LinearPotentialFlow(airplane, op_point, xyz_ref=None, run_symmetric_if_possible=False, verbose=False, wing_model='vortex_lattice_all_horseshoe', fuselage_model='none', wing_options=None, fuselage_options=None)[source]

Bases: aerosandbox.ExplicitAnalysis

Helper class that provides a standard way to create an ABC using inheritance.

Parameters:
airplane[source]
op_point[source]
xyz_ref = None[source]
verbose = False[source]
wing_model: Dict[aerosandbox.geometry.Wing, str] = 'vortex_lattice_all_horseshoe'[source]
fuselage_model: Dict[aerosandbox.geometry.Fuselage, str] = 'none'[source]
wing_options: Dict[aerosandbox.geometry.Wing, Dict[str, Any]] = None[source]
fuselage_options: Dict[aerosandbox.geometry.Fuselage, Dict[str, Any]] = None[source]
run_symmetric = False[source]
__repr__()[source]
class Elements[source]

Bases: abc.ABC

Helper class that provides a standard way to create an ABC using inheritance.

parent_component: aerosandbox.AeroSandboxObject[source]
start_index: int[source]
end_index: int[source]
__repr__()[source]
abstract __len__()[source]
class PanelElements[source]

Bases: Elements, abc.ABC

Helper class that provides a standard way to create an ABC using inheritance.

front_left_vertices: aerosandbox.geometry.np.ndarray[source]
back_left_vertices: aerosandbox.geometry.np.ndarray[source]
back_right_vertices: aerosandbox.geometry.np.ndarray[source]
front_right_vertices: aerosandbox.geometry.np.ndarray[source]
__len__()[source]
property crosses[source]
property cross_norms[source]
property areas: aerosandbox.geometry.np.ndarray[source]
Return type:

aerosandbox.geometry.np.ndarray

property normal_directions[source]
class WingHorseshoeVortexElements[source]

Bases: PanelElements

Helper class that provides a standard way to create an ABC using inheritance.

trailing_vortex_direction: aerosandbox.geometry.np.ndarray[source]
vortex_core_radius: float[source]
property left_vortex_vertices[source]
property right_vortex_vertices[source]
property vortex_centers[source]
property vortex_bound_legs[source]
property collocation_points[source]
get_induced_velocity_at_points(points, vortex_strengths, sum_across_elements=True)[source]
Parameters:
  • points (aerosandbox.geometry.np.ndarray) –

  • vortex_strengths (aerosandbox.geometry.np.ndarray) –

  • sum_across_elements (bool) –

Return type:

Tuple[aerosandbox.geometry.np.ndarray]

class WingLiftingLineElements[source]

Bases: WingHorseshoeVortexElements

Helper class that provides a standard way to create an ABC using inheritance.

CL0: aerosandbox.geometry.np.ndarray[source]
CLa: aerosandbox.geometry.np.ndarray[source]
abstract property collocation_points[source]
class FuselagePrescribedSourceLineElements[source]

Bases: Elements

Helper class that provides a standard way to create an ABC using inheritance.

front_vertices: aerosandbox.geometry.np.ndarray[source]
back_vertices: aerosandbox.geometry.np.ndarray[source]
strength: aerosandbox.geometry.np.ndarray[source]
__len__()[source]
property discretization[source]

A list of dictionaries, where each item in the list represents a single element.

Each item in the list is a namedtuple (effectively, a dictionary), and one of the following types:

  • wing_vlm_element

  • wing_lifting_line_element

  • fuselage_prescribed_source_line

Type:

Returns

property N_elements[source]
property AIC[source]
abstract run()[source]

Computes the aerodynamic forces.

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 LinearPotentialFlow.airplane object.

Return type:

Dict[str, Any]

abstract get_induced_velocity_at_points(points)[source]
Parameters:

points (aerosandbox.geometry.np.ndarray) –

Return type:

aerosandbox.geometry.np.ndarray

abstract get_velocity_at_points(points)[source]
Parameters:

points (aerosandbox.geometry.np.ndarray) –

Return type:

aerosandbox.geometry.np.ndarray

abstract get_streamlines(seed_points=None, n_steps=300, length=None)[source]
Parameters:
  • seed_points (aerosandbox.geometry.np.ndarray) –

  • n_steps (int) –

  • length (float) –

abstract draw(c=None, cmap=None, colorbar_label=None, show=True, show_kwargs=None, draw_streamlines=True, recalculate_streamlines=False, backend='pyvista')[source]
Parameters:
  • c (aerosandbox.geometry.np.ndarray) –

  • cmap (str) –

  • colorbar_label (str) –

  • show (bool) –

  • show_kwargs (Dict) –

  • backend (str) –

abstract draw_three_view()[source]
aerosandbox.aerodynamics.aero_3D.linear_potential_flow.geometry_folder[source]