geolysis 0.10.3__py3-none-any.whl → 0.11.0__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.
geolysis/__init__.py CHANGED
@@ -1,5 +1,5 @@
1
1
  from . import bearing_capacity, foundation, soil_classifier, spt
2
2
 
3
- __version__ = "0.10.3"
3
+ __version__ = "0.11.0"
4
4
 
5
5
  __all__ = ["foundation", "soil_classifier", "spt", "bearing_capacity"]
@@ -10,12 +10,12 @@ from ._cohl import (
10
10
  )
11
11
 
12
12
  __all__ = [
13
- "create_abc_4_cohesionless_soils",
14
- "ABCType",
15
13
  "BowlesABC4PadFoundation",
16
14
  "BowlesABC4MatFoundation",
17
15
  "MeyerhofABC4PadFoundation",
18
16
  "MeyerhofABC4MatFoundation",
19
17
  "TerzaghiABC4PadFoundation",
20
18
  "TerzaghiABC4MatFoundation",
19
+ "ABCType",
20
+ "create_abc_4_cohesionless_soils",
21
21
  ]
@@ -42,7 +42,8 @@ class AllowableBearingCapacity(ABC):
42
42
  @tol_settlement.setter
43
43
  @validate_func_args
44
44
  def tol_settlement(
45
- self, tol_settlement: Annotated[float, MustBeLessThanOrEqual(25.4)]
45
+ self,
46
+ tol_settlement: Annotated[float, MustBeLessThanOrEqual(25.4)],
46
47
  ):
47
48
  self._tol_settlement = tol_settlement
48
49
 
@@ -57,6 +58,12 @@ class AllowableBearingCapacity(ABC):
57
58
  return min(1.0 + 0.33 * depth / width, 1.33)
58
59
 
59
60
  def bearing_capacity_results(self) -> dict:
