Skip to content

shear

calc_asws(bw, d, fck, g_c, fyk, g_s, cott, ved, alpha)

Calculates the design shear reinforcement

Parameters:

Name Type Description Default
bw float

beam width

required
d float

beam depth

required
fck float

concrete compressive strength

required
g_c float

concrete partial safety coefficient

required
fyk float

steel strength

required
g_s float

steel partial safety coefficient

required
cott float

truss inclination (cot)

required
ved float

design shear force

required
alpha float

coefficient

required

Returns:

Type Description
Tuple[float, float]

Tuple[float, float]: (shear reinforcement (Asw/s), maximum shear force Vrd.max)

Source code in eurocodepy/ec2/uls/shear.py
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
def calc_asws(bw: float, d: float, fck: float, g_c: float, fyk: float, g_s: float, cott: float, ved: float, alpha: float) -> Tuple[float, float]:
    """Calculates the design shear reinforcement

    Args:
        bw (float): beam width
        d (float): beam depth
        fck (float): concrete compressive strength
        g_c (float): concrete partial safety coefficient
        fyk (float): steel strength
        g_s (float): steel partial safety coefficient
        cott (float): truss inclination (cot)
        ved (float): design shear force
        alpha (float): coefficient

    Returns:
        Tuple[float, float]: (shear reinforcement (Asw/s), maximum shear force Vrd.max)
    """
    z = 0.9 * d
    niu = 0.6*(1.0-fck/250)
    vrd_max = bw * z * niu * fck / g_c * 1000.0 / (cott + 1.0/cott)

    asw_s = ved / z / fyk * g_s / cott / 1000.0 if vrd_max >= ved else math.nan
    return asw_s, vrd_max

calc_vrd(bw, d, fck, g_c, fyk, g_s, cott, asw_s, alpha)

Calculates the design shear strength Vrds and Vrd.max

Parameters:

Name Type Description Default
bw float

beam width

required
d float

beam depth

required
fck float

concrete compressive strength

required
g_c float

concrete partial safety coefficient

required
fyk float

steel strength

required
g_s float

steel partial safety coefficient

required
cott float

truss inclination (cot)

required
asw_s float

steel transverse area (Asw/s)

required
alpha float

coefficient

required

Returns:

Name Type Description
float float

(shear reinforcement max(Asw/s), Vrd.max)

Source code in eurocodepy/ec2/uls/shear.py
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
def calc_vrd(bw: float, d: float, fck: float, g_c: float, fyk: float, g_s: float, cott: float, asw_s: float, alpha: float) -> float:
    """Calculates the design shear strength Vrds and Vrd.max

    Args:
        bw (float): beam width
        d (float): beam depth
        fck (float): concrete compressive strength
        g_c (float): concrete partial safety coefficient
        fyk (float): steel strength
        g_s (float): steel partial safety coefficient
        cott (float): truss inclination (cot)
        asw_s (float): steel transverse area (Asw/s)
        alpha (float): coefficient

    Returns:
        float: (shear reinforcement max(Asw/s), Vrd.max)
    """
    z = 0.9 * d
    vrd_s = asw_s * z * fyk / g_s * cott * 1000.0
    niu = 0.6*(1.0-fck/250)
    vrd_max = bw * z * niu * fck / g_c * 100.0 / (cott + 1.0/cott)
    return max(vrd_s, vrd_max)

calc_vrdc(bw, d, fck, g_c, rho_l)

Shear strength without shear reinforcement

Parameters:

Name Type Description Default
bw float

beam width

required
d float

beam depth

required
fck float

concrete compressive strength

required
g_c float

concrete partial safety coefficient

required
rho_l float

longitudinal reinforcement ratio (As/bd)

required

Returns:

Type Description
Tuple[float, float, float]

Tuple[float, float, float]: (vrd.min, vrd.c, vrd [min(vrd.mmin, vrd.c])

Source code in eurocodepy/ec2/uls/shear.py
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
def calc_vrdc(bw: float, d: float, fck: float, g_c: float, rho_l: float) -> Tuple[float, float, float]:
    """Shear strength without shear reinforcement

    Args:
        bw (float): beam width
        d (float): beam depth
        fck (float): concrete compressive strength
        g_c (float): concrete partial safety coefficient
        rho_l (float): longitudinal reinforcement ratio (As/bd)

    Returns:
        Tuple[float, float, float]: (vrd.min, vrd.c, vrd [min(vrd.mmin, vrd.c])
    """
    k = min(2.0, 1.0+math.sqrt(0.2/d))
    vrd_min = 35.0 * math.pow(k, 1.5) * math.sqrt(fck) * bw * d
    vrd_c = 180.0 / g_c * k * (100.0*rho_l*fck)**(1.0/3.0) * bw * d
    vrd = max (vrd_min, vrd_c)
    return vrd_min, vrd_c, vrd

calc_vrdmax(bw, d, fck, g_c, fyk, g_s, cott)

Calculates the design shear strength Vrd.max

Parameters:

Name Type Description Default
bw float

beam width

required
d float

beam depth

required
fck float

concrete compressive strength

required
g_c float

concrete partial safety coefficient

required
fyk float

steel strength

required
g_s float

steel partial safety coefficient

required

Returns:

Name Type Description
float float

Vrd.max

Source code in eurocodepy/ec2/uls/shear.py
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
def calc_vrdmax(bw: float, d: float, fck: float, g_c: float, fyk: float, g_s: float, cott: float) -> float:
    """Calculates the design shear strength Vrd.max

    Args:
        bw (float): beam width
        d (float): beam depth
        fck (float): concrete compressive strength
        g_c (float): concrete partial safety coefficient
        fyk (float): steel strength
        g_s (float): steel partial safety coefficient

    Returns:
        float: Vrd.max
    """
    return bw * 0.9 * d * 0.6*(1.0-fck/250) * fck / g_c * 100.0 / (cott + 1.0/cott)