structuralcodes 0.0.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of structuralcodes might be problematic. Click here for more details.
- structuralcodes/__init__.py +17 -0
- structuralcodes/codes/__init__.py +79 -0
- structuralcodes/codes/ec2_2004/__init__.py +133 -0
- structuralcodes/codes/ec2_2004/_concrete_material_properties.py +239 -0
- structuralcodes/codes/ec2_2004/_reinforcement_material_properties.py +104 -0
- structuralcodes/codes/ec2_2004/_section_7_3_crack_control.py +941 -0
- structuralcodes/codes/ec2_2004/annex_b_shrink_and_creep.py +257 -0
- structuralcodes/codes/ec2_2004/shear.py +506 -0
- structuralcodes/codes/ec2_2023/__init__.py +104 -0
- structuralcodes/codes/ec2_2023/_annexB_time_dependent.py +17 -0
- structuralcodes/codes/ec2_2023/_section5_materials.py +1160 -0
- structuralcodes/codes/ec2_2023/_section9_sls.py +325 -0
- structuralcodes/codes/mc2010/__init__.py +169 -0
- structuralcodes/codes/mc2010/_concrete_creep_and_shrinkage.py +704 -0
- structuralcodes/codes/mc2010/_concrete_interface_different_casting_times.py +104 -0
- structuralcodes/codes/mc2010/_concrete_material_properties.py +463 -0
- structuralcodes/codes/mc2010/_concrete_punching.py +543 -0
- structuralcodes/codes/mc2010/_concrete_shear.py +749 -0
- structuralcodes/codes/mc2010/_concrete_torsion.py +164 -0
- structuralcodes/codes/mc2010/_reinforcement_material_properties.py +105 -0
- structuralcodes/core/__init__.py +1 -0
- structuralcodes/core/_section_results.py +211 -0
- structuralcodes/core/base.py +260 -0
- structuralcodes/geometry/__init__.py +25 -0
- structuralcodes/geometry/_geometry.py +875 -0
- structuralcodes/geometry/_steel_sections.py +2155 -0
- structuralcodes/materials/__init__.py +9 -0
- structuralcodes/materials/concrete/__init__.py +82 -0
- structuralcodes/materials/concrete/_concrete.py +114 -0
- structuralcodes/materials/concrete/_concreteEC2_2004.py +477 -0
- structuralcodes/materials/concrete/_concreteEC2_2023.py +435 -0
- structuralcodes/materials/concrete/_concreteMC2010.py +494 -0
- structuralcodes/materials/constitutive_laws.py +979 -0
- structuralcodes/materials/reinforcement/__init__.py +84 -0
- structuralcodes/materials/reinforcement/_reinforcement.py +172 -0
- structuralcodes/materials/reinforcement/_reinforcementEC2_2004.py +103 -0
- structuralcodes/materials/reinforcement/_reinforcementEC2_2023.py +93 -0
- structuralcodes/materials/reinforcement/_reinforcementMC2010.py +98 -0
- structuralcodes/sections/__init__.py +23 -0
- structuralcodes/sections/_generic.py +1249 -0
- structuralcodes/sections/_reinforcement.py +115 -0
- structuralcodes/sections/section_integrators/__init__.py +14 -0
- structuralcodes/sections/section_integrators/_factory.py +41 -0
- structuralcodes/sections/section_integrators/_fiber_integrator.py +238 -0
- structuralcodes/sections/section_integrators/_marin_integration.py +47 -0
- structuralcodes/sections/section_integrators/_marin_integrator.py +222 -0
- structuralcodes/sections/section_integrators/_section_integrator.py +49 -0
- structuralcodes-0.0.1.dist-info/METADATA +40 -0
- structuralcodes-0.0.1.dist-info/RECORD +50 -0
- structuralcodes-0.0.1.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,543 @@
|
|
|
1
|
+
"""Covers punching in Model code 2010, 7.3.5.1 to 7.3.5.4."""
|
|
2
|
+
|
|
3
|
+
import warnings
|
|
4
|
+
from math import cos, pi, sin
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def b_0(v_ed: float, v_prep_d_max: float) -> float:
|
|
8
|
+
"""Gives the general output for b_0, shear-resisting control perimeter.
|
|
9
|
+
|
|
10
|
+
fib Model Code 2010, eq. (7.3-57).
|
|
11
|
+
|
|
12
|
+
Args:
|
|
13
|
+
V_ed (float): The acting shear force from the columns.
|
|
14
|
+
v_prep_d_max (float): The maximum shear force per unit length
|
|
15
|
+
perpendicular to the basic control parameter (Figure 7.3-24).
|
|
16
|
+
|
|
17
|
+
Returns:
|
|
18
|
+
float: The shear-resisting control perimeter, b_0.
|
|
19
|
+
"""
|
|
20
|
+
return v_ed / v_prep_d_max
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def m_ed(
|
|
24
|
+
v_ed: float,
|
|
25
|
+
e_u: float,
|
|
26
|
+
l_x: float,
|
|
27
|
+
l_y: float,
|
|
28
|
+
inner: bool,
|
|
29
|
+
edge_par: bool,
|
|
30
|
+
edge_per: bool,
|
|
31
|
+
corner: bool,
|
|
32
|
+
) -> float:
|
|
33
|
+
"""The average bending moment acting in the support strip.
|
|
34
|
+
|
|
35
|
+
fib Model Code 2010, eq. (7.3-76), (7.3-71), (7.3-72), (7.3-73)
|
|
36
|
+
and (7.3-74).
|
|
37
|
+
|
|
38
|
+
Args:
|
|
39
|
+
v_ed (float): The acting shear force from the columns.
|
|
40
|
+
e_u (float): Refers to the eccentricity of the resultant of shear
|
|
41
|
+
forces with respect to the centroid.
|
|
42
|
+
l_x (float): The width in x direction that the collumn carries.
|
|
43
|
+
l_y (float): The width in y direction that the collumn carries.
|
|
44
|
+
inner (bool): Is true only if the column is a inner column.
|
|
45
|
+
edge_par (bool): Is true only if the column is a edge column with
|
|
46
|
+
tension reinforcement parallel to the edge.
|
|
47
|
+
edge_per (bool): Is true only if the column is a edge column with
|
|
48
|
+
tension reinforcement perpendicular to the edge.
|
|
49
|
+
corner (bool): Is true only if the column is a corner column.
|
|
50
|
+
|
|
51
|
+
Returns:
|
|
52
|
+
float: The bending moment acting in the support strip regardless of the
|
|
53
|
+
position of the column.
|
|
54
|
+
"""
|
|
55
|
+
r_sx = 0.22 * l_x
|
|
56
|
+
r_sy = 0.22 * l_y
|
|
57
|
+
l_min = min(l_x, l_y)
|
|
58
|
+
b_s = min(1.5 * (r_sx * r_sy) ** 0.5, l_min)
|
|
59
|
+
if inner:
|
|
60
|
+
return v_ed * ((1 / 8) + abs(e_u) / (2 * b_s))
|
|
61
|
+
if edge_par:
|
|
62
|
+
return max(v_ed * ((1 / 8) + e_u / (2 * b_s)), v_ed / 4)
|
|
63
|
+
if edge_per:
|
|
64
|
+
return v_ed * ((1 / 8) + e_u / (b_s))
|
|
65
|
+
if corner:
|
|
66
|
+
return max(v_ed * ((1 / 8) + e_u / (b_s)), v_ed / 2)
|
|
67
|
+
raise ValueError('Placement is not defined, only one needs to be True')
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
def psi_punching(
|
|
71
|
+
l_x: float,
|
|
72
|
+
l_y: float,
|
|
73
|
+
f_yd: float,
|
|
74
|
+
d: float,
|
|
75
|
+
e_s: float,
|
|
76
|
+
approx_lvl_p: float,
|
|
77
|
+
v_ed: float,
|
|
78
|
+
e_u: float,
|
|
79
|
+
inner: bool,
|
|
80
|
+
edge_par: bool,
|
|
81
|
+
edge_per: bool,
|
|
82
|
+
corner: bool,
|
|
83
|
+
m_rd: float,
|
|
84
|
+
x_direction: bool,
|
|
85
|
+
) -> float:
|
|
86
|
+
"""The rotation of the slab around the supported area.
|
|
87
|
+
|
|
88
|
+
fib Model Code 2010, eq. (7.3-70), (7.3-75) and (7.3-77).
|
|
89
|
+
|
|
90
|
+
Args:
|
|
91
|
+
l_x (float): The distance between two columns in x direction.
|
|
92
|
+
l_y (float): The distance between two columns in y direction.
|
|
93
|
+
f_yd (float): Design strength of reinforment steel in MPa.
|
|
94
|
+
d (float): The mean value of the effective depth in mm.
|
|
95
|
+
e_s (float): The E_modulus for steel in MPa.
|
|
96
|
+
approx_lvl_p (float): The approx level for punching.
|
|
97
|
+
v_ed (float): The acting shear force from the columns.
|
|
98
|
+
e_u (float): Refers to the eccentricity of the resultant of shear
|
|
99
|
+
forces with respect to the centroid.
|
|
100
|
+
inner (bool): Is true only if the column is a inner column.
|
|
101
|
+
edge_par (bool): Is true only if the column is a edge column with
|
|
102
|
+
tension reinforcement parallel to the edge.
|
|
103
|
+
edge_per (bool): Is true only if the column is a edge column with
|
|
104
|
+
tension reinforcement perpendicular to the edge.
|
|
105
|
+
corner (bool): Is true only if the column is a corner column.
|
|
106
|
+
m_rd (float): The design average strength per unit length in MPa.
|
|
107
|
+
m_pd: (float): The average decompresstion moment due to prestressing
|
|
108
|
+
in MPa.
|
|
109
|
+
|
|
110
|
+
Returns:
|
|
111
|
+
float: psi for the chosen approx level in punching.
|
|
112
|
+
"""
|
|
113
|
+
r_s = max(0.22 * l_x, 0.22 * l_y)
|
|
114
|
+
if approx_lvl_p == 1:
|
|
115
|
+
psi = 1.5 * r_s * f_yd / (d * e_s)
|
|
116
|
+
|
|
117
|
+
elif approx_lvl_p == 2:
|
|
118
|
+
r_s = 0.22 * l_x if x_direction is True else 0.22 * l_y
|
|
119
|
+
psi = (1.5 * r_s * f_yd / (d * e_s)) * (
|
|
120
|
+
(m_ed(v_ed, e_u, l_x, l_y, inner, edge_par, edge_per, corner))
|
|
121
|
+
/ (m_rd)
|
|
122
|
+
) ** 1.5
|
|
123
|
+
|
|
124
|
+
return psi
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
def v_rdc_punching(
|
|
128
|
+
l_x: float,
|
|
129
|
+
l_y: float,
|
|
130
|
+
f_yd: float,
|
|
131
|
+
d: float,
|
|
132
|
+
e_s: float,
|
|
133
|
+
approx_lvl_p: float,
|
|
134
|
+
dg: float,
|
|
135
|
+
f_ck: float,
|
|
136
|
+
d_v: float,
|
|
137
|
+
v_ed: float,
|
|
138
|
+
e_u: float,
|
|
139
|
+
inner: bool,
|
|
140
|
+
edge_par: bool,
|
|
141
|
+
edge_per: bool,
|
|
142
|
+
corner: bool,
|
|
143
|
+
m_rd: float,
|
|
144
|
+
m_pd: float,
|
|
145
|
+
v_prep_d_max: float,
|
|
146
|
+
gamma_c: float = 1.5,
|
|
147
|
+
) -> float:
|
|
148
|
+
"""Punching resistance from the concrete.
|
|
149
|
+
|
|
150
|
+
fib Model Code 2010, eq. (7.3-61), (7.3-62) and (7.3-63).
|
|
151
|
+
|
|
152
|
+
Args:
|
|
153
|
+
l_x (float): The distance between two columns in x direction.
|
|
154
|
+
l_y (float): The distance between two columns in y direction.
|
|
155
|
+
f_yd (float): Design strength of reinforment steel in MPa.
|
|
156
|
+
d (float): The mean value of the effective depth in mm.
|
|
157
|
+
e_s (float): The E_modulus for steel in MPa.
|
|
158
|
+
approx_lvl_p (float): The approx level for punching.
|
|
159
|
+
dg (float): Maximum size of aggregate.
|
|
160
|
+
f_ck (float): Characteristic strength in MPa.
|
|
161
|
+
d_v (float): The effective depth considering support in mm.
|
|
162
|
+
v_ed (float): The acting shear force from the columns.
|
|
163
|
+
e_u (float): Refers to the eccentricity of the resultant of shear
|
|
164
|
+
forces with respect to the centroid.
|
|
165
|
+
inner (bool): Is true only if the column is a inner column.
|
|
166
|
+
edge_par (bool): Is true only if the column is a edge column with
|
|
167
|
+
tension reinforcement parallel to the edge.
|
|
168
|
+
edge_per (bool): Is true only if the column is a edge column with
|
|
169
|
+
tension reinforcement perpendicular to the edge.
|
|
170
|
+
corner (bool): Is true only if the column is a corner column.
|
|
171
|
+
m_rd (float): The design average strength per unit length in MPa.
|
|
172
|
+
m_pd: (float): The average decompresstion moment due to prestressing
|
|
173
|
+
in MPa.
|
|
174
|
+
v_prep_d_max (float): The maximum shear force per unit length
|
|
175
|
+
perpendicular to the basic control parameter (Figure 7.3-24).
|
|
176
|
+
gamma_c: Safety factor for concrete.
|
|
177
|
+
|
|
178
|
+
Returns:
|
|
179
|
+
float: v_rdc for punching with the right approx level.
|
|
180
|
+
"""
|
|
181
|
+
k_dg = max(32 / (16 + dg), 0.75)
|
|
182
|
+
k_psi = min(
|
|
183
|
+
1
|
|
184
|
+
/ (
|
|
185
|
+
1.5
|
|
186
|
+
+ 0.9
|
|
187
|
+
* k_dg
|
|
188
|
+
* d
|
|
189
|
+
* psi_punching(
|
|
190
|
+
l_x,
|
|
191
|
+
l_y,
|
|
192
|
+
f_yd,
|
|
193
|
+
d,
|
|
194
|
+
e_s,
|
|
195
|
+
approx_lvl_p,
|
|
196
|
+
v_ed,
|
|
197
|
+
e_u,
|
|
198
|
+
inner,
|
|
199
|
+
edge_par,
|
|
200
|
+
edge_per,
|
|
201
|
+
corner,
|
|
202
|
+
m_rd,
|
|
203
|
+
m_pd,
|
|
204
|
+
)
|
|
205
|
+
),
|
|
206
|
+
0.6,
|
|
207
|
+
)
|
|
208
|
+
return k_psi * b_0(v_ed, v_prep_d_max) * d_v * (f_ck**0.5) / gamma_c
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
def v_rds_punching(
|
|
212
|
+
e_u: float,
|
|
213
|
+
b_u: float,
|
|
214
|
+
l_x: float,
|
|
215
|
+
l_y: float,
|
|
216
|
+
f_yd: float,
|
|
217
|
+
d: float,
|
|
218
|
+
e_s: float,
|
|
219
|
+
approx_lvl_p: float,
|
|
220
|
+
v_ed: float,
|
|
221
|
+
inner: bool,
|
|
222
|
+
edge_par: bool,
|
|
223
|
+
edge_per: bool,
|
|
224
|
+
corner: bool,
|
|
225
|
+
m_rd: float,
|
|
226
|
+
m_pd: float,
|
|
227
|
+
alpha: float,
|
|
228
|
+
f_bd: float,
|
|
229
|
+
f_ywk: float,
|
|
230
|
+
phi_w: float,
|
|
231
|
+
a_sw: float,
|
|
232
|
+
gamma_s: float,
|
|
233
|
+
):
|
|
234
|
+
"""The punching resistance from shear reinforcement.
|
|
235
|
+
|
|
236
|
+
fib Model Code 2010, eq. (7.3-64) and (7.3-65).
|
|
237
|
+
|
|
238
|
+
Args:
|
|
239
|
+
e_u (float): The ecentrisity of the result of shear forces
|
|
240
|
+
with respect to the centroid (Figure 7.3-27b).
|
|
241
|
+
b_u (float): The diamter of a circle with same surface as the region
|
|
242
|
+
inside the basic control perimeter (Figure 7.3-27b).
|
|
243
|
+
l_x (float): The distance between two columns in x direction.
|
|
244
|
+
l_y (float): The distance between two columns in y direction.
|
|
245
|
+
f_yd (float): Design strength of reinforment steel in MPa.
|
|
246
|
+
d (float): The mean value of the effective depth in mm.
|
|
247
|
+
e_s (float): The E_modulus for steel in MPa.
|
|
248
|
+
approx_lvl_p (float): The approx level for punching.
|
|
249
|
+
v_ed (float): The acting shear force from the columns.
|
|
250
|
+
inner (bool): Is true only if the column is a inner column.
|
|
251
|
+
edge_par (bool): Is true only if the column is a edge column with
|
|
252
|
+
tension reinforcement parallel to the edge.
|
|
253
|
+
edge_per (bool): Is true only if the column is a edge column with
|
|
254
|
+
tension reinforcement perpendicular to the edge.
|
|
255
|
+
corner (bool): Is true only if the column is a corner column.
|
|
256
|
+
m_rd (float): The design average strength per unit length in MPa.
|
|
257
|
+
m_pd: (float): The average decompresstion moment due to prestressing in
|
|
258
|
+
MPa.
|
|
259
|
+
alpha (float): Inclination of the stirrups in degrees.
|
|
260
|
+
f_bd (float): The design bond strength in MPa.
|
|
261
|
+
f_ywk (float): Characteristic yield strength of the shear reinforcement
|
|
262
|
+
in MPa.
|
|
263
|
+
phi_w (float): The diameter of the shear reinforcement.
|
|
264
|
+
a_sw (float): The area of the shear reinforcement in mm^2.
|
|
265
|
+
gamma_s (float): Safety factor for reinforcement.
|
|
266
|
+
|
|
267
|
+
Returns:
|
|
268
|
+
float: Punching resistance that comes from reinforcement.
|
|
269
|
+
"""
|
|
270
|
+
f_ywd = f_ywk / gamma_s
|
|
271
|
+
k_e = 1 / (1 + e_u / b_u)
|
|
272
|
+
sigma_swd = min(
|
|
273
|
+
(
|
|
274
|
+
e_s
|
|
275
|
+
* psi_punching(
|
|
276
|
+
l_x,
|
|
277
|
+
l_y,
|
|
278
|
+
f_yd,
|
|
279
|
+
d,
|
|
280
|
+
e_s,
|
|
281
|
+
approx_lvl_p,
|
|
282
|
+
v_ed,
|
|
283
|
+
e_u,
|
|
284
|
+
inner,
|
|
285
|
+
edge_par,
|
|
286
|
+
edge_per,
|
|
287
|
+
corner,
|
|
288
|
+
m_rd,
|
|
289
|
+
m_pd,
|
|
290
|
+
)
|
|
291
|
+
/ 6
|
|
292
|
+
)
|
|
293
|
+
* (sin(alpha * pi / 180) + cos(alpha * pi / 180))
|
|
294
|
+
* (sin(alpha * pi / 180) + f_bd * d / (f_ywd * phi_w)),
|
|
295
|
+
f_ywd,
|
|
296
|
+
)
|
|
297
|
+
|
|
298
|
+
if (a_sw * k_e * f_ywd) < 0.5 * v_ed:
|
|
299
|
+
warnings.warn(
|
|
300
|
+
"""In order to ensure sufficent deformation capacity,
|
|
301
|
+
consider increasing the amount of punching shear reinforcement"""
|
|
302
|
+
)
|
|
303
|
+
return a_sw * k_e * sigma_swd * sin(alpha * pi / 180)
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
def v_rd_max_punching(
|
|
307
|
+
l_x: float,
|
|
308
|
+
l_y: float,
|
|
309
|
+
f_yd: float,
|
|
310
|
+
d: float,
|
|
311
|
+
e_s: float,
|
|
312
|
+
approx_lvl_p: float,
|
|
313
|
+
v_ed: float,
|
|
314
|
+
e_u: float,
|
|
315
|
+
inner: bool,
|
|
316
|
+
edge_par: bool,
|
|
317
|
+
edge_per: bool,
|
|
318
|
+
dg: float,
|
|
319
|
+
corner: bool,
|
|
320
|
+
m_rd: float,
|
|
321
|
+
m_pd: float,
|
|
322
|
+
v_prep_d_max: float,
|
|
323
|
+
d_v: float,
|
|
324
|
+
f_ck: float,
|
|
325
|
+
d_head: bool,
|
|
326
|
+
stirrups_compression: bool,
|
|
327
|
+
gamma_c: float = 1.5,
|
|
328
|
+
) -> float:
|
|
329
|
+
"""Finds the maximum value you can have for v_rd_punching.
|
|
330
|
+
|
|
331
|
+
fib Model Code 2010, eq. (7.3-68) and (7.3-69).
|
|
332
|
+
|
|
333
|
+
Args:
|
|
334
|
+
l_x (float): The distance between two columns in x direction.
|
|
335
|
+
l_y (float): The distance between two columns in y direction.
|
|
336
|
+
f_yd (float): Design strength of reinforment steel in MPa.
|
|
337
|
+
d (float): The mean value of the effective depth in mm.
|
|
338
|
+
e_s (float): The E_modulus for steel in MPa.
|
|
339
|
+
approx_lvl_p (float): The approx level for punching.
|
|
340
|
+
v_ed (float): The acting shear force from the columns.
|
|
341
|
+
e_u (float): Refers to the eccentricity of the resultant of shear
|
|
342
|
+
forces with respect to the centroid.
|
|
343
|
+
inner (bool): Is true only if the column is a inner column.
|
|
344
|
+
edge_par (bool): Is true only if the column is a edge column with
|
|
345
|
+
tension reinforcement parallel to the edge.
|
|
346
|
+
edge_per (bool): Is true only if the column is a edge column with
|
|
347
|
+
tension reinforcement perpendicular to the edge.
|
|
348
|
+
dg (float): Maximum size of aggregate.
|
|
349
|
+
corner (bool): Is true only if the column is a corner column.
|
|
350
|
+
m_rd (float): The design average strength per unit length in MPa.
|
|
351
|
+
m_pd: (float): The average decompresstion moment due to prestressing in
|
|
352
|
+
MPa.
|
|
353
|
+
v_prep_d_max (float): The maximum shear force per unit length
|
|
354
|
+
perpendiculerer to the basic control parameter (Figure 7.3-24).
|
|
355
|
+
d_v (float): The effective depth considering support in mm.
|
|
356
|
+
f_ck (float): Characteristic strength in MPa.
|
|
357
|
+
d_head (bool): True if diameter of heads is three times larger than.
|
|
358
|
+
stirrups_compression: (bool): Stirrups with sufficient length at
|
|
359
|
+
compression face, and bent on tension face.
|
|
360
|
+
gamma_c (float): Safety factor for concrete.
|
|
361
|
+
|
|
362
|
+
Return:
|
|
363
|
+
float: The maximum allowed punching resistance.
|
|
364
|
+
"""
|
|
365
|
+
if d_head:
|
|
366
|
+
k_sys = 2.8
|
|
367
|
+
elif stirrups_compression:
|
|
368
|
+
k_sys = 2.4
|
|
369
|
+
else:
|
|
370
|
+
k_sys = 2
|
|
371
|
+
|
|
372
|
+
k_dg = max(32 / (16 + dg), 0.75)
|
|
373
|
+
k_psi = min(
|
|
374
|
+
1
|
|
375
|
+
/ (
|
|
376
|
+
1.5
|
|
377
|
+
+ 0.9
|
|
378
|
+
* k_dg
|
|
379
|
+
* d
|
|
380
|
+
* psi_punching(
|
|
381
|
+
l_x,
|
|
382
|
+
l_y,
|
|
383
|
+
f_yd,
|
|
384
|
+
d,
|
|
385
|
+
e_s,
|
|
386
|
+
approx_lvl_p,
|
|
387
|
+
v_ed,
|
|
388
|
+
e_u,
|
|
389
|
+
inner,
|
|
390
|
+
edge_par,
|
|
391
|
+
edge_per,
|
|
392
|
+
corner,
|
|
393
|
+
m_rd,
|
|
394
|
+
m_pd,
|
|
395
|
+
)
|
|
396
|
+
),
|
|
397
|
+
0.6,
|
|
398
|
+
)
|
|
399
|
+
return min(
|
|
400
|
+
(k_sys * k_psi * b_0(v_ed, v_prep_d_max) * d_v * f_ck**0.5) / gamma_c,
|
|
401
|
+
(b_0(v_ed, v_prep_d_max) * d_v * f_ck**0.5) / gamma_c,
|
|
402
|
+
)
|
|
403
|
+
|
|
404
|
+
|
|
405
|
+
def v_rd_punching(
|
|
406
|
+
e_u: float,
|
|
407
|
+
b_u: float,
|
|
408
|
+
l_x: float,
|
|
409
|
+
l_y: float,
|
|
410
|
+
f_yd: float,
|
|
411
|
+
d: float,
|
|
412
|
+
e_s: float,
|
|
413
|
+
approx_lvl_p: float,
|
|
414
|
+
v_ed: float,
|
|
415
|
+
inner: bool,
|
|
416
|
+
edge_par: bool,
|
|
417
|
+
edge_per: bool,
|
|
418
|
+
corner: bool,
|
|
419
|
+
m_rd: float,
|
|
420
|
+
m_pd: float,
|
|
421
|
+
alpha: float,
|
|
422
|
+
f_bd: float,
|
|
423
|
+
f_ywk: float,
|
|
424
|
+
phi_w: float,
|
|
425
|
+
a_sw: float,
|
|
426
|
+
dg: float,
|
|
427
|
+
f_ck: float,
|
|
428
|
+
d_v: float,
|
|
429
|
+
v_prep_d_max: float,
|
|
430
|
+
d_head: bool,
|
|
431
|
+
stirrups_compression: bool,
|
|
432
|
+
gamma_c: float = 1.5,
|
|
433
|
+
gamma_s: float = 1.15,
|
|
434
|
+
) -> float:
|
|
435
|
+
"""The total resistance for punching, both Vrd,c and Vrd,s.
|
|
436
|
+
|
|
437
|
+
fib Model Code 2010, eq. (7.3-60).
|
|
438
|
+
|
|
439
|
+
Args:
|
|
440
|
+
e_u (float): The ecentrisity of the result of shear forces with respect
|
|
441
|
+
to the centroid (Figure 7.3-27b).
|
|
442
|
+
b_u (float): The diamter of a circle with same surface as the region
|
|
443
|
+
inside the basic control perimeter (Figure 7.3-27b).
|
|
444
|
+
l_x (float): The distance between two columns in x direction.
|
|
445
|
+
l_y (float): The distance between two columns in y direction.
|
|
446
|
+
f_yd (float): Design strength of reinforment steel in MPa.
|
|
447
|
+
d (float): The mean value of the effective depth in mm.
|
|
448
|
+
e_s (float): The E_modulus for steel in MPa.
|
|
449
|
+
approx_lvl_p (float): The approx level for punching.
|
|
450
|
+
v_ed (float): The acting shear force from the columns.
|
|
451
|
+
inner (bool): Is true only if the column is a inner column.
|
|
452
|
+
edge_par (bool): Is true only if the column is a edge column with
|
|
453
|
+
tension reinforcement parallel to the edge.
|
|
454
|
+
edge_per (bool): Is true only if the column is a edge column with
|
|
455
|
+
tension reinforcement perpendicular to the edge.
|
|
456
|
+
corner (bool): Is true only if the column is a corner column.
|
|
457
|
+
m_rd (float): The design average strength per unit length in MPa.
|
|
458
|
+
m_pd: (float): The average decompresstion moment due to prestressing in
|
|
459
|
+
MPa.
|
|
460
|
+
alpha (float): Inclination of the stirrups in degrees.
|
|
461
|
+
f_bd (float): The design bond strength in MPa.
|
|
462
|
+
f_ywk (float): Characteristic yield strength of the shear reinforcement
|
|
463
|
+
in MPa.
|
|
464
|
+
phi_w (float): The diameter of the shear reinforcement.
|
|
465
|
+
a_sw (float): The area of the shear reinforcement in mm^2.
|
|
466
|
+
dg (float): Maximum size of aggregate.
|
|
467
|
+
f_ck (float): Characteristic strength in MPa.
|
|
468
|
+
d_v (float): The effective depth considering support in mm.
|
|
469
|
+
v_prep_d_max (float): The maximum shear force per unit length
|
|
470
|
+
perpendicular to the basic control parameter (Figure 7.3-24).
|
|
471
|
+
|
|
472
|
+
Return:
|
|
473
|
+
float: The maximum allowed punching resistance, regardless of values
|
|
474
|
+
from v_rdc and v_rds.
|
|
475
|
+
"""
|
|
476
|
+
return min(
|
|
477
|
+
v_rdc_punching(
|
|
478
|
+
l_x,
|
|
479
|
+
l_y,
|
|
480
|
+
f_yd,
|
|
481
|
+
d,
|
|
482
|
+
e_s,
|
|
483
|
+
approx_lvl_p,
|
|
484
|
+
dg,
|
|
485
|
+
f_ck,
|
|
486
|
+
d_v,
|
|
487
|
+
v_ed,
|
|
488
|
+
e_u,
|
|
489
|
+
inner,
|
|
490
|
+
edge_par,
|
|
491
|
+
edge_per,
|
|
492
|
+
corner,
|
|
493
|
+
m_rd,
|
|
494
|
+
v_prep_d_max,
|
|
495
|
+
gamma_c,
|
|
496
|
+
)
|
|
497
|
+
+ v_rds_punching(
|
|
498
|
+
e_u,
|
|
499
|
+
b_u,
|
|
500
|
+
l_x,
|
|
501
|
+
l_y,
|
|
502
|
+
f_yd,
|
|
503
|
+
d,
|
|
504
|
+
e_s,
|
|
505
|
+
approx_lvl_p,
|
|
506
|
+
v_ed,
|
|
507
|
+
inner,
|
|
508
|
+
edge_par,
|
|
509
|
+
edge_per,
|
|
510
|
+
corner,
|
|
511
|
+
m_rd,
|
|
512
|
+
m_pd,
|
|
513
|
+
alpha,
|
|
514
|
+
f_bd,
|
|
515
|
+
f_ywk,
|
|
516
|
+
phi_w,
|
|
517
|
+
a_sw,
|
|
518
|
+
gamma_s,
|
|
519
|
+
),
|
|
520
|
+
v_rd_max_punching(
|
|
521
|
+
l_x,
|
|
522
|
+
l_y,
|
|
523
|
+
f_yd,
|
|
524
|
+
d,
|
|
525
|
+
e_s,
|
|
526
|
+
approx_lvl_p,
|
|
527
|
+
v_ed,
|
|
528
|
+
e_u,
|
|
529
|
+
inner,
|
|
530
|
+
edge_par,
|
|
531
|
+
edge_per,
|
|
532
|
+
dg,
|
|
533
|
+
corner,
|
|
534
|
+
m_rd,
|
|
535
|
+
m_pd,
|
|
536
|
+
v_prep_d_max,
|
|
537
|
+
d_v,
|
|
538
|
+
f_ck,
|
|
539
|
+
d_head,
|
|
540
|
+
stirrups_compression,
|
|
541
|
+
gamma_c,
|
|
542
|
+
),
|
|
543
|
+
)
|