LineSupport#

class planestress.pre.boundary_condition.LineSupport(point1: tuple[float, float], point2: tuple[float, float], direction: str, value: float)[source]#

Bases: LineBoundaryCondition

Class for adding supports along a line.

Variables:

mesh_tag – Tagged line object.

Methods

apply_bc

Applies the boundary condition.

get_unique_nodes

Returns a list of unique node indexes along the line BC.

__init__(point1: tuple[float, float], point2: tuple[float, float], direction: str, value: float) None[source]#

Inits the LineSupport class.

Parameters:
  • point1 (tuple[float, float]) – Point location (x, y) of the start of the line.

  • point2 (tuple[float, float]) – Point location (x, y) of the end of the line.

  • direction (str) – Direction of the boundary condition, "x" or "y".

  • value (float) – Value of the boundary condition.

apply_bc(k: ndarray[Any, dtype[float64]], f: ndarray[Any, dtype[float64]]) tuple[ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]]][source]#

Applies the boundary condition.

Parameters:
Returns:

Modified stiffness matrix and load vector (k, f).

Return type:

tuple[ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]]]

get_unique_nodes() list[int]#

Returns a list of unique node indexes along the line BC.

Returns:

List of unique node indexes along the line.

Return type:

list[int]