Skip to content

formula_8_8n

codes.eurocode.en_1992_1_1_2004.chapter_8_detailing_of_reinforcement_and_prestressing_tendons.formula_8_8n

Formula 8.8N from EN 1992-1-1:2004: Chapter 8 - Detailing of reinforcement and prestressing tendons.

Classes:

codes.eurocode.en_1992_1_1_2004.chapter_8_detailing_of_reinforcement_and_prestressing_tendons.formula_8_8n.Form8Dot8nAnchorageCapacityWeldedTransverseBar

Form8Dot8nAnchorageCapacityWeldedTransverseBar(
    l_td: MM, diameter_t: MM, sigma_td: MPA, f_wd: KN
)

Bases: Formula

Class representing the formula 8.8N for the calculation of the anchorage capacity of welded transverse bar, welded on the inside of the main bar.

[\(F_{btd}\)] Anchorage capacity of welded transverse bar, welded on the inside of the main bar [\(kN\)].

Note: Value may be found in National Annex.

EN 1992-1-1:2004 art.8.6(2) - formula (8.8N)

Parameters:

  • l_td (MM) –

    [\(l_{td}\)] Design length of transverse bar [\(mm\)].

    [\(= 1.16 ⋅ ø_{t} ⋅ (f_{yd}/σ_{td})^{0.5} ≤ l_{t}\)]

    Use your own implementation of this formula or use the SubForm8Dot8nDesignLengthOfTransverseBar class.

  • diameter_t (MM) –

    [\(ø_{t}\)] Diameter of transverse bar [\(mm\)].

  • sigma_td (MPA) –

    [\(σ_{td}\)] Concrete stress [\(MPa\)].

    [\(=(f_{ctd}+σ_{cm})/y ≤ 3⋅f_{cd}\)]

    Use your own implementation of this formula or use the SubForm8Dot8nConcreteStress class.

  • f_wd (KN) –

    [\(F_{wd}\)] Design shear strength of weld (specified as a factor times [\(A_{s}⋅f_{yd}\)]; say [\(0.5⋅A_{s}⋅f_{yd}\)] where [\(A_{s}\)] is the cross-section of the anchored bar and fyd is its design yield strength) [\(kN\)].

Source code in blueprints/codes/eurocode/en_1992_1_1_2004/chapter_8_detailing_of_reinforcement_and_prestressing_tendons/formula_8_8n.py
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
def __init__(
    self,
    l_td: MM,
    diameter_t: MM,
    sigma_td: MPA,
    f_wd: KN,
) -> None:
    r"""[$F_{btd}$] Anchorage capacity of welded transverse bar, welded on the inside of the main bar [$kN$].

        Note: Value may be found in National Annex.

    EN 1992-1-1:2004 art.8.6(2) - formula (8.8N)

    Parameters
    ----------
    l_td: MM
        [$l_{td}$] Design length of transverse bar [$mm$].

        [$= 1.16 ⋅ ø_{t} ⋅ (f_{yd}/σ_{td})^{0.5} ≤ l_{t}$]

        Use your own implementation of this formula or use the SubForm8Dot8nDesignLengthOfTransverseBar class.
    diameter_t: MM
        [$ø_{t}$] Diameter of transverse bar [$mm$].
    sigma_td: MPA
        [$σ_{td}$] Concrete stress [$MPa$].

        [$=(f_{ctd}+σ_{cm})/y ≤ 3⋅f_{cd}$]

        Use your own implementation of this formula or use the SubForm8Dot8nConcreteStress class.
    f_wd: KN
        [$F_{wd}$] Design shear strength of weld (specified as a factor times [$A_{s}⋅f_{yd}$]; say [$0.5⋅A_{s}⋅f_{yd}$] where
        [$A_{s}$] is the cross-section of the anchored bar and fyd is its design yield strength)  [$kN$].
    """
    super().__init__()
    self.l_td = l_td
    self.diameter_t = diameter_t
    self.sigma_td = sigma_td
    self.f_wd = f_wd

codes.eurocode.en_1992_1_1_2004.chapter_8_detailing_of_reinforcement_and_prestressing_tendons.formula_8_8n.Form8Dot8nAnchorageCapacityWeldedTransverseBar.latex

latex(n: int = 2) -> LatexFormula

Returns LatexFormula object for formula 8.8N.

