silex_lib_tri3_python

TRI3 finite-element routines implemented in pure Python.

SILEXlight.silex_lib_tri3_python.det33_ligne_de_un(a)[source]

Compute the determinant of a 3x3 matrix with first row fixed to ones.

Parameters:

a (numpy.ndarray) – Array of shape (2, 3) containing the last two rows of the matrix.

SILEXlight.silex_lib_tri3_python.stiffnessmatrix(nodes, elements, material)[source]

Assemble TRI3 stiffness entries in triplet (Ik, Jk, Vk) format.

Parameters:
  • nodes (numpy.ndarray) – Nodal coordinates with shape (n_nodes, 2).

  • elements (numpy.ndarray) – Element connectivity with shape (n_elem, 3), 1-based node ids.

  • material (numpy.ndarray) – Material array [Young, nu, thickness].

SILEXlight.silex_lib_tri3_python.compute_stress_strain_error(nodes, elements, material, QQ)[source]

Compute TRI3 stress, strain and error estimators from displacements.

Returns:

(Sigma, sig_smooth, Epsilon, EpsilonNodes, ErrElem, ErrGlob).

Return type:

tuple

SILEXlight.silex_lib_tri3_python.forceonline(nodes, elements, fs, pts)[source]

Assemble equivalent nodal loads for distributed loads on 2-node edges.

Parameters:
  • fs (array-like) – [fx_pt1, fy_pt1, fx_pt2, fy_pt2] in force-per-length units.

  • pts (array-like) – [x1, y1, x2, y2] coordinates used to interpolate load values.