61
+ """Return a dictionary of bearing capacity results with
62
+ intermediate calculations.
63
+
64
+ !!! info "Added in v0.11.0"
65
+
66
+ """
60
67
  return {
61
68
  "bearing_capacity": self.bearing_capacity(),
62
69
  "depth_factor": self._fd(),
@@ -8,27 +8,8 @@ class BowlesABC4PadFoundation(AllowableBearingCapacity):
8
8
  r"""Allowable bearing capacity for pad foundation on cohesionless
9
9
  soils according to `Bowles (1997)`.
10
10
 
11
- $$
12
- q_a(kPa) = 19.16(N_1)_{55} f_d\left(\dfrac{S}{25.4}\right),
13
- \ B \ \le \ 1.2m
14
- $$
15
-
16
- $$
17
- q_a(kPa) = 11.98(N_1)_{55}\left(\dfrac{3.28B + 1}{3.28B} \right)^2
18
- f_d \left(\dfrac{S}{25.4}\right), \ B \ \gt 1.2m
19
- $$
20
-
21
- $$
22
- f_d = 1 + 0.33 \cdot \frac{D_f}{B} \le 1.33
23
- $$
24
-
25
- - $q_a$ (kPa): Allowable bearing capacity
26
- - $N$: Corrected SPT N-value
27
- - $f_d$: Depth factor
28
- - $S$ (mm): Tolerable settlement
29
- - $B$ (m): Width of foundation footing
30
- - $D_f$ (m): Depth of foundation footing
31
- - $D_w$ (m): Depth of water below ground level
11
+ See [implementation](../formulas/allowable-bearing-capacity.md/#bowles-bearing-capacity-for-pad-foundation)
12
+ for more details on bearing capacity equation used.
32
13
 
33
14
  """
34
15
 
@@ -77,21 +58,9 @@ class BowlesABC4MatFoundation(BowlesABC4PadFoundation):
77
58
  r"""Allowable bearing capacity for mat foundation on cohesionless
78
59
  soils according to `Bowles (1997)`.
79
60
 
80
- $$
81
- q_a(kPa) = 11.98(N_1)_{55}f_d\left(\dfrac{S}{25.4}\right)
82
- $$
83
-
84
- $$
85
- f_d = 1 + 0.33 \cdot \frac{D_f}{B} \le 1.33
86
- $$
61
+ See [implementation](../formulas/allowable-bearing-capacity.md/#bowles-bearing-capacity-for-mat-foundation)
62
+ for more details on bearing capacity equation used.
87
63
 
88
- - $q_a$ (kPa): Allowable bearing capacity
89
- - $N$: Corrected SPT N-value
90
- - $f_d$: Depth factor
91
- - $S$ (mm): Tolerable settlement
92
- - $B$ (m): Width of foundation footing
93
- - $D_f$ (m): Depth of foundation footing
94
- - $D_w$ (m): Depth of water below ground level
95
64
  """
96
65
 
97
66
  @round_(ndigits=2)
@@ -5,29 +5,11 @@ from ._core import AllowableBearingCapacity
5
5
 
6
6
 
7
7
  class MeyerhofABC4PadFoundation(AllowableBearingCapacity):
8
- r"""Allowable bearing capacity for pad foundation on cohesionless
8
+ """Allowable bearing capacity for pad foundation on cohesionless
9
9
  soils according to `Meyerhof (1956)`.
10
10
 
11
- $$
12
- q_a(kPa) = 12N f_d\left(\dfrac{S}{25.4}\right), \ B \ \le 1.2m
13
- $$
14
-
15
- $$
16
- q_a(kPa) = 8N\left(\dfrac{3.28B + 1}{3.28B} \right)^2 f_d\left(
17
- \dfrac{S}{25.4}\right), \ B \ \gt 1.2m
18
- $$
19
-
20
- $$
21
- f_d = 1 + 0.33 \cdot \frac{D_f}{B} \le 1.33
22
- $$
23
-
24
- - $q_a$ (kPa): Allowable bearing capacity
25
- - $N$: Corrected SPT N-value
26
- - $f_d$: Depth factor
27
- - $S$ (mm): Tolerable settlement
28
- - $B$ (m): Width of foundation footing
29
- - $D_f$ (m): Depth of foundation footing
30
- - $D_w$ (m): Depth of water below ground level
11
+ See [implementation](../formulas/allowable-bearing-capacity.md/#meyerhof-bearing-capacity-for-pad-foundation)
12
+ for more details on bearing capacity equation used.
31
13
 
32
14
  """
33
15
 
@@ -73,24 +55,12 @@ class MeyerhofABC4PadFoundation(AllowableBearingCapacity):
73
55
 
74
56
 
75
57
  class MeyerhofABC4MatFoundation(MeyerhofABC4PadFoundation):
76
- r"""Allowable bearing capacity for mat foundation on cohesionless
58
+ """Allowable bearing capacity for mat foundation on cohesionless
77
59
  soils according to `Meyerhof (1956)`.
78
60
 
79
- $$
80
- q_a(kPa) = 8 N f_d\left(\dfrac{S}{25.4}\right)
81
- $$
82
-
83
- $$
84
- f_d = 1 + 0.33 \cdot \frac{D_f}{B} \le 1.33
85
- $$
61
+ See [implementation](../formulas/allowable-bearing-capacity.md/#meyerhof-bearing-capacity-for-mat-foundation)
62
+ for more details on bearing capacity equation used.
86
63
 
87
- - $q_a$ (kPa): Allowable bearing capacity
88
- - $N$: Corrected SPT N-value
89
- - $f_d$: Depth factor
90
- - $S$ (mm): Tolerable settlement
91
- - $B$ (m): Width of foundation footing
92
- - $D_f$ (m): Depth of foundation footing
93
- - $D_w$ (m): Depth of water below ground level
94
64
  """
95
65
 
96
66
  @round_(ndigits=2)
@@ -5,39 +5,11 @@ from ._core import AllowableBearingCapacity
5
5
 
6
6
 
7
7
  class TerzaghiABC4PadFoundation(AllowableBearingCapacity):
8
- r"""Allowable bearing capacity for pad foundation on cohesionless
8
+ """Allowable bearing capacity for pad foundation on cohesionless
9
9
  soils according to `Terzaghi & Peck (1948)`.
10
10
 
11
- $$
12
- q_a(kPa) = 12N \dfrac{1}{c_w f_d}\left(\dfrac{S}{25.4}\right),
13
- \ B \ \le 1.2m
14
- $$
15
-
16
- $$
17
- q_a(kPa) = 8N\left(\dfrac{3.28B + 1}{3.28B} \right)^2\dfrac{1}
18
- {c_w f_d}\left(\dfrac{S}{25.4}\right), \ B \ \gt 1.2m
19
- $$
20
-
21
- $$
22
- f_d = 1 + 0.25 \cdot \frac{D_f}{B} \le 1.25
23
- $$
24
-
25
- $$
26
- c_w = 2 - \frac{D_w}{2B} \le 2, D_w \gt D_f
27
- $$
28
-
29
- $$
30
- c_w = 2 - \frac{D_f}{2B} \le 2, D_w \le D_f
31
- $$
32
-
33
- - $q_a$ (kPa): Allowable bearing capacity
34
- - $N$: Corrected SPT N-value
35
- - $f_d$: Depth factor
36
- - $c_w$: Water correction factor
37
- - $S$ (mm): Tolerable settlement
38
- - $B$ (m): Width of foundation footing
39
- - $D_f$ (m): Depth of foundation footing
40
- - $D_w$ (m): Depth of water below ground level
11
+ See [implementation](../formulas/allowable-bearing-capacity.md/#terzaghi-bearing-capacity-for-pad-foundation)
12
+ for more details on bearing capacity equation used.
41
13
 
42
14
  """
43
15
 
@@ -110,33 +82,12 @@ class TerzaghiABC4PadFoundation(AllowableBearingCapacity):
110
82
 
111
83
 
112
84
  class TerzaghiABC4MatFoundation(TerzaghiABC4PadFoundation):
113
- r"""Allowable bearing capacity for mat foundation on cohesionless
85
+ """Allowable bearing capacity for mat foundation on cohesionless
114
86
  soils according to `Terzaghi & Peck (1948)`.
115
87
 
116
- $$
117
- q_a(kPa) = 8N\dfrac{1}{c_w f_d}\left(\dfrac{S}{25.4}\right)
118
- $$
119
-
120
- $$
121
- f_d = 1 + 0.25 \cdot \frac{D_f}{B} \le 1.25
122
- $$
123
-
124
- $$
125
- c_w = 2 - \frac{D_w}{2B} \le 2, D_w \gt D_f
126
- $$
127
-
128
- $$
129
- c_w = 2 - \frac{D_f}{2B} \le 2, D_w \le D_f
130
- $$
131
-
132
- - $q_a$ (kPa): Allowable bearing capacity
133
- - $N$: Corrected SPT N-value
134
- - $f_d$: Depth factor
135
- - $c_w$: Water correction factor
136
- - $S$ (mm): Tolerable settlement
137
- - $B$ (m): Width of foundation footing
138
- - $D_f$ (m): Depth of foundation footing
139
- - $D_w$ (m): Depth of water below ground level
88
+ See [implementation](../formulas/allowable-bearing-capacity.md/#terzaghi-bearing-capacity-for-mat-foundation)
89
+ for more details on bearing capacity equation used.
90
+
140
91
  """
141
92
 
142
93
  @round_(ndigits=2)
@@ -16,13 +16,13 @@ from ._terzaghi_ubc import (
16
16
  from ._vesic_ubc import VesicUltimateBearingCapacity
17
17
 
18
18
  __all__ = [
19
- "UBCType",
20
19
  "TerzaghiUBC4StripFooting",
21
20
  "TerzaghiUBC4CircularFooting",
22
21
  "TerzaghiUBC4RectangularFooting",
23
22
  "TerzaghiUBC4SquareFooting",
24
23
  "HansenUltimateBearingCapacity",
25
24
  "VesicUltimateBearingCapacity",
25
+ "UBCType",
26
26
  "create_ubc_4_all_soil_types",
27
27
  ]
28
28
 
@@ -46,18 +46,18 @@ class UBCType(AbstractStrEnum):
46
46
 
47
47
  @validate_func_args
48
48
  def create_ubc_4_all_soil_types(
49
- friction_angle: float,
50
- cohesion: float,
51
- moist_unit_wgt: float,
52
- depth: float,
53
- width: float,
54
- length: Optional[float] = None,
55
- eccentricity: float = 0.0,
56
- ground_water_level: Optional[float] = None,
57
- load_angle: float = 0.0,
58
- apply_local_shear: bool = False,
59
- shape: Shape | str = "square",
60
- ubc_type: Annotated[UBCType | str, MustBeMemberOf(UBCType)] = "hansen",
49
+ friction_angle: float,
50
+ cohesion: float,
51
+ moist_unit_wgt: float,
52
+ depth: float,
53
+ width: float,
54
+ length: Optional[float] = None,
55
+ eccentricity: float = 0.0,
56
+ ground_water_level: Optional[float] = None,
57
+ load_angle: float = 0.0,
58
+ apply_local_shear: bool = False,
59
+ shape: Shape | str = "square",
60
+ ubc_type: Annotated[UBCType | str, MustBeMemberOf(UBCType)] = "hansen",
61
61
  ) -> UltimateBearingCapacity:
62
62
  r"""A factory function that encapsulate the creation of ultimate
63
63
  bearing capacity.
@@ -101,8 +101,7 @@ def create_ubc_4_all_soil_types(
101
101
  shape=shape,
102
102
  )
103
103
 
104
- ubc_class = _get_ultimate_bearing_capacity(ubc_type,
105
- fnd_size.footing_shape)
104
+ ubc_class = _get_ultimate_bearing_capacity(ubc_type, fnd_size.footing_shape)
106
105
 
107
106
  return ubc_class(
108
107
  friction_angle=friction_angle,
@@ -21,22 +21,6 @@ class UltimateBearingCapacity(ABC):
21
21
  apply_local_shear: bool = False,
22
22
  ) -> None:
23
23
  r"""
24
-
25
- $$
26
- q_u = cN_c s_c d_c i_c + qN_q s_q d_q i_q
27
- + 0.5 \gamma B N_{\gamma} s_{\gamma} d_{\gamma} i_{\gamma}
28
- $$
29
-
30
- - $q_u$ (kPa): Ultimate bearing capacity
31
- - $c$ (kPa): Cohesion of soil
32
- - $q$ (kPa): Overburden pressure of soil
33
- - $\gamma$ (kN/m³): Unit weight of soil
34
- - $B$ (m): Width of foundation footing
35
- - $N_c$, $N_q$, $N_{\gamma}$: Bearing capacity factors
36
- - $s_c$, $s_q$, $s_{\gamma}$: Shape factors
37
- - $d_c$, $d_q$, $d_{\gamma}$: Depth factors
38
- - $i_c$, $i_q$, $i_{\gamma}$: Inclination factors
39
-
40
24
  :param friction_angle: Internal angle of friction for general
41
25
  shear failure (degrees).
42
26
  :param cohesion: Cohesion of soil ($kPa$).
@@ -196,6 +180,12 @@ class UltimateBearingCapacity(ABC):
196
180
  )
197
181
 
198
182
  def bearing_capacity_results(self) -> dict:
183
+ """Return a dictionary of bearing capacity results with
184
+ intermediate calculations.
185
+
186
+ !!! info "Added in v0.11.0"
187
+
188
+ """
199
189
  return {
200
190
  "bearing_capacity": self.bearing_capacity(),
201
191
  "n_c": self.n_c,
@@ -14,21 +14,22 @@ class HansenBearingCapacityFactors:
14
14
  if isclose(friction_angle, 0.0):
15
15
  return 5.14
16
16
  return cot(friction_angle) * (
17
- HansenBearingCapacityFactors.n_q(friction_angle) - 1.0
17
+ HansenBearingCapacityFactors.n_q(friction_angle) - 1.0
18
18
  )
19
19
 
20
20
  @staticmethod
21
21
  @round_(ndigits=2)
22
22
  def n_q(friction_angle: float) -> float:
23
- return tan(45.0 + friction_angle / 2.0) ** 2.0 * exp(pi * tan(friction_angle))
23
+ return tan(45.0 + friction_angle / 2.0) ** 2.0 * exp(
24
+ pi * tan(friction_angle))
24
25
 
25
26
  @staticmethod
26
27
  @round_(ndigits=2)
27
28
  def n_gamma(friction_angle: float) -> float:
28
29
  return (
29
- 1.8
30
- * (HansenBearingCapacityFactors.n_q(friction_angle) - 1.0)
31
- * tan(friction_angle)
30
+ 1.8
31
+ * (HansenBearingCapacityFactors.n_q(friction_angle) - 1.0)
32
+ * tan(friction_angle)
32
33
  )
33
34
 
34
35
 
@@ -90,10 +91,10 @@ class HansenInclinationFactors:
90
91
  @staticmethod
91
92
  @round_(ndigits=2)
92
93
  def i_c(
93
- cohesion: float,
94
- load_angle: float,
95
- f_width: float,
96
- f_length: float,
94
+ cohesion: float,
95
+ load_angle: float,
96
+ f_width: float,
97
+ f_length: float,
97
98
  ) -> float:
98
99
  return 1.0 - sin(load_angle) / (2.0 * cohesion * f_width * f_length)
99
100
 
@@ -109,142 +110,68 @@ class HansenInclinationFactors:
109
110
 
110
111
 
111
112
  class HansenUltimateBearingCapacity(UltimateBearingCapacity):
112
- r"""Ultimate bearing capacity for soils according to `Hansen (1961)`."""
113
+ r"""Ultimate bearing capacity for soils according to `Hansen (1961)`.
114
+
115
+ See [implementation](../formulas/ultimate-bearing-capacity.md/#hansen-bearing-capacity)
116
+ for more details on bearing capacity equation used.
117
+
118
+ """
113
119
 
114
120
  @property
115
121
  def n_c(self) -> float:
116
- r"""Bearing capacity factor $N_c$.
117
-
118
- $$
119
- N_c = \cot(\phi) \left(N_q - 1\right)
120
- $$
121
- """
122
+ r"""Bearing capacity factor $N_c$."""
122
123
  return HansenBearingCapacityFactors.n_c(self.friction_angle)
123
124
 
124
125
  @property
125
126
  def n_q(self) -> float:
126
- r"""Bearing capacity factor $N_q$.
127
-
128
- $$
129
- N_q = \tan^2\left(45 + \frac{\phi}{2}\right) \cdot e^{\pi \tan(\phi)}
130
- $$
131
- """
127
+ r"""Bearing capacity factor $N_q$."""
132
128
  return HansenBearingCapacityFactors.n_q(self.friction_angle)
133
129
 
134
130
  @property
135
131
  def n_gamma(self) -> float:
136
- r"""Bearing capacity factor $N_{\gamma}$.
137
-
138
- $$
139
- N_{\gamma} = 1.8 \left(N_q - 1\right) \tan(\phi)
140
- $$
141
- """
132
+ r"""Bearing capacity factor $N_{\gamma}$."""
142
133
  return HansenBearingCapacityFactors.n_gamma(self.friction_angle)
143
134
 
144
135
  @property
145
136
  def s_c(self) -> float:
146
- r"""Shape factor $S_c$.
147
-
148
- $$
149
- s_c = 1.0 \rightarrow \text{Strip footing}
150
- $$
151
-
152
- $$
153
- s_c = 1.0 + 0.2 \frac{B}{L} \rightarrow \text{Rectangular footing}
154
- $$
155
-
156
- $$
157
- s_c = 1.3 \rightarrow \text{Square or circular footing}
158
- $$
159
- """
137
+ r"""Shape factor $S_c$."""
160
138
  width, length, shape = self.foundation_size.footing_params()
161
139
  return HansenShapeFactors.s_c(width, length, shape)
162
140
 
163
141
  @property
164
142
  def s_q(self) -> float:
165
- r"""Shape factor $S_q$.
166
-
167
- $$
168
- s_q = 1.0 \rightarrow \text{Strip footing}
169
- $$
170
-
171
- $$
172
- s_q = 1.0 + 0.2 \cdot \frac{B}{L} \rightarrow \text{Rectangular footing}
173
- $$
174
-
175
- $$
176
- s_q = 1.2 \rightarrow \text{Square or circular footing}
177
- $$
178
- """
143
+ r"""Shape factor $S_q$."""
179
144
  width, length, shape = self.foundation_size.footing_params()
180
145
  return HansenShapeFactors.s_q(width, length, shape)
181
146
 
182
147
  @property
183
148
  def s_gamma(self) -> float:
184
- r"""Shape factor $S_{\gamma}$.
185
-
186
- $$
187
- s_{\gamma} = 1.0 \rightarrow \text{Strip footing}
188
- $$
189
-
190
- $$
191
- s_{\gamma} = 1.0 - 0.4 \frac{B}{L} \rightarrow
192
- \text{Rectangular footing}
193
- $$
194
-
195
- $$
196
- s_{\gamma} = 0.8 \rightarrow \text{Square footing}
197
- $$
198
-
199
- $$
200
- s_{\gamma} = 0.6 \rightarrow \text{Circular footing}
201
- $$
202
- """
149
+ r"""Shape factor $S_{\gamma}$."""
203
150
  width, length, shape = self.foundation_size.footing_params()
204
151
  return HansenShapeFactors.s_gamma(width, length, shape)
205
152
 
206
153
  @property
207
154
  def d_c(self) -> float:
208
- r"""Depth factor $D_c$.
209
-
210
- $$
211
- d_c = 1.0 + 0.35 \cdot \frac{D_f}{B}
212
- $$
213
- """
155
+ r"""Depth factor $D_c$."""
214
156
  depth = self.foundation_size.depth
215
157
  width = self.foundation_size.width
216
158
  return HansenDepthFactors.d_c(depth, width)
217
159
 
218
160
  @property
219
161
  def d_q(self) -> float:
220
- r"""Depth factor $D_q$.
221
-
222
- $$
223
- d_q = 1.0 + 0.35 \cdot \frac{D_f}{B}
224
- $$
225
- """
162
+ r"""Depth factor $D_q$."""
226
163
  depth = self.foundation_size.depth
227
164
  width = self.foundation_size.width
228
165
  return HansenDepthFactors.d_q(depth, width)
229
166
 
230
167
  @property
231
168
  def d_gamma(self) -> float:
232
- r"""Depth factor $D_{\gamma}$.
233
-
234
- $$
235
- d_{\gamma} = 1.0
236
- $$
237
- """
169
+ r"""Depth factor $D_{\gamma}$."""
238
170
  return HansenDepthFactors.d_gamma()
239
171
 
240
172
  @property
241
173
  def i_c(self) -> float:
242
- r"""Inclination factor $I_c$.
243
-
244
- $$
245
- I_c = 1 - \frac{\sin(\alpha)}{2cBL}
246
- $$
247
- """
174
+ r"""Inclination factor $I_c$."""
248
175
  width, length = self.foundation_size.width, self.foundation_size.length
249
176
  return HansenInclinationFactors.i_c(
250
177
  self.cohesion, self.load_angle, width, length
@@ -252,20 +179,10 @@ class HansenUltimateBearingCapacity(UltimateBearingCapacity):
252
179
 
253
180
  @property
254
181
  def i_q(self) -> float:
255
- r"""Inclination factor $I_q$.
256
-
257
- $$
258
- I_q = 1 - \frac{1.5 \sin(\alpha)}{\cos(\alpha)}
259
- $$
260
- """
182
+ r"""Inclination factor $I_q$."""
261
183
  return HansenInclinationFactors.i_q(self.load_angle)
262
184
 
263
185
  @property
264
186
  def i_gamma(self) -> float:
265
- r"""Inclination factor $I_{\gamma}$.
266
-
267
- $$
268
- I_{\gamma} = I_q^2
269
- $$
270
- """
187
+ r"""Inclination factor $I_{\gamma}$."""
271
188
  return HansenInclinationFactors.i_gamma(self.load_angle)
@@ -52,16 +52,6 @@ class TerzaghiUltimateBearingCapacity(UltimateBearingCapacity, ABC):
52
52
  apply_local_shear: bool = False,
53
53
  ) -> None:
54
54
  r"""
55
-
56
- - $q_u$ (kPa): Ultimate bearing capacity
57
- - $c$ (kPa): Cohesion of soil
58
- - $q$ (kPa): Overburden pressure of soil
59
- - $\gamma$ (kN/m³): Unit weight of soil
60
- - $B$ (m): Width of foundation footing
61
- - $L$ (m): Length of foundation footing
62
- - $N_c$, $N_q$, $N_{\gamma}$: Bearing capacity factors
63
-
64
-
65
55
  :param friction_angle: Internal angle of friction for general
66
56
  shear failure (degrees).
67
57
  :param cohesion: Cohesion of soil ($kPa$).
@@ -81,37 +71,26 @@ class TerzaghiUltimateBearingCapacity(UltimateBearingCapacity, ABC):
81
71
 
82
72
  @property
83
73
  def n_c(self) -> float:
84
- r"""Bearing capacity factor $N_c$.
85
-
86
- $$N_c = \cot(\phi) \cdot (N_q - 1)$$
87
- """
74
+ r"""Bearing capacity factor $N_c$."""
88
75
  return TerzaghiBearingCapacityFactors.n_c(self.friction_angle)
89
76
 
90
77
  @property
91
78
  def n_q(self) -> float:
92
- r"""Bearing capacity factor $N_q$.
93
-
94
- $$
95
- N_q = \dfrac{e^{(\frac{3\pi}{2} - \phi)\tan\phi}}
96
- {2\cos^2(45 + \frac{\phi}{2})}
97
- $$
98
- """
79
+ r"""Bearing capacity factor $N_q$."""
99
80
  return TerzaghiBearingCapacityFactors.n_q(self.friction_angle)
100
81
 
101
82
  @property
102
83
  def n_gamma(self) -> float:
103
- r"""Bearing capacity factor $N_{\gamma}$.
104
-
105
- $$N_{\gamma} = (N_q - 1) \cdot \tan(1.4\phi)$$
106
- """
84
+ r"""Bearing capacity factor $N_{\gamma}$."""
107
85
  return TerzaghiBearingCapacityFactors.n_gamma(self.friction_angle)
108
86
 
109
87
 
110
88
  class TerzaghiUBC4StripFooting(TerzaghiUltimateBearingCapacity):
111
- r"""Ultimate bearing capacity for strip footing according to
89
+ """Ultimate bearing capacity for strip footing according to
112
90
  `Terzaghi 1943`.
113
91
 
114
- $$q_u = cN_c + qN_q + 0.5 \gamma BN_{\gamma}$$
92
+ See [implementation](../formulas/ultimate-bearing-capacity.md/#terzaghi-bearing-capacity-for-strip-footing)
93
+ for more details on bearing capacity equation used.
115
94
  """
116
95
 
117
96
  @round_(ndigits=2)
@@ -125,10 +104,11 @@ class TerzaghiUBC4StripFooting(TerzaghiUltimateBearingCapacity):
125
104
 
126
105
 
127
106
  class TerzaghiUBC4CircularFooting(TerzaghiUltimateBearingCapacity):
128
- r"""Ultimate bearing capacity for circular footing according to
107
+ """Ultimate bearing capacity for circular footing according to
129
108
  `Terzaghi 1943`.
130
109
 
131
- $$q_u = 1.3cN_c + qN_q + 0.3 \gamma BN_{\gamma}$$
110
+ See [implementation](../formulas/ultimate-bearing-capacity.md/#terzaghi-bearing-capacity-for-circular-footing)
111
+ for more details on bearing capacity equation used.
132
112
  """
133
113
 
134
114
  @round_(ndigits=2)
@@ -145,10 +125,8 @@ class TerzaghiUBC4RectangularFooting(TerzaghiUltimateBearingCapacity):
145
125
  r"""Ultimate bearing capacity for rectangular footing according to
146
126
  `Terzaghi 1943`.
147
127
 
148
- $$
149
- q_u = \left(1 + 0.3 \dfrac{B}{L} \right) c N_c + qN_q
150
- + \left(1 - 0.2 \dfrac{B}{L} \right) 0.5 B \gamma N_{\gamma}
151
- $$
128
+ See [implementation](../formulas/ultimate-bearing-capacity.md/#terzaghi-bearing-capacity-for-rectangular-footing)
129
+ for more details on bearing capacity equation used.
152
130
  """
153
131
 
154
132
  @round_(ndigits=2)
@@ -167,10 +145,11 @@ class TerzaghiUBC4RectangularFooting(TerzaghiUltimateBearingCapacity):
167
145
 
168
146
 
169
147
  class TerzaghiUBC4SquareFooting(TerzaghiUBC4RectangularFooting):
170
- r"""Ultimate bearing capacity for square footing according to
148
+ """Ultimate bearing capacity for square footing according to
171
149
  `Terzaghi 1943``.
172
150
 
173
- $$q_u = 1.3cN_c + qN_q + 0.4 \gamma BN_{\gamma}$$
151
+ See [implementation](../formulas/ultimate-bearing-capacity.md/#terzaghi-bearing-capacity-for-square-footing)
152
+ for more details on bearing capacity equation used.
174
153
  """
175
154
 
176
155
  def bearing_capacity(self):
@@ -22,9 +22,9 @@ class VesicBearingCapacityFactors:
22
22
  @round_(ndigits=2)
23
23
  def n_gamma(friction_angle: float) -> float:
24
24
  return (
25
- 2.0
26
- * (VesicBearingCapacityFactors.n_q(friction_angle) + 1.0)
27
- * tan(friction_angle)
25
+ 2.0
26
+ * (VesicBearingCapacityFactors.n_q(friction_angle) + 1.0)
27
+ * tan(friction_angle)
28
28
  )
29
29
 
30
30
 
@@ -32,10 +32,10 @@ class VesicShapeFactors:
32
32
  @staticmethod
33
33
  @round_(ndigits=2)
34
34
  def s_c(
35
- friction_angle: float,
36
- f_width: float,
37
- f_length: float,
38
- f_shape: Shape,
35
+ friction_angle: float,
36
+ f_width: float,
37
+ f_length: float,
38
+ f_shape: Shape,
39
39
  ) -> float:
40
40
  _n_q = VesicBearingCapacityFactors.n_q(friction_angle)
41
41
  _n_c = VesicBearingCapacityFactors.n_c(friction_angle)
@@ -50,10 +50,10 @@ class VesicShapeFactors:
50
50
  @staticmethod
51
51
  @round_(ndigits=2)
52
52
  def s_q(
53
- friction_angle: float,
54
- f_width: float,
55
- f_length: float,
56
- f_shape: Shape,
53
+ friction_angle: float,
54
+ f_width: float,
55
+ f_length: float,
56
+ f_shape: Shape,
57
57
  ) -> float:
58
58
  if f_shape == Shape.STRIP:
59
59
  return 1.0
@@ -83,8 +83,9 @@ class VesicDepthFactors:
83
83
  @staticmethod
84
84
  @round_(ndigits=2)
85
85
  def d_q(friction_angle: float, f_depth: float, f_width: float) -> float:
86
- return 1.0 + 2.0 * tan(friction_angle) * (1.0 - sin(friction_angle)) ** 2.0 * (
87
- f_depth / f_width
86
+ return 1.0 + 2.0 * tan(friction_angle) * (
87
+ 1.0 - sin(friction_angle)) ** 2.0 * (
88
+ f_depth / f_width
88
89
  )
89
90
 
90
91
  @staticmethod
@@ -114,140 +115,74 @@ class VesicInclinationFactors:
114
115
 
115
116
 
116
117
  class VesicUltimateBearingCapacity(UltimateBearingCapacity):
117
- """Ultimate bearing capacity for soils according to `Vesic (1973)`."""
118
+ """Ultimate bearing capacity for soils according to `Vesic (1973)`.
119
+
120
+ See [implementation](../formulas/ultimate-bearing-capacity.md/#vesic-bearing-capacity)
121
+ for more details on bearing capacity equation used.
122
+ """
118
123
 
119
124
  @property
120
125
  def n_c(self) -> float:
121
- r"""Bearing capacity factor $N_c$.
122
-
123
- $$N_c = \cot(\phi) \left(N_q - 1\right)$$
124
- """
126
+ r"""Bearing capacity factor $N_c$."""
125
127
  return VesicBearingCapacityFactors.n_c(self.friction_angle)
126
128
 
127
129
  @property
128
130
  def n_q(self) -> float:
129
- r"""Bearing capacity factor $N_q$.
130
-
131
- $$
132
- N_q = \tan^2\left(45 + \frac{\phi}{2}\right) \cdot
133
- e^{\pi \tan(\phi)}
134
- $$
135
- """
131
+ r"""Bearing capacity factor $N_q$."""
136
132
  return VesicBearingCapacityFactors.n_q(self.friction_angle)
137
133
 
138
134
  @property
139
135
  def n_gamma(self) -> float:
140
- r"""Bearing capacity factor $N_{\gamma}$.
141
-
142
- $$N_{\gamma} = 2(N_q + 1) \tan(\phi)$$
143
- """
136
+ r"""Bearing capacity factor $N_{\gamma}$."""
144
137
  return VesicBearingCapacityFactors.n_gamma(self.friction_angle)
145
138
 
146
139
  @property
147
140
  def s_c(self) -> float:
148
- r"""Shape factor $S_c$.
149
-
150
- $$s_c = 1.0 \rightarrow \text{Strip footing}$$
151
-
152
- $$
153
- s_c = 1 + \dfrac{B}{L} \cdot \dfrac{N_q}{N_c} \rightarrow
154
- \text{Rectangular footing}
155
- $$
156
-
157
- $$
158
- s_c &= 1 + \dfrac{N_q}{N_c} \rightarrow
159
- \text{Square or circular footing}
160
- $$
161
- """
141
+ r"""Shape factor $S_c$."""
162
142
  width, length, shape = self.foundation_size.footing_params()
163
143
  return VesicShapeFactors.s_c(self.friction_angle, width, length, shape)
164
144
 
165
145
  @property
166
146
  def s_q(self) -> float:
167
- r"""Shape factor $S_q$.
168
-
169
-
170
- $$s_q = 1.0 \rightarrow \text{Strip footing}$$
171
-
172
- $$
173
- s_q = 1 + \dfrac{B}{L} \cdot \tan(\phi) \rightarrow
174
- \text{Rectangular footing}
175
- $$
176
-
177
- $$
178
- s_q = 1 + \tan(\phi) \rightarrow \text{Square or circular footing}
179
- $$
180
- """
147
+ r"""Shape factor $S_q$."""
181
148
  width, length, shape = self.foundation_size.footing_params()
182
149
  return VesicShapeFactors.s_q(self.friction_angle, width, length, shape)
183
150
 
184
151
  @property
185
152
  def s_gamma(self) -> float:
186
- r"""Shape factor $S_{\gamma}$.
187
-
188
- $$s_{\gamma} = 1.0 \rightarrow \text{Strip footing}$$
189
-
190
- $$
191
- s_{\gamma} = 1.0 - 0.4 \dfrac{B}{L} \rightarrow
192
- \text{Rectangular footing}
193
- $$
194
-
195
- $$
196
- s_{\gamma} = 0.6 \rightarrow \text{Square or circular footing}
197
- $$
198
- """
153
+ r"""Shape factor $S_{\gamma}$."""
199
154
  width, length, shape = self.foundation_size.footing_params()
200
155
  return VesicShapeFactors.s_gamma(width, length, shape)
201
156
 
202
157
  @property
203
158
  def d_c(self) -> float:
204
- r"""Depth factor $D_c$.
205
-
206
- $$d_c = 1 + 0.4 \dfrac{D_f}{B}$$
207
- """
159
+ r"""Depth factor $D_c$."""
208
160
  depth, width = self.foundation_size.depth, self.foundation_size.width
209
161
  return VesicDepthFactors.d_c(depth, width)
210
162
 
211
163
  @property
212
164
  def d_q(self) -> float:
213
- r"""Depth factor $D_q$.
214
-
215
- $$
216
- d_q = 1 + 2 \tan(\phi) \cdot (1 - \sin(\phi))^2
217
- \cdot \dfrac{D_f}{B}
218
- $$
219
- """
165
+ r"""Depth factor $D_q$."""
220
166
  depth, width = self.foundation_size.depth, self.foundation_size.width
221
167
  return VesicDepthFactors.d_q(self.friction_angle, depth, width)
222
168
 
223
169
  @property
224
170
  def d_gamma(self) -> float:
225
- r"""Depth factor $D_{\gamma}$.
226
-
227
- $$d_{\gamma} = 1.0$$
228
- """
171
+ r"""Depth factor $D_{\gamma}$."""
229
172
  return VesicDepthFactors.d_gamma()
230
173
 
231
174
  @property
232
175
  def i_c(self) -> float:
233
- r"""Inclination factor $I_c$.
234
-
235
- $$i_c = (1 - \dfrac{\alpha}{90})^2$$
236
- """
176
+ r"""Inclination factor $I_c$."""
237
177
  return VesicInclinationFactors.i_c(self.load_angle)
238
178
 
239
179
  @property
240
180
  def i_q(self) -> float:
241
- r"""Inclination factor $I_q$.
242
-
243
- $$i_q = (1 - \dfrac{\alpha}{90})^2$$
244
- """
181
+ r"""Inclination factor $I_q$."""
245
182
  return VesicInclinationFactors.i_q(self.load_angle)
246
183
 
247
184
  @property
248
185
  def i_gamma(self) -> float:
249
- r"""Inclination factor $I_{\gamma}$.
250
-
251
- $$i_{\gamma} = \left(1 - \dfrac{\alpha}{\phi} \right)^2$$
252
- """
253
- return VesicInclinationFactors.i_gamma(self.friction_angle, self.load_angle)
186
+ r"""Inclination factor $I_{\gamma}$."""
187
+ return VesicInclinationFactors.i_gamma(self.friction_angle,
188
+ self.load_angle)
@@ -35,8 +35,7 @@ class _Clf(tuple, enum.Enum):
35
35
 
36
36
 
37
37
  class USCSSymbol(_Clf):
38
- """
39
- Unified Soil Classification System (USCS) symbols and descriptions.
38
+ """Unified Soil Classification System (USCS) symbols and descriptions.
40
39
 
41
40
  Each member represents a USCS soil type, grading, or plasticity symbol.
42
41
  Aliases are provided where applicable.
geolysis/spt.py CHANGED
@@ -413,22 +413,11 @@ class OPC:
413
413
 
414
414
  @round_(ndigits=1)
415
415
  def corrected_spt_n_value(self) -> float:
416
- r"""Corrected SPT N-value.
417
-
418
- $$
419
- (N_1)_{60} = C_N \cdot N_{60}
420
- $$
421
-
422
- !!! note
423
-
424
- `60` is used in this case to represent `60%` hammer
425
- efficiency and can be any percentage of hammer efficiency
426
- e.g. $N_{55}$ for `55%` hammer efficiency.
427
- """
428
- corrected_spt = self.correction() * self.std_spt_n_value
416
+ r"""Corrected SPT N-value."""
429
417
  # Corrected SPT should not be more
430
418
  # than 2 times the Standardized SPT
431
- return min(corrected_spt, 2 * self.std_spt_n_value)
419
+ correction = min(self.correction(), 2.0)
420
+ return correction * self.std_spt_n_value
432
421
 
433
422
  @abstractmethod
434
423
  def correction(self) -> float:
@@ -452,17 +441,7 @@ class GibbsHoltzOPC(OPC):
452
441
  self._eop = val
453
442
 
454
443
  def correction(self) -> float:
455
- r"""SPT Correction.
456
-
457
- $$
458
- C_N = \dfrac{350}{\sigma_o + 70} \, \sigma_o \le 280kN/m^2
459
- $$
460
-
461
- $\frac{N_c}{N_{60}}$ should lie between 0.45 and 2.0, if
462
- $\frac{N_c}{N_{60}}$ is greater than 2.0, :math:`N_c` should be
463
- divided by 2.0 to obtain the design value used in finding the
464
- bearing capacity of the soil.
465
- """
444
+ r"""SPT Correction."""
466
445
  corr = 350.0 / (self.eop + 70.0)
467
446
  return corr / 2.0 if corr > 2.0 else corr
468
447
 
@@ -476,22 +455,7 @@ class BazaraaPeckOPC(OPC):
476
455
  STD_PRESSURE: Final = 71.8
477
456
 
478
457
  def correction(self) -> float:
479
- r"""SPT Correction.
480
-
481
- $$
482
- C_N = \dfrac{4}{1 + 0.0418 \cdot \sigma_o}, \,
483
- \sigma_o \lt 71.8kN/m^2
484
- $$
485
-
486
- $$
487
- C_N = \dfrac{4}{3.25 + 0.0104 \cdot \sigma_o},
488
- \, \sigma_o \gt 71.8kN/m^2
489
- $$
490
-
491
- $$
492
- C_N = 1 \, , \, \sigma_o = 71.8kN/m^2
493
- $$
494
- """
458
+ r"""SPT Correction."""
495
459
  if isclose(self.eop, self.STD_PRESSURE, rel_tol=0.01):
496
460
  corr = 1.0
497
461
  elif self.eop < self.STD_PRESSURE:
@@ -517,12 +481,7 @@ class PeckOPC(OPC):
517
481
  self._eop = val
518
482
 
519
483
  def correction(self) -> float:
520
- r"""SPT Correction.
521
-
522
- $$
523
- C_N = 0.77 \log \left(\dfrac{2000}{\sigma_o} \right)
524
- $$
525
- """
484
+ r"""SPT Correction."""
526
485
  return 0.77 * log10(2000.0 / self.eop)
527
486
 
528
487
 
@@ -532,12 +491,7 @@ class LiaoWhitmanOPC(OPC):
532
491
  """
533
492
 
534
493
  def correction(self) -> float:
535
- r"""SPT Correction.
536
-
537
- $$
538
- C_N = \sqrt{\dfrac{100}{\sigma_o}}
539
- $$
540
- """
494
+ r"""SPT Correction."""
541
495
  return sqrt(100.0 / self.eop)
542
496
 
543
497
 
@@ -545,12 +499,7 @@ class SkemptonOPC(OPC):
545
499
  """Overburden Pressure Correction according to `Skempton (1986)`."""
546
500
 
547
501
  def correction(self) -> float:
548
- r"""SPT Correction.
549
-
550
- $$
551
- C_N = \dfrac{2}{1 + 0.01044 \cdot \sigma_o}
552
- $$
553
- """
502
+ r"""SPT Correction."""
554
503
  return 2.0 / (1.0 + 0.01044 * self.eop)
555
504
 
556
505
 
@@ -587,25 +536,14 @@ class DilatancyCorrection:
587
536
 
588
537
  @round_(ndigits=1)
589
538
  def corrected_spt_n_value(self) -> float:
590
- r"""Corrected SPT N-value.
591
-
592
- $$
593
- (N_1)_{60} = 15 + \dfrac{1}{2}((N_1)_{60} - 15) \, , \,
594
- (N_1)_{60} \gt 15
595
- $$
596
-
597
- $$
598
- (N_1)_{60} = (N_1)_{60} \, , \, (N_1)_{60} \le 15
599
- $$
600
- """
539
+ r"""Corrected SPT N-value."""
601
540
  if self.corr_spt_n_value <= 15.0:
602
541
  return self.corr_spt_n_value
603
542
  return 15.0 + 0.5 * (self.corr_spt_n_value - 15.0)
604
543
 
605
544
 
606
545
  class OPCType(AbstractStrEnum):
607
- """
608
- Enumeration of overburden pressure correction (OPC) methods.
546
+ """Enumeration of overburden pressure correction (OPC) methods.
609
547
 
610
548
  Each member represents a method used to correct SPT results
611
549
  for the effects of overburden pressure in geotechnical design.
@@ -647,9 +585,7 @@ def create_overburden_pressure_correction(
647
585
 
648
586
  :param std_spt_n_value: SPT N-value standardized for field
649
587
  procedures.
650
-
651
588
  :param eop: Effective overburden pressure ($kPa$).
652
-
653
589
  :param opc_type: Overburden Pressure Correction type to apply.
654
590
  """
655
591
  opc_type = OPCType(opc_type)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: geolysis
3
- Version: 0.10.3
3
+ Version: 0.11.0
4
4
  Summary: geolysis is an opensource software for geotechnical engineering analysis and modeling.
5
5
  Author-email: Patrick Boateng <boatengpato.pb@gmail.com>
6
6
  License: MIT License
@@ -0,0 +1,22 @@
1
+ geolysis/__init__.py,sha256=ZeA59xkCLwiAA8wj2WyZEBkQlW1_JDu8nNCjTzJq96I,161
2
+ geolysis/foundation.py,sha256=khmZCa8V-UEqp7A4WlIwt8Oy5tVQdT0UsaLMuxEbDQU,12819
3
+ geolysis/soil_classifier.py,sha256=Rv1LiJID4DalpZPT0s0ulOkwR_1aZh2px8k8xpG6w-4,27437
4
+ geolysis/spt.py,sha256=GfFf4j2AilqQCrAOeJJBmk0vXcOCJ8XorUilsC1X13Y,17179
5
+ geolysis/utils.py,sha256=UnfRaz0MXxBxipcyezYMsxl5LuUTPl_kTztNQ94B8gA,2461
6
+ geolysis/bearing_capacity/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
+ geolysis/bearing_capacity/abc/__init__.py,sha256=nycD68gdA116n2VX5fT_hq7ZZz3CF4OVuU3DIgnlnZw,518
8
+ geolysis/bearing_capacity/abc/_cohl/__init__.py,sha256=M1EBn2WMgtG-Dg-LT7N-OVke6upwL6plqyPCn3ebR0M,4110
9
+ geolysis/bearing_capacity/abc/_cohl/_core.py,sha256=1YeOe2YYUr6UHdaOjNQoy_PcZo8VTdouz-j2kpdEVqU,2094
10
+ geolysis/bearing_capacity/abc/_cohl/bowles_abc.py,sha256=70SCvyxKVtjE-gPO5YxnQ_098mkBBUjjQ3F_BQZYGVY,2448
11
+ geolysis/bearing_capacity/abc/_cohl/meyerhof_abc.py,sha256=mIvqXoMLJ9z7JDEUQYPV1n2Ssn0z6CYL8qFNU2PcKqk,2411
12
+ geolysis/bearing_capacity/abc/_cohl/terzaghi_abc.py,sha256=P6pCmDK-a2ZFL06dTkVUJ2jlE4CGEvgVAk5nToCZqy0,3270
13
+ geolysis/bearing_capacity/ubc/__init__.py,sha256=yaFFsmOb4q88-nfzilOcgYmb1_x2D2Tg2Po3XTKc52g,4483
14
+ geolysis/bearing_capacity/ubc/_core.py,sha256=oXt11GeMRbsRVMC0zNpIQDspb0W4RYKRxOm5K35Po_E,6114
15
+ geolysis/bearing_capacity/ubc/_hansen_ubc.py,sha256=_VmTUD3hlAylNnLWQW0wwhEEz17EM1WPGtfb9LtnrBk,5559
16
+ geolysis/bearing_capacity/ubc/_terzaghi_ubc.py,sha256=Vo1GXBTJWxfE3QZ1u6hMfw1P3VkHGKxlEdvLBr8h-7A,5272
17
+ geolysis/bearing_capacity/ubc/_vesic_ubc.py,sha256=ThyPHXRGbLHyhThMkUUp5ABknYj0K_xkwNiML_Ua0sM,5752
18
+ geolysis-0.11.0.dist-info/licenses/LICENSE.txt,sha256=ap6sMs3lT7ICbEXBhgihwH1BTCVcjmCQkIkwVnil1Ak,1065
19
+ geolysis-0.11.0.dist-info/METADATA,sha256=_03ifJZXSKZAdjP3HoazS_yqhYfueYBmlNRFKLkp7DI,6814
20
+ geolysis-0.11.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
21
+ geolysis-0.11.0.dist-info/top_level.txt,sha256=9mnQgOaCRr11dtXff8X-q3FfXjRONd6kHseSy5q2y8g,9
22
+ geolysis-0.11.0.dist-info/RECORD,,
@@ -1,22 +0,0 @@
1
- geolysis/__init__.py,sha256=5bIKjaVsOXYGZBsGc7vW_34hN_VEYPOV6XU_AD3cR2w,161
2
- geolysis/foundation.py,sha256=khmZCa8V-UEqp7A4WlIwt8Oy5tVQdT0UsaLMuxEbDQU,12819
3
- geolysis/soil_classifier.py,sha256=gPOl9Fr18r4aDtVBFK5KdWdsLIvpTLLMTt7YU49noSA,27442
4
- geolysis/spt.py,sha256=_AWfs5Ho5ScCwPlVDNh6cuhcLOR4-u7Dr7UoagRlDoM,18620
5
- geolysis/utils.py,sha256=UnfRaz0MXxBxipcyezYMsxl5LuUTPl_kTztNQ94B8gA,2461
6
- geolysis/bearing_capacity/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- geolysis/bearing_capacity/abc/__init__.py,sha256=QCSni6_QI059y3JF5UU9Gd_wAyVLmVEMR7ajq_EZQRg,518
8
- geolysis/bearing_capacity/abc/_cohl/__init__.py,sha256=M1EBn2WMgtG-Dg-LT7N-OVke6upwL6plqyPCn3ebR0M,4110
9
- geolysis/bearing_capacity/abc/_cohl/_core.py,sha256=YhU6wDVaMOxMUGQ0QHKCeD0eHHTj3la_R3iBBF1-hl0,1932
10
- geolysis/bearing_capacity/abc/_cohl/bowles_abc.py,sha256=AC0OslIUZBxC5ClB0HNvLoVDwnt982l8OGPuxyE2uZ0,3153
11
- geolysis/bearing_capacity/abc/_cohl/meyerhof_abc.py,sha256=Zf4X6YVrPMH5Sgm0bORbWe4RgfO-jVJBdeRWl8jBRH8,3056
12
- geolysis/bearing_capacity/abc/_cohl/terzaghi_abc.py,sha256=za5Altz8uzIqY0RJML8FTCIIyRSyHN04j7y80zop6JA,4300
13
- geolysis/bearing_capacity/ubc/__init__.py,sha256=5EtGLFW0vwCfUGxQDKPQJ687C9AKRlbYEPYb2aY2AgA,4578
14
- geolysis/bearing_capacity/ubc/_core.py,sha256=GfE0ZzPqC5VJ8PakR5ZiFvsfSwuEYrEzuPOuVdLnz_Q,6570
15
- geolysis/bearing_capacity/ubc/_hansen_ubc.py,sha256=aVu40WFCtvstWNq3x65Klb9am4UfJq00MtfaJYIwifI,6995
16
- geolysis/bearing_capacity/ubc/_terzaghi_ubc.py,sha256=U9mt92glUuooXnd_NPOFDpEdG15bTdb_KPPXLu5zjPw,5503
17
- geolysis/bearing_capacity/ubc/_vesic_ubc.py,sha256=a8TvlJCZ4AMU_YEVE0DEXb_Eo75uVOtOLDg-mC3zYlc,7034
18
- geolysis-0.10.3.dist-info/licenses/LICENSE.txt,sha256=ap6sMs3lT7ICbEXBhgihwH1BTCVcjmCQkIkwVnil1Ak,1065
19
- geolysis-0.10.3.dist-info/METADATA,sha256=YwAjtFsVSnX73jsroehg9CdhG9foeHNvMZjZMC2uUtk,6814
20
- geolysis-0.10.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
21
- geolysis-0.10.3.dist-info/top_level.txt,sha256=9mnQgOaCRr11dtXff8X-q3FfXjRONd6kHseSy5q2y8g,9
22
- geolysis-0.10.3.dist-info/RECORD,,