@@ -25,6 +25,9 @@ def create_multi_cpt_payload(
25
25
top_of_tension_zone_nap : float | None = None ,
26
26
individual_top_of_tension_zone_nap : Mapping [Any , float ] | None = None ,
27
27
excavation_param_t : float = 1.0 ,
28
+ excavation_stress_reduction_method : Literal ["constant" , "begemann" ] = "constant" ,
29
+ excavation_width : float | None = None ,
30
+ excavation_edge_distance : float | None = None ,
28
31
individual_ocr : Mapping [str , float ] | None = None ,
29
32
overrule_xi : float | None = None ,
30
33
gamma_f_nk : float = 1.0 ,
@@ -111,6 +114,27 @@ def create_multi_cpt_payload(
111
114
excavation method.
112
115
113
116
See for more info NEN 9997-1+C2:2017 7.6.2.3.(10)(k)
117
+ excavation_stress_reduction_method:
118
+ Method used to calculate the stress reduction due to the excavation applied to the effective and total stresses.
119
+ Only used when `excavation_depth_nap` is different than `None`. It can be:
120
+ - "constant" (default): The stress reduction below the excavation is constant with depth. The stress reduction
121
+ is equal to the original effective stress (i.e. before the excavation) at the excavation depth.
122
+ - "begemann": The stress reduction below the excavation decreases with depth according to the Begemann method.
123
+ This method uses the elastic solution of a strip load acting on a semi-infinite homogeneous soil mass.
124
+ The load has a width equal to the excavation width and a magnitude equal to the original effective stress at
125
+ the excavation depth.
126
+ Regardless the method, the stress reduction applied above the excavation is equal to the original effective stress
127
+ at each corresponding depth.
128
+ excavation_width:
129
+ Width of the excavation [m]. Used to calculate the stress reduction due to the excavation if the Begemann method is selected.
130
+ In this case, it must be provided and it must be > 0.
131
+ excavation_edge_distance:
132
+ Distance from the pile centerline to the excavation edge [m]. Used to calculate the stress reduction due to the excavation if
133
+ the Begemann method is selected. In this case, it must be provided and it must be between 0.0 and 0.5 * excavation_width.
134
+
135
+ Note that:
136
+ - 0.0 means that the pile is located at the edge of the excavation.
137
+ - 0.5 * excavation_width means that the pile is at the center of the excavation.
114
138
overrule_xi:
115
139
Set a fixed value for xi in all calculations. Use with caution. This will
116
140
overrule the calculation of xi-values based on the group-size, variation-
@@ -219,6 +243,16 @@ def create_multi_cpt_payload(
219
243
# Add optional properties
220
244
if excavation_depth_nap is not None :
221
245
multi_cpt_payload ["excavation_depth_nap" ] = excavation_depth_nap
246
+ if excavation_stress_reduction_method == "constant" :
247
+ multi_cpt_payload ["excavation_settings" ] = dict (
248
+ stress_reduction_method = "constant"
249
+ )
250
+ else :
251
+ multi_cpt_payload ["excavation_settings" ] = dict (
252
+ stress_reductin_method = "begemann" ,
253
+ excavation_width = excavation_width ,
254
+ excavation_edge_distance = excavation_edge_distance ,
255
+ )
222
256
if overrule_xi is not None :
223
257
multi_cpt_payload ["overrule_xi" ] = overrule_xi
224
258
if pile_grid is not None :
0 commit comments