pycufsm.pre.template ==================== .. py:module:: pycufsm.pre.template Functions --------- .. autoapisummary:: pycufsm.pre.template.template_path pycufsm.pre.template.template_calc pycufsm.pre.template.template_out_to_in pycufsm.pre.template.doubler Module Contents --------------- .. py:function:: template_path(draw_table: list, thick: float, n_r: int = 4, shift: Optional[list] = None) -> Tuple[numpy.ndarray, numpy.ndarray] Assuming a uniform thickness, draws a section according to a path definition Args: draw_table (list): matrix of the form [[theta, dist, rad, n_s]], where: theta = starting angle, dist = length of straight segment, rad = radius of curved segment, n_s = number of mesh elements in straight thick (float): thickness n_r (int, optional): number of mesh elements in curved segments. Defaults to 4. shift (Optional[list], optional): amount to shift cross-section. Defaults to None. Returns: nodes (np.ndarray): standard nodes matrix elements (np.ndarray): standard elements matrix B Smith, Jun 2020 .. py:function:: template_calc(sect: pycufsm._types.Sect_Geom) -> Tuple[numpy.ndarray, numpy.ndarray] Converts overall geometry parameters for C or Z sections into valid nodes and elements matrices. Facilitates easier geometry creation Args: sect (Sect_Geom): overall section geometry of C or Z section Returns: nodes (np.ndarray): standard nodes matrix elements (np.ndarray): standard elements matrix BWS Aug 2000 BWS, 2015 modification to allow for l_1=l_2=0 and creation of a track with same template BWS, 2015 addition to allow outer dimensions and inner radii to be used BWS, 2015 addition to control element discretization .. py:function:: template_out_to_in(sect: pycufsm._types.Sect_Geom) -> list For template calc, convert outer dimensions and inside radii to centerline dimensions throughout convert the inner radii to centerline if nonzero. Reference AISI Design Manual for the lovely corner radius calcs. Args: sect (Sect_Geom): _description_ Returns: list: _description_ BWS, 2015 .. py:function:: doubler(nodes: numpy.ndarray, elements: numpy.ndarray) -> Tuple[numpy.ndarray, numpy.ndarray] A function to double the number of elements to help out the discretization of the member somewhat. Args: nodes (np.ndarray): [node# x z dofx dofz dofy doftheta stress] elements (np.ndarray):[elem# nodei nodej thickness] Returns: _type_: _description_ BWS, 1998 (last modified)