aerosandbox.structures.legacy.beams =================================== .. py:module:: aerosandbox.structures.legacy.beams Attributes ---------- .. autoapisummary:: aerosandbox.structures.legacy.beams.opti Classes ------- .. autoapisummary:: aerosandbox.structures.legacy.beams.TubeBeam1 Module Contents --------------- .. py:class:: TubeBeam1(opti, length, points_per_point_load=100, E=228000000000.0, isotropic=True, poisson_ratio=0.5, diameter_guess=100, thickness=0.00014 * 5, max_allowable_stress=570000000.0 / 1.75, density=1600, G=None, bending=True, torsion=True) Bases: :py:obj:`aerosandbox.common.AeroSandboxObject` Helper class that provides a standard way to create an ABC using inheritance. .. py:attribute:: opti .. py:attribute:: length .. py:attribute:: points_per_point_load :value: 100 .. py:attribute:: E :value: 228000000000.0 .. py:attribute:: isotropic :value: True .. py:attribute:: poisson_ratio :value: 0.5 .. py:attribute:: diameter_guess :value: 100 .. py:attribute:: thickness :value: 0.0006999999999999999 .. py:attribute:: max_allowable_stress :value: 325714285.71428573 .. py:attribute:: density :value: 1600 .. py:attribute:: G :value: None .. py:attribute:: bending :value: True .. py:attribute:: torsion :value: True .. py:attribute:: point_loads :value: [] .. py:attribute:: distributed_loads :value: [] .. py:method:: add_point_load(location, force=0, bending_moment=0, torsional_moment=0) Adds a point force and/or moment. :param location: Location of the point force along the beam [m] :param force: Force to add [N] :param bending_moment: Bending moment to add [N-m] # TODO make this work :param torsional_moment: Torsional moment to add [N-m] # TODO make this work :return: None (in-place) .. py:method:: add_uniform_load(force=0, bending_moment=0, torsional_moment=0) Adds a uniformly distributed force and/or moment across the entire length of the beam. :param force: Total force applied to beam [N] :param bending_moment: Bending moment to add [N-m] # TODO make this work :param torsional_moment: Torsional moment to add [N-m] # TODO make this work :return: None (in-place) .. py:method:: add_elliptical_load(force=0, bending_moment=0, torsional_moment=0) Adds an elliptically distributed force and/or moment across the entire length of the beam. :param force: Total force applied to beam [N] :param bending_moment: Bending moment to add [N-m] # TODO make this work :param torsional_moment: Torsional moment to add [N-m] # TODO make this work :return: None (in-place) .. py:method:: setup(bending_BC_type='cantilevered') Sets up the problem. Run this last. :return: None (in-place) .. py:method:: draw_bending(show=True, for_print=False, equal_scale=True) Draws a figure that illustrates some bending properties. Must be called on a solved object (i.e. using the substitute_sol method). :param show: Whether or not to show the figure [boolean] :param for_print: Whether or not the figure should be shaped for printing in a paper [boolean] :param equal_scale: Whether or not to make the displacement plot have equal scale (i.e. true deformation only) :return: .. py:data:: opti