Tri3#

class concreteproperties.analysis_section.Tri3(coords: np.ndarray, node_ids: list[int], material: Material)[source]#

Bases: object

Class for a three noded linear triangular element.

Parameters:
  • coords (np.ndarray) – A 2 x 3 array of the coordinates of the tri-3 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

calculate_area

Calculates the area of the finite element.

calculate_elastic_actions

Calculates elastic actions for the current finite element.

calculate_service_actions

Calculates service actions for the current finite element.

calculate_ultimate_actions

Calculates ultimate actions for the current finite element.

second_moments_of_area

Calculates the second moments of area of the finite element.

Attributes

coords

node_ids

material

calculate_area() float[source]#

Calculates the area of the finite element.

Returns:

Element area

Return type:

float

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

Calculates the second moments of area of the finite element.

Returns:

Modulus weighted second moments of area (e_ixx, e_iyy, e_ixy)

Return type:

tuple[float, float, float]

calculate_elastic_actions(n: float, m_x: float, m_y: float, e_a: float, cx: float, cy: float, e_ixx: float, e_iyy: float, e_ixy: float) tuple[float, float, float][source]#

Calculates elastic actions for the current finite element.

Parameters:
  • n (float) – Axial force

  • m_x (float) – Bending moment about the x-axis

  • m_y (float) – Bending moment about the y-axis

  • e_a (float) – Axial rigidity

  • cx (float) – x-Centroid

  • cy (float) – y-Centroid

  • e_ixx (float) – Flexural rigidity about the x-axis

  • e_iyy (float) – Flexural rigidity about the y-axis

  • e_ixy (float) – Flexural rigidity about the xy-axis

Returns:

Elastic force and resultant moments

Return type:

tuple[float, float, float]

calculate_service_actions(ecf: tuple[float, float], eps0: float, theta: float, kappa: float, centroid: tuple[float, float]) tuple[float, float, float, float, float][source]#

Calculates service actions for the current finite element.

Parameters:
  • ecf (tuple[float, float]) – Global coordinate of the extreme compressive fibre

  • eps0 (float) – Strain at top fibre

  • theta (float) – Angle (in radians) the neutral axis makes with the horizontal axis (\(-\pi \leq \theta \leq \pi\))

  • kappa (float) – Curvature

  • centroid (tuple[float, float]) – Centroid about which to take moments

Returns:

Axial force, moments and min/max strain

Return type:

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

calculate_ultimate_actions(point_na: tuple[float, float], d_n: float, theta: float, ultimate_strain: float, centroid: tuple[float, float]) tuple[float, float, float][source]#

Calculates ultimate actions for the current finite element.

Parameters:
  • point_na (tuple[float, float]) – Point on the neutral axis

  • d_n (float) – Depth of the neutral axis from the extreme compression fibre

  • theta (float) – Angle (in radians) the neutral axis makes with the horizontal axis (\(-\pi \leq \theta \leq \pi\))

  • ultimate_strain (float) – Concrete strain at failure

  • centroid (tuple[float, float]) – Centroid about which to take moments

Returns:

Axial force and resultant moments about the global axes

Return type:

tuple[float, float, float]