Skip to content

formula_5_1

codes.eurocode.en_1993_1_1_2005.chapter_5_structural_analysis.formula_5_1

Formula 5.1 from EN 1993-1-1:2005: Chapter 5 - Structural Analysis.

Classes:

codes.eurocode.en_1993_1_1_2005.chapter_5_structural_analysis.formula_5_1.Form5Dot1CriteriumDisregardSecondOrderEffects

Form5Dot1CriteriumDisregardSecondOrderEffects(
    f_cr: N, f_ed: N, analysis_type: Literal["elastic", "plastic"]
)

Bases: ComparisonFormula

Class representing formula 5.1 to check whether second order effects of a structure can be disregarded or not.

Check if second order effects of a structure can be disregarded.

EN 1993-1-1:2005 - Formula (5.1)

Parameters:

  • f_cr (N) –

    [\(F_{cr}\)] Elastic critical buckling load for global instability mode based on initial elastic stiffness (N).

  • f_ed (N) –

    [\(F_{Ed}\)] Design loading on the structure (N).

  • analysis_type (Literal['elastic', 'plastic']) –

    Type of analysis being performed (elastic or plastic).

Source code in blueprints/codes/eurocode/en_1993_1_1_2005/chapter_5_structural_analysis/formula_5_1.py
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
def __init__(self, f_cr: N, f_ed: N, analysis_type: Literal["elastic", "plastic"]) -> None:
    r"""Check if second order effects of a structure can be disregarded.

    EN 1993-1-1:2005 - Formula (5.1)

    Parameters
    ----------
    f_cr: N
        [$F_{cr}$] Elastic critical buckling load for global instability mode based on initial elastic stiffness (N).
    f_ed: N
        [$F_{Ed}$] Design loading on the structure (N).
    analysis_type: Literal["elastic", "plastic"]
        Type of analysis being performed (elastic or plastic).
    """
    super().__init__()
    self.f_cr = f_cr
    self.f_ed = f_ed
    self.analysis_type = analysis_type

codes.eurocode.en_1993_1_1_2005.chapter_5_structural_analysis.formula_5_1.Form5Dot1CriteriumDisregardSecondOrderEffects.latex

latex(n: int = 2) -> LatexFormula

Returns LatexFormula object for formula 5.1.

Source code in blueprints/codes/eurocode/en_1993_1_1_2005/chapter_5_structural_analysis/formula_5_1.py
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
def latex(self, n: int = 2) -> LatexFormula:
    """Returns LatexFormula object for formula 5.1."""
    limit = self._limit(analysis_type=self.analysis_type)
    _equation: str = r"\alpha_{cr} = \frac{F_{cr}}{F_{Ed}} \ge limit"
    _numeric_equation: str = latex_replace_symbols(
        template=_equation,
        replacements={
            r"\alpha_{cr}": f"{(self.f_cr / self.f_ed):.{n}f}",
            "F_{cr}": f"{self.f_cr:.{n}f}",
            "F_{Ed}": f"{self.f_ed:.{n}f}",
            "limit": f"{limit:d}",
        },
        unique_symbol_check=False,
    )
    return LatexFormula(
        return_symbol="CHECK",
        result=r"OK" if self.__bool__() else r"\text{Not OK}",
        equation=_equation,
        numeric_equation=_numeric_equation,
        comparison_operator_label=r"\to",
        unit="",
    )