Tri6#

class sectionproperties.analysis.fea.Tri6(el_id: int, coords: npt.NDArray[np.float64], node_ids: list[int], material: Material)[source]#

Bases: object

Class for a six-node quadratic triangular element.

Provides methods for the calculation of section properties based on the finite element method.

Parameters:
  • el_id (int) – Unique element id

  • coords (numpy.ndarray) – A 2 x 6 array of the coordinates of the Tri6 nodes. The first three columns relate to the vertices of the triangle and the last three columns correspond to the mid-nodes.

  • node_ids (list[int]) – A list of the global node ids for the current element

  • material (Material) – Material object for the current finite element

Methods

element_stress

Calculates the stress within an element resulting from a specified loading.

geometric_properties

Calculates the geometric properties for the current finite element.

local_coord

Maps a global point onto a local point.

local_element_stress

Calculates the stress at a point resulting from a specified loading.

monosymmetry_integrals

Calculates the integrals used to evaluate the monosymmetry constants.

point_within_element

Determines whether a point lies within the current element.

shear_coefficients

Calculates the variables used to for the shear deformation coefficients.

shear_load_vectors

Calculates the element shear load vectors for evaluating the shear functions.

shear_warping_integrals

Calculates the element shear centre and warping integrals for shear analysis.

torsion_properties

Calculates the element warping stiffness matrix and the torsion load vector.

Attributes

el_id

coords

node_ids

material

geometric_properties() tuple[float, float, float, float, float, float, float, float, float][source]#

Calculates the geometric properties for the current finite element.

Returns:

Tuple containing the geometric properties, and the elastic and shear moduli of the element: (area, qx, qy, ixx, iyy, ixy, e, g, rho)

Return type:

tuple[float, float, float, float, float, float, float, float, float]

torsion_properties() tuple[ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]]][source]#

Calculates the element warping stiffness matrix and the torsion load vector.

Returns:

Element stiffness matrix k_el, element torsion load vector f_el and element constraint vector c_el

Return type:

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

shear_load_vectors(ixx: float, iyy: float, ixy: float, nu: float) tuple[ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]]][source]#

Calculates the element shear load vectors for evaluating the shear functions.

Parameters:
  • ixx (float) – Second moment of area about the centroidal x-axis

  • iyy (float) – Second moment of area about the centroidal y-axis

  • ixy (float) – Second moment of area about the centroidal xy-axis

  • nu (float) – Effective Poisson’s ratio for the cross-section

Returns:

Element shear load vector psi f_psi and phi f_phi

Return type:

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

shear_warping_integrals(ixx: float, iyy: float, ixy: float, omega: ndarray[Any, dtype[float64]]) tuple[float, float, float, float, float, float][source]#

Calculates the element shear centre and warping integrals for shear analysis.

Parameters:
  • ixx (float) – Second moment of area about the centroidal x-axis

  • iyy (float) – Second moment of area about the centroidal y-axis

  • ixy (float) – Second moment of area about the centroidal xy-axis

  • omega (ndarray[Any, dtype[float64]]) – Values of the warping function at the element nodes

Returns:

Shear centre integrals about the x and y axes and warping integrals (sc_xint, sc_yint, q_omega, i_omega, i_xomega, i_yomega)

Return type:

tuple[float, float, float, float, float, float]

shear_coefficients(ixx: float, iyy: float, ixy: float, psi_shear: ndarray[Any, dtype[float64]], phi_shear: ndarray[Any, dtype[float64]], nu: float) tuple[float, float, float][source]#

Calculates the variables used to for the shear deformation coefficients.

Parameters:
  • ixx (float) – Second moment of area about the centroidal x-axis

  • iyy (float) – Second moment of area about the centroidal y-axis

  • ixy (float) – Second moment of area about the centroidal xy-axis

  • psi_shear (ndarray[Any, dtype[float64]]) – Values of the psi shear function at the element nodes

  • phi_shear (ndarray[Any, dtype[float64]]) – Values of the phi shear function at the element nodes

  • nu (float) – Effective Poisson’s ratio for the cross-section

Returns:

Shear deformation variables (kappa_x, kappa_y, kappa_xy)

Return type:

tuple[float, float, float]

monosymmetry_integrals(phi: float) tuple[float, float, float, float][source]#

Calculates the integrals used to evaluate the monosymmetry constants.

Parameters:

phi (float) – Principal bending axis angle, in degrees

Returns:

Integrals used to evaluate the monosymmetry constants (int_x, int_y, int_11, int_22)

Return type:

tuple[float, float, float, float]

element_stress(n: float, mxx: float, myy: float, m11: float, m22: float, mzz: float, vx: float, vy: float, ea: float, cx: float, cy: float, ixx: float, iyy: float, ixy: float, i11: float, i22: float, phi: float, j: float, nu: float, omega: ndarray[Any, dtype[float64]], psi_shear: ndarray[Any, dtype[float64]], phi_shear: ndarray[Any, dtype[float64]], delta_s: float) tuple[ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]]][source]#

