Skip to content

formula_8_48

codes.eurocode.en_1993_1_1_2022.chapter_8_ultimate_limit_state.formula_8_48

Formula 8.48 from EN 1993-1-1:2022: Chapter 8 - Ultimate Limit State.

Classes:

  • Form8Dot48MomentReduction

    Class representing formula 8.48 for the calculation of reduced bending moment when axially loaded.

codes.eurocode.en_1993_1_1_2022.chapter_8_ultimate_limit_state.formula_8_48.Form8Dot48MomentReduction

Form8Dot48MomentReduction(mpl_y_rd: NMM, a: DIMENSIONLESS, n: DIMENSIONLESS)

Bases: Formula

Class representing formula 8.48 for the calculation of reduced bending moment when axially loaded.

[\(M_{N,y,Rd}\)] Reduced bending moment [\(Nmm\)].

EN 1993-1-1:2022 art.8.2.9.1(5) - Formula (8.48)

Parameters:

  • mpl_y_rd (NMM) –

    [\(M_{pl,y,Rd}\)] Plastic bending moment about the y-axis [\(Nmm\)].

  • a (DIMENSIONLESS) –

    Reduction factor for cross-sectional area, see formula 8.50a (Form8Dot50A) [-].

  • n (DIMENSIONLESS) –

    Axial force ratio, see formula 8.50n (Form8Dot50N) [-].

Source code in blueprints/codes/eurocode/en_1993_1_1_2022/chapter_8_ultimate_limit_state/formula_8_48.py
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
def __init__(
    self,
    mpl_y_rd: NMM,
    a: DIMENSIONLESS,
    n: DIMENSIONLESS,
) -> None:
    r"""[$M_{N,y,Rd}$] Reduced bending moment [$Nmm$].

    EN 1993-1-1:2022 art.8.2.9.1(5) - Formula (8.48)

    Parameters
    ----------
    mpl_y_rd : NMM
        [$M_{pl,y,Rd}$] Plastic bending moment about the y-axis [$Nmm$].
    a : DIMENSIONLESS
        Reduction factor for cross-sectional area, see formula 8.50a (`Form8Dot50A`) [-].
    n : DIMENSIONLESS
        Axial force ratio, see formula 8.50n (`Form8Dot50N`) [-].
    """
    super().__init__()
    self.mpl_y_rd = mpl_y_rd
    self.a = a
    self.n = n

codes.eurocode.en_1993_1_1_2022.chapter_8_ultimate_limit_state.formula_8_48.Form8Dot48MomentReduction.latex

latex(n: int = 3) -> LatexFormula

Returns LatexFormula object for formula 8.48.

Source code in blueprints/codes/eurocode/en_1993_1_1_2022/chapter_8_ultimate_limit_state/formula_8_48.py
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
def latex(self, n: int = 3) -> LatexFormula:
    """Returns LatexFormula object for formula 8.48."""
    _equation: str = r"\min\left(M_{pl,y,Rd}, M_{pl,y,Rd} \cdot (1 - n) / (1 - 0.5 \cdot a)\right)"
    _numeric_equation: str = latex_replace_symbols(
        _equation,
        replacements={
            "M_{pl,y,Rd}": f"{self.mpl_y_rd:.{n}f}",
            " n": f" {self.n:.{n}f}",
            " a": f" {self.a:.{n}f}",
        },
        unique_symbol_check=False,
    )
    _numeric_equation_with_units: str = latex_replace_symbols(
        _equation,
        replacements={
            "M_{pl,y,Rd}": rf"{self.mpl_y_rd:.{n}f} \ Nmm",
            " n": rf" {self.n:.{n}f}",
            " a": rf" {self.a:.{n}f}",
        },
        unique_symbol_check=False,
    )
    return LatexFormula(
        return_symbol=r"M_{N,y,Rd}",
        result=f"{self:.{n}f}",
        equation=_equation,
        numeric_equation=_numeric_equation,
        numeric_equation_with_units=_numeric_equation_with_units,
        comparison_operator_label="=",
        unit="Nmm",
    )