bluemira.structural.node

Finite element Node object

Classes

Node

A 3-D node point

Functions

get_midpoint(→ tuple[float, float, float])

Calculates the mid-point between two 3-D nodes

Module Contents

class bluemira.structural.node.Node(x: float, y: float, z: float, id_number: int)

A 3-D node point

Parameters:
  • x (float) – The node global x coordinate

  • y (float) – The node global y coordinate

  • z (float) – The node global z coordinate

  • id_number (int) – The node number in the finite element model

__slots__ = ('connections', 'displacements', 'id_number', 'loads', 'reactions', 'supports', 'symmetry', 'x',...
x
y
z
id_number
loads = []
supports
symmetry = False
displacements
reactions
connections
property xyz: numpy.ndarray

Coordinate vector

Return type:

The x-y-z coordinate vector of the Node (3)

distance_to_other(node) float

Calculates the distance to another Node

Parameters:

node – The other node

Return type:

The absolute distance between the two nodes

add_load(load: bluemira.structural.loads.Load | dict[str, float | str])

Applies a load to the Node object.

Parameters:

load (bluemira.structural.loads.Load | dict[str, float | str]) – The dictionary of nodal load values (always in global coordinates)

clear_loads()

Clear all loads and displacements applied to the Node

clear_supports()

Clears all supported DOFs applied to the Node

add_support(supports: numpy.ndarray)

Define a support condition at the Node

Parameters:

supports (numpy.ndarray) –

A boolean vector of the support DOFs, [dx, dy, dz, rx, ry, rz]:

True == supported False == free

add_connection(elem_id: int)

Add a connection to the Node.

Parameters:

elem_id (int) – The Element id_number which is connected to this Node

remove_connection(elem_id: int)

Remove a connection to the Node.

Parameters:

elem_id (int) – The Element id_number which is to be disconnected from this Node

p_vector() numpy.ndarray

Global nodal force vector

Returns:

nfv – The global nodal force vector

Return type:

np.array(6)

Raises:

StructuralError – Cannot apply load type to a node

__eq__(other) bool

Checks the Node for equality to another Node.

In practice this is used to check for Node coincidence.

Parameters:

other – The other Node to check for equality

Return type:

Whether or not the nodes are coincident

__hash__ = None
bluemira.structural.node.get_midpoint(node1: Node, node2: Node) tuple[float, float, float]

Calculates the mid-point between two 3-D nodes

Parameters:
  • node1 (Node) – First node

  • node2 (Node) – Second node

Return type:

The coordinates of the mid-point

Notes

The midpoint coordinates are given by:

\[M_x = \frac{x_1 + x_2}{2}, \quad M_y = \frac{y_1 + y_2}{2}, \quad M_z = \frac{z_1 + z_2}{2}\]