Source code in blueprints/codes/eurocode/en_1992_1_1_2004/chapter_8_detailing_of_reinforcement_and_prestressing_tendons/formula_8_8n.py
76
77
78
79
80
81
82
83
84
85
def latex(self, n: int = 2) -> LatexFormula:
    """Returns LatexFormula object for formula 8.8N."""
    return LatexFormula(
        return_symbol=r"F_{btd}",
        result=f"{self:.{n}f}",
        equation=r"\min\left( l_{td} \cdot Ø_t \cdot \sigma_{td}, F_{wd} \right)",
        numeric_equation=rf"\min\left( {self.l_td:.{n}f} \cdot {self.diameter_t:.{n}f} "
        rf"\cdot {self.sigma_td:.{n}f} / 1000, {self.f_wd:.{n}f} \right)",
        comparison_operator_label="=",
    )

codes.eurocode.en_1992_1_1_2004.chapter_8_detailing_of_reinforcement_and_prestressing_tendons.formula_8_8n.SubForm8Dot8nConcreteStress

SubForm8Dot8nConcreteStress(
    f_ctd: MPA, sigma_cm: MPA, y_function: DIMENSIONLESS, f_cd: MPA
)

Bases: Formula

Class representing sub-formula for formula 8.8N, which calculates the concrete stress.

[\(σ_{td}\)] Concrete stress [\(MPa\)].

EN 1992-1-1:2004 art.8.6(2) - [\(σ_{td}\)]

Parameters:

  • f_ctd (MPA) –

    [\(f_{ctd}\)] Design tensile strength of concrete [\(MPa\)].

  • sigma_cm (MPA) –

    [\(σ_{cm}\)] Compression in the concrete perpendicular to both bars (mean value) [\(MPa\)].

  • y_function (DIMENSIONLESS) –

    [\(y\)] A function [\(-\)]

    [\(= 0.015 + 0.14 ⋅ exp(-0.18⋅x)\)]

    Use your own implementation of this formula or use the SubForm8Dot8nFunctionY class.

  • f_cd (MPA) –

    [\(f_{cd}\)] Design value compressive strength of concrete [\(MPa\)].

Source code in blueprints/codes/eurocode/en_1992_1_1_2004/chapter_8_detailing_of_reinforcement_and_prestressing_tendons/formula_8_8n.py
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
def __init__(
    self,
    f_ctd: MPA,
    sigma_cm: MPA,
    y_function: DIMENSIONLESS,
    f_cd: MPA,
) -> None:
    r"""[$σ_{td}$] Concrete stress [$MPa$].

    EN 1992-1-1:2004 art.8.6(2) - [$σ_{td}$]

    Parameters
    ----------
    f_ctd: MPA
        [$f_{ctd}$] Design tensile strength of concrete [$MPa$].
    sigma_cm: MPA
        [$σ_{cm}$] Compression in the concrete perpendicular to both bars (mean value) [$MPa$].
    y_function: DIMENSIONLESS
        [$y$] A function [$-$]

        [$= 0.015 + 0.14 ⋅ exp(-0.18⋅x)$]

        Use your own implementation of this formula or use the SubForm8Dot8nFunctionY class.
    f_cd: MPA
        [$f_{cd}$] Design value compressive strength of concrete [$MPa$].
    """
    super().__init__()
    self.f_ctd = f_ctd
    self.sigma_cm = sigma_cm
    self.y_function = y_function
    self.f_cd = f_cd

codes.eurocode.en_1992_1_1_2004.chapter_8_detailing_of_reinforcement_and_prestressing_tendons.formula_8_8n.SubForm8Dot8nConcreteStress.latex

latex(n: int = 2) -> LatexFormula

Returns LatexFormula object for formula 8.8N concrete stress.

Source code in blueprints/codes/eurocode/en_1992_1_1_2004/chapter_8_detailing_of_reinforcement_and_prestressing_tendons/formula_8_8n.py
210
211
212
213
214
215
216
217
218
219
220
def latex(self, n: int = 2) -> LatexFormula:
    """Returns LatexFormula object for formula 8.8N concrete stress."""
    return LatexFormula(
        return_symbol=r"\sigma_{td}",
        result=f"{self:.{n}f}",
        equation=r"\min\left( 3 \cdot f_{cd}, \frac{f_{ctd} + \sigma_{cm}}{y} \right)",
        numeric_equation=(
            rf"\min\left(3 \cdot {self.f_cd:.{n}f}, \frac{{{self.f_ctd:.{n}f} " rf"+ {self.sigma_cm:.{n}f}}}{{{self.y_function:.{n}f}}} \right)"
        ),
        comparison_operator_label="=",
    )

