sdynpy.fem.sdynpy_beam.beamkm

beamkm(node_coords, element_connectivity, bend_direction_1, ae, jg, ei1, ei2, mass_per_length, tmmi_per_length)[source]

Compute mass and stiffness matrices for the given beam model

This function computes the mass and stiffness matrices for the beam model defined by the given nodal coordinates, element connectivity, orientation parameters, and elastic properties.

Parameters
  • node_coords (ndarray) – An nx3 array where node_coords[i,:] is the x,y,z coordinate of the i-th node. The number of rows is equal to the number of nodes in the model.

  • element_connectivity (ndarray) – An mx2 array where element_connectivity[i,:] are the row indices of node_coords corresponding to the nodes in the i-th element. The number of rows is equal to the number of elements in the model

  • bend_direction_1 (ndarray) – An mx3 array where bend_direction_1[i,:] is the x,y,z coordinates of a vector that defines the first bending axis of the beam. The second bending axis is computed from the cross product of the beam axis and the first bending axis. The number of rows is equal to the number of elements in the model

  • ae (ndarray) – A length m array where ae[i] is the axial stiffness of element i. This can be computed from the area of the element (A) times the elastic modulus (E). The length of the array should be equal to the number of elements in the model.

  • jg (ndarray) – A length m array where jg[i] is the torsional stiffness of element i. This can be computed from the torsional constant (J) times the shear modulus (G). The length of the array should be equal to the number of elements in the model.

  • ei1 (ndarray) – A length m array where ei1[i] is the bending stiffness about axis 1 of element i. This can be computed from the second moment of area of the beam’s cross section about bending axis 1 (I1) times the elastic modulus (E). The length of the array should be equal to the number of elements in the model.

  • ei2 (ndarray) – A length m array where ei2[i] is the bending stiffness about axis 2 of element i. This can be computed from the second moment of area of the beam’s cross section about bending axis 2 (I2) times the elastic modulus (E). The length of the array should be equal to the number of elements in the model.

  • mass_per_length (ndarray) – A length m array where mass_per_length[i] is the linear density of element i. This can be computed from the density of the material times the cross sectional area of the beam. The length of the array should be equal to the number of elements in the model.

  • tmmi_per_length (ndarray) – A length m array where tmmi_per_length[i] is the torsional mass moment of inertia per unit length of element i. This can be computed from the density of the material times the polar moment of inertia of the beam’s cross-section. The length of the array should be equal to the number of elements in the model.

Returns

  • K (ndarray) – The stiffness matrix of the beam model, which will have size 6nx6n where n is the number of nodes in the model.

  • M (ndarray) – The mass matrix of the beam model, which will have size 6nx6n where n is the number of nodes in the model.

Notes

The degrees of freedom in the mass and stiffness matrices will be ordered as follows:

[disp_x_0, disp_y_0, disp_z_0, rot_x_0, rot_y_0, rot_z_0, disp_x_1, disp_y_1, disp_z_1, rot_x_1, rot_y_1, rot_z_1, … disp_x_n, disp_y_n, disp_z_n, rot_x_n, rot_y_n, rot_z_n]