LinearLine#

class planestress.analysis.finite_elements.lines.LinearLine(line_idx: int, line_tag: int, coords: ndarray[Any, dtype[float64]], node_idxs: list[int])[source]#

Bases: LineElement

Class for a two-noded linear line element.

Methods

element_load_vector

Assembles the load vector for the line element.

shape_functions_jacobian

Evaluates the shape functions and jacobian of the element.

__init__(line_idx: int, line_tag: int, coords: ndarray[Any, dtype[float64]], node_idxs: list[int]) None[source]#

Inits the LinearLine class.

Parameters:
  • line_idx (int) – Line element index.

  • line_tag (int) – Mesh line element tag.

  • coords (ndarray[Any, dtype[float64]]) – A numpy.ndarray of coordinates defining the element, e.g. [[x1, x2], [y1, y2]].

  • node_idxs (list[int]) – List of node indexes defining the element, e.g. [idx1, idx2].

static shape_functions_jacobian(iso_coord: float, coords: tuple[float, ...]) tuple[npt.NDArray[np.float64], float][source]#

Evaluates the shape functions and jacobian of the element.

Parameters:
  • iso_coord (float) – Location of the point in isoparametric coordinates.

  • coords (tuple[float, ...]) – Flattened coordinates array.

Returns:

Shape functions and jacobian.

Return type:

tuple[npt.NDArray[np.float64], float]

element_load_vector(direction: str, value: float) ndarray[Any, dtype[float64]]#

Assembles the load vector for the line element.

Parameters:
  • direction (str) – Direction of the line load, "x", "y" or "xy".

  • value (float) – Value of the line load.

Returns:

Line element load vector.

Return type:

ndarray[Any, dtype[float64]]