Skip to content

formula_e_1

codes.eurocode.en_1995_1_1_2023.appendix_e.formula_e_1

Formula E.1 from EN 1995-1-1:2023.

Classes:

  • FormEDot1EffBendingStiffness

    Class representing formula E.1 for the effective bending stiffness of mechanically jointed members [\((EI)_{ef}\)].

codes.eurocode.en_1995_1_1_2023.appendix_e.formula_e_1.FormEDot1EffBendingStiffness

FormEDot1EffBendingStiffness(
    e_i: list[MPA],
    i_i: list[MM4],
    gamma_i: list[DIMENSIONLESS],
    a_i: list[MM2],
    alpha_i: list[MM],
)

Bases: Formula

Class representing formula E.1 for the effective bending stiffness of mechanically jointed members [\((EI)_{ef}\)].

[\((EI)_{ef}\)] Effective bending stiffness, in [\(Nmm^2\)].

EN 1995-1-1:2023 art E.4(1) - Formula (E.1)

Parameters:

  • e_i (MPA) –

    [\(E_i\)] Modulus of elasticity of the i-numbered part of the cross-section [\(MPA\)].

  • i_i (MM4) –

    [\(I_i\)] Second moment of inertia of the i-numbered part of the cross-section [\(mm^4\)].

  • gamma_i (DIMENSIONLESS) –

    [\(\gamma_{i}\)] Factor for the efficiency of the mechanical connections of the respective i-numbered part of the cross-section [\(-\)].

  • a_i (MM2) –

    [\(A_i\)] Area of the i-numbered part of the cross-section [\(mm^2\)].

  • alpha_i (MM) –

    [\(\alpha_i\)] Distance between the centroid of the composite cross-section and the centroid of i-numbered part of the cross-section [\(mm\)].

Returns:

  • None
Source code in blueprints/codes/eurocode/en_1995_1_1_2023/appendix_e/formula_e_1.py
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
def __init__(self, e_i: list[MPA], i_i: list[MM4], gamma_i: list[DIMENSIONLESS], a_i: list[MM2], alpha_i: list[MM]) -> None:
    r"""[$(EI)_{ef}$] Effective bending stiffness, in [$Nmm^2$].

    EN 1995-1-1:2023 art E.4(1) - Formula (E.1)

    Parameters
    ----------
    e_i : MPA
        [$E_i$] Modulus of elasticity of the i-numbered part of the cross-section [$MPA$].
    i_i : MM4
        [$I_i$] Second moment of inertia of the i-numbered part of the cross-section [$mm^4$].
    gamma_i : DIMENSIONLESS
        [$\gamma_{i}$] Factor for the efficiency of the mechanical connections of the respective i-numbered part of the cross-section [$-$].
    a_i : MM2
        [$A_i$] Area of the i-numbered part of the cross-section [$mm^2$].
    alpha_i : MM
        [$\alpha_i$] Distance between the centroid of the composite cross-section and the centroid of i-numbered part of the cross-section [$mm$].

    Returns
    -------
    None
    """
    super().__init__()
    self.e_i: list[MPA] = e_i
    self.i_i: list[MM4] = i_i
    self.gamma_i: list[DIMENSIONLESS] = gamma_i
    self.a_i: list[MM2] = a_i
    self.alpha_i: list[MM] = alpha_i
    self.ei_i: list[NMM2] = []

codes.eurocode.en_1995_1_1_2023.appendix_e.formula_e_1.FormEDot1EffBendingStiffness.latex

latex(n: int = 2) -> LatexFormula

Returns LatexFormula object for formula E.1.

Source code in blueprints/codes/eurocode/en_1995_1_1_2023/appendix_e/formula_e_1.py
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
def latex(self, n: int = 2) -> LatexFormula:
    """Returns LatexFormula object for formula E.1."""
    part_eq_form = [rf"(E_{i + 1} I_{i + 1} + \gamma_{i + 1} E_{i + 1} A_{i + 1} \alpha_{i + 1}^2)" for i in range(len(self.e_i))]
    eq_form = " + ".join(part_eq_form)

    e_istr = {f"E_{i + 1}": rf"{val:.{n}f} \cdot" for i, val in enumerate(self.e_i)}
    i_istr = {f"I_{i + 1}": rf"{val:.{n}f}" for i, val in enumerate(self.i_i)}
    gamma_istr = {rf"\gamma_{i + 1}": rf"{val:.{n}f} \cdot" for i, val in enumerate(self.gamma_i)}
    a_istr = {rf"A_{i + 1}": rf"{val:.{n}f}" for i, val in enumerate(self.a_i)}
    alpha_istr = {rf"\alpha_{i + 1}": rf"\cdot {val:.{n}f}" for i, val in enumerate(self.alpha_i)}

    repl_symb = e_istr | i_istr | gamma_istr | a_istr | alpha_istr
    return LatexFormula(
        return_symbol=r"(EI)_{ef}",
        result=f"{self:.{n}f}",
        equation=eq_form,
        numeric_equation=latex_replace_symbols(eq_form, repl_symb, unique_symbol_check=False),
        comparison_operator_label="=",
    )