codes.eurocode.en_1992_1_1_2004.chapter_8_detailing_of_reinforcement_and_prestressing_tendons.formula_8_8n.SubForm8Dot8nDesignLengthOfTransverseBar

SubForm8Dot8nDesignLengthOfTransverseBar(
    diameter_t: MM, f_yd: MPA, sigma_td: MPA, l_t: MM
)

Bases: Formula

Class representing sub-formula for formula 8.8N, which calculates the design length of the transverse bar.

[\(l_{td}\)] Design length of transverse bar [\(mm\)].

EN 1992-1-1:2004 art.8.6(2) - [\(l_{td}\)]

Parameters:

  • diameter_t (MM) –

    [\(ø_{t}\)] Diameter of transverse bar [\(mm\)].

  • f_yd (MPA) –

    [\(f_{yd}\)] Design yield strength of bar [\(MPa\)].

  • sigma_td (MPA) –

    [\(σ_{td}\)] Concrete stress [\(MPa\)].

    [\(=(f_{ctd}+σ_{cm})/y ≤ 3⋅f_{cd}\)]

    Use your own implementation of this formula or use the SubForm8Dot8nConcreteStress class.

  • l_t (MM) –

    [\(l_{t}\)] Length of transverse bar, but not more than the spacing of bars to be anchored [\(mm\)].

Source code in blueprints/codes/eurocode/en_1992_1_1_2004/chapter_8_detailing_of_reinforcement_and_prestressing_tendons/formula_8_8n.py
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
def __init__(
    self,
    diameter_t: MM,
    f_yd: MPA,
    sigma_td: MPA,
    l_t: MM,
) -> None:
    r"""[$l_{td}$] Design length of transverse bar [$mm$].

    EN 1992-1-1:2004 art.8.6(2) - [$l_{td}$]

    Parameters
    ----------
    diameter_t: MM
        [$ø_{t}$] Diameter of transverse bar [$mm$].
    f_yd: MPA
        [$f_{yd}$] Design yield strength of bar [$MPa$].
    sigma_td: MPA
        [$σ_{td}$] Concrete stress [$MPa$].

        [$=(f_{ctd}+σ_{cm})/y ≤ 3⋅f_{cd}$]

        Use your own implementation of this formula or use the SubForm8Dot8nConcreteStress class.
    l_t: MM
        [$l_{t}$] Length of transverse bar, but not more than the spacing of bars to be anchored [$mm$].
    """
    super().__init__()
    self.diameter_t = diameter_t
    self.f_yd = f_yd
    self.sigma_td = sigma_td
    self.l_t = l_t

codes.eurocode.en_1992_1_1_2004.chapter_8_detailing_of_reinforcement_and_prestressing_tendons.formula_8_8n.SubForm8Dot8nDesignLengthOfTransverseBar.latex

latex(n: int = 2) -> LatexFormula

Returns LatexFormula object for formula 8.8N transverse bar.

Source code in blueprints/codes/eurocode/en_1992_1_1_2004/chapter_8_detailing_of_reinforcement_and_prestressing_tendons/formula_8_8n.py
142
143
144
145
146
147
148
149
150
151
152
153
def latex(self, n: int = 2) -> LatexFormula:
    """Returns LatexFormula object for formula 8.8N transverse bar."""
    return LatexFormula(
        return_symbol=r"l_{td}",
        result=f"{self:.{n}f}",
        equation=r"\min\left(l_t, 1.16 \cdot Ø_t \cdot ({\frac{f_{yd}}{\sigma_{td}}})^{0.5} \right)",
        numeric_equation=(
            rf"\min\left({self.l_t:.{n}f}, 1.16 \cdot {self.diameter_t:.{n}f} \cdot "
            rf"({{\frac{{{self.f_yd:.{n}f}}}{{{self.sigma_td:.{n}f}}}}})^{{0.5}} \right)"
        ),
        comparison_operator_label="=",
    )

codes.eurocode.en_1992_1_1_2004.chapter_8_detailing_of_reinforcement_and_prestressing_tendons.formula_8_8n.SubForm8Dot8nFunctionX

SubForm8Dot8nFunctionX(cover: MM, diameter_t: MM)

Bases: Formula

Class representing sub-formula for formula 8.8N, which calculates the function x.

[\(x\)] A function accounting for the geometry [\(-\)].

