pycufsm.pre.template

Functions

template_path(→ Tuple[numpy.ndarray, numpy.ndarray])

Assuming a uniform thickness, draws a section according to a path definition

template_calc(→ Tuple[numpy.ndarray, numpy.ndarray])

Converts overall geometry parameters for C or Z sections into valid

template_out_to_in(→ list)

For template calc, convert outer dimensions and inside radii to centerline

doubler(→ Tuple[numpy.ndarray, numpy.ndarray])

A function to double the number of elements to help

Module Contents

pycufsm.pre.template.template_path(draw_table: list, thick: float, n_r: int = 4, shift: list | None = 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

pycufsm.pre.template.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

pycufsm.pre.template.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

pycufsm.pre.template.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)