pystran.rigid module#

Define rigid link mechanical quantities.

pystran.rigid.assemble_stiffness(Kg, member, i, j)[source]#

Assemble rigid link stiffness matrix.

Parameters:
  • Kg – Global structural stiffness matrix.

  • member – Dictionary that defines the data of the member.

  • i – Dictionary that defines the data of the first joint of the member. This is the master.

  • j – Dictionary that defines the data of the second joint of the member. This is the subordinate joint.

Returns:

Updated global matrix is returned.

Return type:

array

Compute rigid link stiffness matrix.

The stiffness matrix is computed as

\[\begin{split}K =\begin{bmatrix} C^T\Gamma C & -C^T\Gamma \\ -\Gamma C & \Gamma \\ \end{bmatrix}.\end{split}\]

Here \(C\) is a matrix computed from the vector \(r = h e_x\), which is the difference between the location of the subordinate and the location of the master.

In three dimensions

\[\begin{split}C =\begin{bmatrix} 1 & \widetilde{r} \\ 0 & 1 \\ \end{bmatrix}.\end{split}\]

Here :math:` widetilde{r}` is a skew matrix corresponding to the vector \(r\), and \(0\) and \(1\) stand for \(3\times3\) zero and identity matrices respectively.

Further, \(\Gamma\) is a diagonal matrix, such that the diagonal entries provide penalty on the difference between the individual degrees of freedom.

Reference: APPLICATION OF RIGID LINKS IN STRUCTURAL DESIGN MODELS, Sergey Yu. Fialko, International Journal for Computational Civil and Structural Engineering, 13(3) 119-137 (2017).

Parameters:
  • e_x – Vector \(e_x\) is the direction vector along the axis of the member.

  • h – Length of the rigid link (distance between the joints).

  • Gamma – Diagonal matrix of the penalty constants.

Returns:

Stiffness matrix.

Return type:

array