EN 1992-1-1:2004 art.8.6(2) - [\(x\)]

Parameters:

  • cover (MM) –

    [\(c\)] Concrete cover perpendicular to both bars [\(mm\)].

  • diameter_t (MM) –

    [\(ø_{t}\)] Diameter of transverse bar [\(mm\)].

Source code in blueprints/codes/eurocode/en_1992_1_1_2004/chapter_8_detailing_of_reinforcement_and_prestressing_tendons/formula_8_8n.py
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
def __init__(
    self,
    cover: MM,
    diameter_t: MM,
) -> None:
    r"""[$x$] A function accounting for the geometry [$-$].

    EN 1992-1-1:2004 art.8.6(2) - [$x$]

    Parameters
    ----------
    cover: MM
        [$c$] Concrete cover perpendicular to both bars [$mm$].
    diameter_t: MM
        [$ø_{t}$] Diameter of transverse bar [$mm$].
    """
    super().__init__()
    self.cover = cover
    self.diameter_t = diameter_t

codes.eurocode.en_1992_1_1_2004.chapter_8_detailing_of_reinforcement_and_prestressing_tendons.formula_8_8n.SubForm8Dot8nFunctionX.latex

latex(n: int = 2) -> LatexFormula

Returns LatexFormula object for formula 8.8N x-function.

Source code in blueprints/codes/eurocode/en_1992_1_1_2004/chapter_8_detailing_of_reinforcement_and_prestressing_tendons/formula_8_8n.py
304
305
306
307
308
309
310
311
312
def latex(self, n: int = 2) -> LatexFormula:
    """Returns LatexFormula object for formula 8.8N x-function."""
    return LatexFormula(
        return_symbol=r"x",
        result=f"{self:.{n}f}",
        equation=r"2 \cdot \frac{c}{Ø_t}",
        numeric_equation=rf"2 \cdot \frac{{{self.cover:.{n}f}}}{{{self.diameter_t:.{n}f}}}",
        comparison_operator_label="=",
    )

codes.eurocode.en_1992_1_1_2004.chapter_8_detailing_of_reinforcement_and_prestressing_tendons.formula_8_8n.SubForm8Dot8nFunctionY

SubForm8Dot8nFunctionY(x_function: DIMENSIONLESS)

Bases: Formula

Class representing sub-formula for formula 8.8N, which calculates the function y.

[\(y\)] A function [\(-\)].

EN 1992-1-1:2004 art.8.6(2) - [\(y\)]

Parameters:

  • x_function (DIMENSIONLESS) –

    [\(x\)] A function accounting for the geometry [\(-\)]

    [\(= 2⋅(c/ø_{t}) + 1\)]

    Use your own implementation of this formula or use the SubForm8Dot8nFunctionX class.

Source code in blueprints/codes/eurocode/en_1992_1_1_2004/chapter_8_detailing_of_reinforcement_and_prestressing_tendons/formula_8_8n.py
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
def __init__(
    self,
    x_function: DIMENSIONLESS,
) -> None:
    r"""[$y$] A function [$-$].

    EN 1992-1-1:2004 art.8.6(2) - [$y$]

    Parameters
    ----------
    x_function: DIMENSIONLESS
        [$x$] A function accounting for the geometry [$-$]

        [$= 2⋅(c/ø_{t}) + 1$]

        Use your own implementation of this formula or use the SubForm8Dot8nFunctionX class.
    """
    super().__init__()
    self.x_function = x_function

codes.eurocode.en_1992_1_1_2004.chapter_8_detailing_of_reinforcement_and_prestressing_tendons.formula_8_8n.SubForm8Dot8nFunctionY.latex

latex(n: int = 2) -> LatexFormula

Returns LatexFormula object for formula 8.8N y-function.

Source code in blueprints/codes/eurocode/en_1992_1_1_2004/chapter_8_detailing_of_reinforcement_and_prestressing_tendons/formula_8_8n.py
257
258
259
260
261
262
263
264
265
def latex(self, n: int = 2) -> LatexFormula:
    """Returns LatexFormula object for formula 8.8N y-function."""
    return LatexFormula(
        return_symbol=r"y",
        result=f"{self:.{n}f}",
        equation=r"0.015 + 0.14 \cdot e^{-0.18 \cdot x}",
        numeric_equation=rf"0.015 + 0.14 \cdot e^{{-0.18 \cdot {self.x_function:.{n}f}}}",
        comparison_operator_label="=",
    )