aerosandbox.aerodynamics.aero_3D.linear_potential_flow ====================================================== .. py:module:: aerosandbox.aerodynamics.aero_3D.linear_potential_flow Attributes ---------- .. autoapisummary:: aerosandbox.aerodynamics.aero_3D.linear_potential_flow.immutable_dataclass aerosandbox.aerodynamics.aero_3D.linear_potential_flow.geometry_folder Classes ------- .. autoapisummary:: aerosandbox.aerodynamics.aero_3D.linear_potential_flow.LinearPotentialFlow Functions --------- .. autoapisummary:: aerosandbox.aerodynamics.aero_3D.linear_potential_flow.tall aerosandbox.aerodynamics.aero_3D.linear_potential_flow.wide Module Contents --------------- .. py:function:: tall(array) .. py:function:: wide(array) .. py:data:: immutable_dataclass .. py:class:: 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) Bases: :py:obj:`aerosandbox.ExplicitAnalysis` Helper class that provides a standard way to create an ABC using inheritance. .. py:attribute:: airplane .. py:attribute:: op_point .. py:attribute:: xyz_ref :value: None .. py:attribute:: verbose :value: False .. py:attribute:: wing_model :type: Dict[aerosandbox.geometry.Wing, str] :value: 'vortex_lattice_all_horseshoe' .. py:attribute:: fuselage_model :type: Dict[aerosandbox.geometry.Fuselage, str] :value: 'none' .. py:attribute:: wing_options :type: Dict[aerosandbox.geometry.Wing, Dict[str, Any]] :value: None .. py:attribute:: fuselage_options :type: Dict[aerosandbox.geometry.Fuselage, Dict[str, Any]] :value: None .. py:attribute:: run_symmetric :value: False .. py:method:: __repr__() .. py:class:: Elements Bases: :py:obj:`abc.ABC` Helper class that provides a standard way to create an ABC using inheritance. .. py:attribute:: parent_component :type: aerosandbox.AeroSandboxObject .. py:attribute:: start_index :type: int .. py:attribute:: end_index :type: int .. py:method:: __repr__() .. py:method:: __len__() :abstractmethod: .. py:class:: PanelElements Bases: :py:obj:`Elements`, :py:obj:`abc.ABC` Helper class that provides a standard way to create an ABC using inheritance. .. py:attribute:: front_left_vertices :type: aerosandbox.geometry.np.ndarray .. py:attribute:: back_left_vertices :type: aerosandbox.geometry.np.ndarray .. py:attribute:: back_right_vertices :type: aerosandbox.geometry.np.ndarray .. py:attribute:: front_right_vertices :type: aerosandbox.geometry.np.ndarray .. py:method:: __len__() .. py:property:: crosses .. py:property:: cross_norms .. py:property:: areas :type: aerosandbox.geometry.np.ndarray .. py:property:: normal_directions .. py:class:: WingHorseshoeVortexElements Bases: :py:obj:`PanelElements` Helper class that provides a standard way to create an ABC using inheritance. .. py:attribute:: trailing_vortex_direction :type: aerosandbox.geometry.np.ndarray .. py:attribute:: vortex_core_radius :type: float .. py:property:: left_vortex_vertices .. py:property:: right_vortex_vertices .. py:property:: vortex_centers .. py:property:: vortex_bound_legs .. py:property:: collocation_points .. py:method:: get_induced_velocity_at_points(points, vortex_strengths, sum_across_elements = True) .. py:class:: WingLiftingLineElements Bases: :py:obj:`WingHorseshoeVortexElements` Helper class that provides a standard way to create an ABC using inheritance. .. py:attribute:: CL0 :type: aerosandbox.geometry.np.ndarray .. py:attribute:: CLa :type: aerosandbox.geometry.np.ndarray .. py:property:: collocation_points :abstractmethod: .. py:class:: FuselagePrescribedSourceLineElements Bases: :py:obj:`Elements` Helper class that provides a standard way to create an ABC using inheritance. .. py:attribute:: front_vertices :type: aerosandbox.geometry.np.ndarray .. py:attribute:: back_vertices :type: aerosandbox.geometry.np.ndarray .. py:attribute:: strength :type: aerosandbox.geometry.np.ndarray .. py:method:: __len__() .. py:property:: discretization 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 .. py:property:: N_elements .. py:property:: AIC .. py:method:: run() :abstractmethod: 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. .. py:method:: get_induced_velocity_at_points(points) :abstractmethod: .. py:method:: get_velocity_at_points(points) :abstractmethod: .. py:method:: get_streamlines(seed_points = None, n_steps = 300, length = None) :abstractmethod: .. py:method:: draw(c = None, cmap = None, colorbar_label = None, show = True, show_kwargs = None, draw_streamlines=True, recalculate_streamlines=False, backend = 'pyvista') :abstractmethod: .. py:method:: draw_three_view() :abstractmethod: .. py:data:: geometry_folder