Calculates the stress within an element resulting from a specified loading.

Parameters:
  • n (float) – Axial force

  • mxx (float) – Bending moment about the centroidal xx-axis

  • myy (float) – Bending moment about the centroidal yy-axis

  • m11 (float) – Bending moment about the centroidal 11-axis

  • m22 (float) – Bending moment about the centroidal 22-axis

  • mzz (float) – Torsion moment about the centroidal zz-axis

  • vx (float) – Shear force acting in the x-direction

  • vy (float) – Shear force acting in the y-direction

  • ea (float) – Modulus weighted area

  • cx (float) – x position of the elastic centroid

  • cy (float) – y position of the elastic centroid

  • ixx (float) – Second moment of area about the centroidal x-axis

  • iyy (float) – Second moment of area about the centroidal y-axis

  • ixy (float) – Second moment of area about the centroidal xy-axis

  • i11 (float) – Second moment of area about the principal 11-axis

  • i22 (float) – Second moment of area about the principal 22-axis

  • phi (float) – Principal bending axis angle

  • j (float) – St. Venant torsion constant

  • nu (float) – Effective Poisson’s ratio for the cross-section

  • omega (ndarray[Any, dtype[float64]]) – Values of the warping function at the element nodes

  • psi_shear (ndarray[Any, dtype[float64]]) – Values of the psi shear function at the element nodes

  • phi_shear (ndarray[Any, dtype[float64]]) – Values of the phi shear function at the element nodes

  • delta_s (float) – Cross-section shear factor

Returns:

Tuple containing element stresses and integration weights (\(\sigma_{zz,n}\), \(\sigma_{zz,mxx}\), \(\sigma_{zz,myy}\), \(\sigma_{zz,m11}\), \(\sigma_{zz,m22}\), \(\sigma_{zx,mzz}\), \(\sigma_{zy,mzz}\), \(\sigma_{zx,vx}\), \(\sigma_{zy,vx}\), \(\sigma_{zx,vy}\), \(\sigma_{zy,vy}\), \(w_i\))

Return type:

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

local_element_stress(p: tuple[float, float], n: float, mxx: float, myy: float, m11: float, m22: float, mzz: float, vx: float, vy: float, ea: float, cx: float, cy: float, ixx: float, iyy: float, ixy: float, i11: float, i22: float, phi: float, j: float, nu: float, omega: ndarray[Any, dtype[float64]], psi_shear: ndarray[Any, dtype[float64]], phi_shear: ndarray[Any, dtype[float64]], delta_s: float) tuple[float, float, float][source]#

Calculates the stress at a point resulting from a specified loading.

Parameters:
  • p (tuple[float, float]) – Point (x, y) in the global coordinate system that is within the element

  • n (float) – Axial force

  • mxx (float) – Bending moment about the centroidal xx-axis

  • myy (float) – Bending moment about the centroidal yy-axis

  • m11 (float) – Bending moment about the centroidal 11-axis

  • m22 (float) – Bending moment about the centroidal 22-axis

  • mzz (float) – Torsion moment about the centroidal zz-axis

  • vx (float) – Shear force acting in the x-direction

  • vy (float) – Shear force acting in the y-direction

  • ea (float) – Modulus weighted area

  • cx (float) – x position of the elastic centroid

  • cy (float) – y position of the elastic centroid

  • ixx (float) – Second moment of area about the centroidal x-axis

  • iyy (float) – Second moment of area about the centroidal y-axis

  • ixy (float) – Second moment of area about the centroidal xy-axis

  • i11 (float) – Second moment of area about the principal 11-axis

  • i22 (float) – Second moment of area about the principal 22-axis

  • phi (float) – Principal bending axis angle

  • j (float) – St. Venant torsion constant

  • nu (float) – Effective Poisson’s ratio for the cross-section

  • omega (ndarray[Any, dtype[float64]]) – Values of the warping function at the element nodes

  • psi_shear (ndarray[Any, dtype[float64]]) – Values of the psi shear function at the element nodes

  • phi_shear (ndarray[Any, dtype[float64]]) – Values of the phi shear function at the element nodes

  • delta_s (float) – Cross-section shear factor

Returns:

Tuple containing stress values at point p (\(\sigma_{zz}\), \(\sigma_{zx}\), \(\sigma_{zy}\))

Return type:

tuple[float, float, float]

point_within_element(pt: tuple[float, float]) bool[source]#

Determines whether a point lies within the current element.

Parameters:

pt (tuple[float, float]) – Point to check (x, y)

Returns:

Whether the point lies within an element

Return type:

bool

local_coord(p: tuple[float, float]) tuple[float, float, float][source]#

Maps a global point onto a local point.

Parameters:

p (tuple[float, float]) – Global coordinate (x, y)

Returns:

Point in local coordinates (eta, xi, zeta)

Return type:

tuple[float, float, float]