geolysis 0.12.0__py3-none-any.whl → 0.14.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 +1 -1
- geolysis/bearing_capacity/abc/_cohl/__init__.py +31 -43
- geolysis/bearing_capacity/abc/_cohl/_core.py +15 -9
- geolysis/bearing_capacity/abc/_cohl/terzaghi_abc.py +5 -5
- geolysis/bearing_capacity/ubc/__init__.py +21 -31
- geolysis/bearing_capacity/ubc/_core.py +25 -20
- geolysis/bearing_capacity/ubc/_terzaghi_ubc.py +17 -13
- geolysis/bearing_capacity/ubc/_vesic_ubc.py +19 -4
- geolysis/foundation.py +69 -73
- geolysis/soil_classifier.py +31 -33
- geolysis/spt.py +62 -43
- geolysis/utils/__init__.py +2 -3
- geolysis/utils/math.py +3 -1
- {geolysis-0.12.0.dist-info → geolysis-0.14.0.dist-info}/METADATA +2 -2
- geolysis-0.14.0.dist-info/RECORD +22 -0
- geolysis/bearing_capacity/ubc/_hansen_ubc.py +0 -200
- geolysis-0.12.0.dist-info/RECORD +0 -23
- {geolysis-0.12.0.dist-info → geolysis-0.14.0.dist-info}/WHEEL +0 -0
- {geolysis-0.12.0.dist-info → geolysis-0.14.0.dist-info}/licenses/LICENSE.txt +0 -0
- {geolysis-0.12.0.dist-info → geolysis-0.14.0.dist-info}/top_level.txt +0 -0
geolysis/spt.py
CHANGED
@@ -3,7 +3,7 @@ from abc import abstractmethod
|
|
3
3
|
from typing import Annotated, Final, Sequence
|
4
4
|
|
5
5
|
from func_validator import (
|
6
|
-
|
6
|
+
validate_params,
|
7
7
|
MustBeBetween,
|
8
8
|
MustBePositive,
|
9
9
|
MustBeMemberOf,
|
@@ -80,7 +80,7 @@ class SPT:
|
|
80
80
|
return self._corrected_spt_n_values
|
81
81
|
|
82
82
|
@corrected_spt_n_values.setter
|
83
|
-
@
|
83
|
+
@validate_params
|
84
84
|
def corrected_spt_n_values(
|
85
85
|
self,
|
86
86
|
corrected_spt_n_values: Annotated[
|
@@ -96,9 +96,9 @@ class SPT:
|
|
96
96
|
return self._method
|
97
97
|
|
98
98
|
@method.setter
|
99
|
-
@
|
100
|
-
def method(self,
|
101
|
-
self._method =
|
99
|
+
@validate_params
|
100
|
+
def method(self, method: Annotated[str, MustBeMemberOf(SPTDesignMethod)]):
|
101
|
+
self._method = method
|
102
102
|
|
103
103
|
@staticmethod
|
104
104
|
def _avg_spt_n_design(vals) -> float:
|
@@ -111,15 +111,15 @@ class SPT:
|
|
111
111
|
@staticmethod
|
112
112
|
def _wgt_spt_n_design(vals):
|
113
113
|
|
114
|
-
|
115
|
-
|
114
|
+
total_wgted_spt = 0.0
|
115
|
+
total_wgt = 0.0
|
116
116
|
|
117
117
|
for i, corr_spt_n_val in enumerate(vals, start=1):
|
118
118
|
wgt = 1 / i**2
|
119
|
-
|
120
|
-
|
119
|
+
total_wgted_spt += wgt * corr_spt_n_val
|
120
|
+
total_wgt += wgt
|
121
121
|
|
122
|
-
return
|
122
|
+
return total_wgted_spt / total_wgt
|
123
123
|
|
124
124
|
@round_(ndigits=1)
|
125
125
|
def n_design(self):
|
@@ -252,11 +252,12 @@ class EnergyCorrection:
|
|
252
252
|
return self._recorded_spt_value
|
253
253
|
|
254
254
|
@recorded_spt_n_value.setter
|
255
|
-
@
|
255
|
+
@validate_params
|
256
256
|
def recorded_spt_n_value(
|
257
|
-
self,
|
257
|
+
self,
|
258
|
+
recorded_spt_n_value: Annotated[int, MustBeBetween(min_value=0, max_value=100)],
|
258
259
|
) -> None:
|
259
|
-
self._recorded_spt_value =
|
260
|
+
self._recorded_spt_value = recorded_spt_n_value
|
260
261
|
|
261
262
|
@property
|
262
263
|
def energy_percentage(self) -> float:
|
@@ -264,11 +265,14 @@ class EnergyCorrection:
|
|
264
265
|
return self._energy_percentage
|
265
266
|
|
266
267
|
@energy_percentage.setter
|
267
|
-
@
|
268
|
+
@validate_params
|
268
269
|
def energy_percentage(
|
269
|
-
self,
|
270
|
+
self,
|
271
|
+
energy_percentage: Annotated[
|
272
|
+
float, MustBeBetween(min_value=0.0, max_value=1.0)
|
273
|
+
],
|
270
274
|
) -> None:
|
271
|
-
self._energy_percentage =
|
275
|
+
self._energy_percentage = energy_percentage
|
272
276
|
|
273
277
|
@property
|
274
278
|
def borehole_diameter(self) -> float:
|
@@ -276,11 +280,14 @@ class EnergyCorrection:
|
|
276
280
|
return self._borehole_diameter
|
277
281
|
|
278
282
|
@borehole_diameter.setter
|
279
|
-
@
|
283
|
+
@validate_params
|
280
284
|
def borehole_diameter(
|
281
|
-
self,
|
285
|
+
self,
|
286
|
+
borehole_diameter: Annotated[
|
287
|
+
float, MustBeBetween(min_value=65.0, max_value=200.0)
|
288
|
+
],
|
282
289
|
) -> None:
|
283
|
-
self._borehole_diameter =
|
290
|
+
self._borehole_diameter = borehole_diameter
|
284
291
|
|
285
292
|
@property
|
286
293
|
def rod_length(self) -> float:
|
@@ -288,18 +295,19 @@ class EnergyCorrection:
|
|
288
295
|
return self._rod_length
|
289
296
|
|
290
297
|
@rod_length.setter
|
291
|
-
@
|
292
|
-
def rod_length(self,
|
293
|
-
self._rod_length =
|
298
|
+
@validate_params
|
299
|
+
def rod_length(self, rod_length: Annotated[float, MustBePositive]):
|
300
|
+
self._rod_length = rod_length
|
294
301
|
|
295
302
|
@property
|
296
303
|
def hammer_type(self) -> HammerType:
|
297
304
|
return self._hammer_type
|
298
305
|
|
299
306
|
@hammer_type.setter
|
300
|
-
@
|
307
|
+
@validate_params
|
301
308
|
def hammer_type(
|
302
|
-
self,
|
309
|
+
self,
|
310
|
+
hammer_type: Annotated[HammerType, MustBeMemberOf(HammerType)],
|
303
311
|
):
|
304
312
|
self._hammer_type = hammer_type
|
305
313
|
|
@@ -308,9 +316,11 @@ class EnergyCorrection:
|
|
308
316
|
return self._sampler_type
|
309
317
|
|
310
318
|
@sampler_type.setter
|
311
|
-
@
|
312
|
-
def sampler_type(
|
313
|
-
self
|
319
|
+
@validate_params
|
320
|
+
def sampler_type(
|
321
|
+
self, sampler_type: Annotated[SamplerType, MustBeMemberOf(SamplerType)]
|
322
|
+
):
|
323
|
+
self._sampler_type = sampler_type
|
314
324
|
|
315
325
|
@property
|
316
326
|
def hammer_efficiency(self) -> float:
|
@@ -388,10 +398,10 @@ class OPC:
|
|
388
398
|
return self._eop
|
389
399
|
|
390
400
|
@eop.setter
|
391
|
-
@
|
392
|
-
def eop(self,
|
401
|
+
@validate_params
|
402
|
+
def eop(self, eop: Annotated[float, MustBeNonNegative]):
|
393
403
|
"""Effective overburden pressure ($kPa$)."""
|
394
|
-
self._eop =
|
404
|
+
self._eop = eop
|
395
405
|
|
396
406
|
@property
|
397
407
|
def std_spt_n_value(self) -> float:
|
@@ -399,11 +409,14 @@ class OPC:
|
|
399
409
|
return self._std_spt_n_value
|
400
410
|
|
401
411
|
@std_spt_n_value.setter
|
402
|
-
@
|
412
|
+
@validate_params
|
403
413
|
def std_spt_n_value(
|
404
|
-
self,
|
414
|
+
self,
|
415
|
+
std_spt_n_value: Annotated[
|
416
|
+
float, MustBeBetween(min_value=0.0, max_value=100.0)
|
417
|
+
],
|
405
418
|
):
|
406
|
-
self._std_spt_n_value =
|
419
|
+
self._std_spt_n_value = std_spt_n_value
|
407
420
|
|
408
421
|
@round_(ndigits=1)
|
409
422
|
def corrected_spt_n_value(self) -> float:
|
@@ -429,9 +442,12 @@ class GibbsHoltzOPC(OPC):
|
|
429
442
|
return self._eop
|
430
443
|
|
431
444
|
@eop.setter
|
432
|
-
@
|
433
|
-
def eop(
|
434
|
-
self
|
445
|
+
@validate_params
|
446
|
+
def eop(
|
447
|
+
self,
|
448
|
+
eop: Annotated[float, MustBeBetween(min_value=0.0, max_value=280.0)],
|
449
|
+
):
|
450
|
+
self._eop = eop
|
435
451
|
|
436
452
|
def correction(self) -> float:
|
437
453
|
r"""SPT Correction."""
|
@@ -469,9 +485,9 @@ class PeckOPC(OPC):
|
|
469
485
|
return self._eop
|
470
486
|
|
471
487
|
@eop.setter
|
472
|
-
@
|
473
|
-
def eop(self,
|
474
|
-
self._eop =
|
488
|
+
@validate_params
|
489
|
+
def eop(self, eop: Annotated[float, MustBeGreaterThanOrEqual(24.0)]):
|
490
|
+
self._eop = eop
|
475
491
|
|
476
492
|
def correction(self) -> float:
|
477
493
|
r"""SPT Correction."""
|
@@ -520,11 +536,14 @@ class DilatancyCorrection:
|
|
520
536
|
return self._corr_spt_n_value
|
521
537
|
|
522
538
|
@corr_spt_n_value.setter
|
523
|
-
@
|
539
|
+
@validate_params
|
524
540
|
def corr_spt_n_value(
|
525
|
-
self,
|
541
|
+
self,
|
542
|
+
corr_spt_n_value: Annotated[
|
543
|
+
float, MustBeBetween(min_value=0.0, max_value=100.0)
|
544
|
+
],
|
526
545
|
):
|
527
|
-
self._corr_spt_n_value =
|
546
|
+
self._corr_spt_n_value = corr_spt_n_value
|
528
547
|
|
529
548
|
@round_(ndigits=1)
|
530
549
|
def corrected_spt_n_value(self) -> float:
|
@@ -566,7 +585,7 @@ _opctypes = {
|
|
566
585
|
}
|
567
586
|
|
568
587
|
|
569
|
-
@
|
588
|
+
@validate_params
|
570
589
|
def create_overburden_pressure_correction(
|
571
590
|
std_spt_n_value: float,
|
572
591
|
eop: float,
|
geolysis/utils/__init__.py
CHANGED
@@ -2,11 +2,10 @@ import enum
|
|
2
2
|
import functools
|
3
3
|
from typing import Callable
|
4
4
|
|
5
|
-
from func_validator import ValidationError
|
6
|
-
|
7
5
|
from .math import *
|
6
|
+
from . import math as m
|
8
7
|
|
9
|
-
__all__ = ["AbstractStrEnum", "ValidationError", "add_repr", "round_"]
|
8
|
+
__all__ = ["AbstractStrEnum", "ValidationError", "add_repr", "round_"] + m.__all__
|
10
9
|
|
11
10
|
|
12
11
|
class StrEnumMeta(enum.EnumMeta):
|
geolysis/utils/math.py
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import math
|
2
|
-
from math import exp, inf, isclose, log10, pi, sqrt, isinf, atan
|
2
|
+
from math import exp, inf, isclose, log10, pi, sqrt, isinf, atan, nan, isnan
|
3
3
|
from statistics import fmean as mean
|
4
4
|
|
5
5
|
__all__ = [
|
@@ -19,6 +19,8 @@ __all__ = [
|
|
19
19
|
"isclose",
|
20
20
|
"log10",
|
21
21
|
"sqrt",
|
22
|
+
"nan",
|
23
|
+
"isnan",
|
22
24
|
]
|
23
25
|
|
24
26
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: geolysis
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.14.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
|
@@ -161,7 +161,7 @@ These are the main components of the project structure
|
|
161
161
|
>>> clf = aashto_clf.classify()
|
162
162
|
>>> clf.symbol
|
163
163
|
'A-6(4)'
|
164
|
-
>>> clf.
|
164
|
+
>>> clf.symbol_no_group_idx
|
165
165
|
'A-6'
|
166
166
|
>>> clf.group_index
|
167
167
|
'4'
|
@@ -0,0 +1,22 @@
|
|
1
|
+
geolysis/__init__.py,sha256=u7SRxasVrRjd8qCkvv_mVg6utthAyYmLq-UHiLZ_aaY,161
|
2
|
+
geolysis/foundation.py,sha256=9o21R14Pm-HimSuQYqJXvbqQrWgS-z0XFjzjdyEIQ7Y,13319
|
3
|
+
geolysis/soil_classifier.py,sha256=TII5tlI6Z5sKvMFkyEqAAvH9KUdFTGcpTQH9pqF82EI,27674
|
4
|
+
geolysis/spt.py,sha256=7xa4KkzBjbtSFo0zoZleCCCyeE81w4d2eicjlFy3p28,17273
|
5
|
+
geolysis/bearing_capacity/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
6
|
+
geolysis/bearing_capacity/abc/__init__.py,sha256=nycD68gdA116n2VX5fT_hq7ZZz3CF4OVuU3DIgnlnZw,518
|
7
|
+
geolysis/bearing_capacity/abc/_cohl/__init__.py,sha256=eelKtboxHhzq1uBcaW5liUqSUUpiWoDeg5ufO2beRHY,3351
|
8
|
+
geolysis/bearing_capacity/abc/_cohl/_core.py,sha256=jFJAzFpd78QvzwMRSMr9HOwb8Hq62gxNCoJdznRqPMM,2834
|
9
|
+
geolysis/bearing_capacity/abc/_cohl/bowles_abc.py,sha256=frjZXiVGTR53gRjYNYfYMlx-q9TLltyPHbJFpN7XOiY,2414
|
10
|
+
geolysis/bearing_capacity/abc/_cohl/meyerhof_abc.py,sha256=vXDdtFwYzmD2vOXEQxSQb-jp1bPlB4blmcfNi1zAk78,2377
|
11
|
+
geolysis/bearing_capacity/abc/_cohl/terzaghi_abc.py,sha256=D8-t9fKCnA4y_cSXk2dCfXPrkeUdNizAf8CDhOCLL0Y,3297
|
12
|
+
geolysis/bearing_capacity/ubc/__init__.py,sha256=EVfydz9_UeLTYOKSioJESiv14mjecA2wQiNfqD4N6oQ,4233
|
13
|
+
geolysis/bearing_capacity/ubc/_core.py,sha256=WZUSzgC-RhPTR3t1ECh3A934SMRWeuPyytlNqwpE-0s,8126
|
14
|
+
geolysis/bearing_capacity/ubc/_terzaghi_ubc.py,sha256=3g1kyugpuNy4lvcG_uZBOd3PWIkVJ_-VJWZxkrqX-p4,4322
|
15
|
+
geolysis/bearing_capacity/ubc/_vesic_ubc.py,sha256=yZS1RH1NfHoYk9UNCKFSjjEOok-mLkStt2rg5X_zG7Y,6810
|
16
|
+
geolysis/utils/__init__.py,sha256=U52nDxgnjMB4sJ8kORZz2r6aPjh7N26J0QmTSwjoRAc,1787
|
17
|
+
geolysis/utils/math.py,sha256=Nqg6SFIy3peSC-n-rq0KjryOdWTqh9jCF2L_qvx5Yg8,1231
|
18
|
+
geolysis-0.14.0.dist-info/licenses/LICENSE.txt,sha256=ap6sMs3lT7ICbEXBhgihwH1BTCVcjmCQkIkwVnil1Ak,1065
|
19
|
+
geolysis-0.14.0.dist-info/METADATA,sha256=yXybAW2Yas7VrM3pKqwRAP0RyNAf0-Q4iaW-xY0dZKs,6833
|
20
|
+
geolysis-0.14.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
21
|
+
geolysis-0.14.0.dist-info/top_level.txt,sha256=9mnQgOaCRr11dtXff8X-q3FfXjRONd6kHseSy5q2y8g,9
|
22
|
+
geolysis-0.14.0.dist-info/RECORD,,
|
@@ -1,200 +0,0 @@
|
|
1
|
-
from geolysis.foundation import Shape
|
2
|
-
from geolysis.utils import (
|
3
|
-
cosdeg,
|
4
|
-
cotdeg,
|
5
|
-
exp,
|
6
|
-
isclose,
|
7
|
-
pi,
|
8
|
-
round_,
|
9
|
-
sindeg,
|
10
|
-
tandeg,
|
11
|
-
add_repr,
|
12
|
-
)
|
13
|
-
|
14
|
-
from ._core import UltimateBearingCapacity
|
15
|
-
|
16
|
-
__all__ = ["HansenUltimateBearingCapacity"]
|
17
|
-
|
18
|
-
|
19
|
-
class HansenBearingCapacityFactors:
|
20
|
-
|
21
|
-
@staticmethod
|
22
|
-
@round_(ndigits=2)
|
23
|
-
def n_c(friction_angle: float) -> float:
|
24
|
-
if isclose(friction_angle, 0.0):
|
25
|
-
return 5.14
|
26
|
-
return cotdeg(friction_angle) * (
|
27
|
-
HansenBearingCapacityFactors.n_q(friction_angle) - 1.0
|
28
|
-
)
|
29
|
-
|
30
|
-
@staticmethod
|
31
|
-
@round_(ndigits=2)
|
32
|
-
def n_q(friction_angle: float) -> float:
|
33
|
-
return tandeg(45.0 + friction_angle / 2.0) ** 2.0 * exp(
|
34
|
-
pi * tandeg(friction_angle)
|
35
|
-
)
|
36
|
-
|
37
|
-
@staticmethod
|
38
|
-
@round_(ndigits=2)
|
39
|
-
def n_gamma(friction_angle: float) -> float:
|
40
|
-
return (
|
41
|
-
1.8
|
42
|
-
* (HansenBearingCapacityFactors.n_q(friction_angle) - 1.0)
|
43
|
-
* tandeg(friction_angle)
|
44
|
-
)
|
45
|
-
|
46
|
-
|
47
|
-
class HansenShapeFactors:
|
48
|
-
|
49
|
-
@staticmethod
|
50
|
-
@round_(ndigits=2)
|
51
|
-
def s_c(f_width: float, f_length: float, f_shape: Shape) -> float:
|
52
|
-
if f_shape == Shape.STRIP:
|
53
|
-
return 1.0
|
54
|
-
elif f_shape == Shape.RECTANGLE:
|
55
|
-
return 1.0 + 0.2 * f_width / f_length
|
56
|
-
else: # SQUARE & CIRCLE
|
57
|
-
return 1.3
|
58
|
-
|
59
|
-
@staticmethod
|
60
|
-
@round_(ndigits=2)
|
61
|
-
def s_q(f_width: float, f_length: float, f_shape: Shape) -> float:
|
62
|
-
if f_shape == Shape.STRIP:
|
63
|
-
return 1.0
|
64
|
-
elif f_shape == Shape.RECTANGLE:
|
65
|
-
return 1.0 + 0.2 * f_width / f_length
|
66
|
-
else: # SQUARE & CIRCLE
|
67
|
-
return 1.2
|
68
|
-
|
69
|
-
@staticmethod
|
70
|
-
@round_(ndigits=2)
|
71
|
-
def s_gamma(f_width: float, f_length: float, f_shape: Shape) -> float:
|
72
|
-
if f_shape == Shape.STRIP:
|
73
|
-
return 1.0
|
74
|
-
elif f_shape == Shape.RECTANGLE:
|
75
|
-
return 1.0 - 0.4 * f_width / f_length
|
76
|
-
elif f_shape == Shape.SQUARE:
|
77
|
-
return 0.8
|
78
|
-
else: # CIRCLE
|
79
|
-
return 0.6
|
80
|
-
|
81
|
-
|
82
|
-
class HansenDepthFactors:
|
83
|
-
|
84
|
-
@staticmethod
|
85
|
-
@round_(ndigits=2)
|
86
|
-
def d_c(f_depth: float, f_width: float) -> float:
|
87
|
-
return 1.0 + 0.35 * f_depth / f_width
|
88
|
-
|
89
|
-
@staticmethod
|
90
|
-
@round_(ndigits=2)
|
91
|
-
def d_q(f_depth: float, f_width: float) -> float:
|
92
|
-
return HansenDepthFactors.d_c(f_depth, f_width)
|
93
|
-
|
94
|
-
@staticmethod
|
95
|
-
@round_(ndigits=2)
|
96
|
-
def d_gamma() -> float:
|
97
|
-
return 1.0
|
98
|
-
|
99
|
-
|
100
|
-
class HansenInclinationFactors:
|
101
|
-
|
102
|
-
@staticmethod
|
103
|
-
@round_(ndigits=2)
|
104
|
-
def i_c(
|
105
|
-
cohesion: float,
|
106
|
-
load_angle: float,
|
107
|
-
f_width: float,
|
108
|
-
f_length: float,
|
109
|
-
) -> float:
|
110
|
-
return 1.0 - sindeg(load_angle) / (2.0 * cohesion * f_width * f_length)
|
111
|
-
|
112
|
-
@staticmethod
|
113
|
-
@round_(ndigits=2)
|
114
|
-
def i_q(load_angle: float) -> float:
|
115
|
-
return 1.0 - (1.5 * sindeg(load_angle)) / cosdeg(load_angle)
|
116
|
-
|
117
|
-
@staticmethod
|
118
|
-
@round_(ndigits=2)
|
119
|
-
def i_gamma(load_angle: float) -> float:
|
120
|
-
return HansenInclinationFactors.i_q(load_angle) ** 2.0
|
121
|
-
|
122
|
-
|
123
|
-
@add_repr
|
124
|
-
class HansenUltimateBearingCapacity(UltimateBearingCapacity):
|
125
|
-
r"""Ultimate bearing capacity for soils according to `Hansen (1961)`.
|
126
|
-
|
127
|
-
See [implementation](../formulas/ultimate-bearing-capacity.md/#hansen-bearing-capacity)
|
128
|
-
for more details on bearing capacity equation used.
|
129
|
-
|
130
|
-
"""
|
131
|
-
|
132
|
-
@property
|
133
|
-
def n_c(self) -> float:
|
134
|
-
r"""Bearing capacity factor $N_c$."""
|
135
|
-
return HansenBearingCapacityFactors.n_c(self.friction_angle)
|
136
|
-
|
137
|
-
@property
|
138
|
-
def n_q(self) -> float:
|
139
|
-
r"""Bearing capacity factor $N_q$."""
|
140
|
-
return HansenBearingCapacityFactors.n_q(self.friction_angle)
|
141
|
-
|
142
|
-
@property
|
143
|
-
def n_gamma(self) -> float:
|
144
|
-
r"""Bearing capacity factor $N_{\gamma}$."""
|
145
|
-
return HansenBearingCapacityFactors.n_gamma(self.friction_angle)
|
146
|
-
|
147
|
-
@property
|
148
|
-
def s_c(self) -> float:
|
149
|
-
r"""Shape factor $S_c$."""
|
150
|
-
width, length, shape = self.foundation_size.footing_params()
|
151
|
-
return HansenShapeFactors.s_c(width, length, shape)
|
152
|
-
|
153
|
-
@property
|
154
|
-
def s_q(self) -> float:
|
155
|
-
r"""Shape factor $S_q$."""
|
156
|
-
width, length, shape = self.foundation_size.footing_params()
|
157
|
-
return HansenShapeFactors.s_q(width, length, shape)
|
158
|
-
|
159
|
-
@property
|
160
|
-
def s_gamma(self) -> float:
|
161
|
-
r"""Shape factor $S_{\gamma}$."""
|
162
|
-
width, length, shape = self.foundation_size.footing_params()
|
163
|
-
return HansenShapeFactors.s_gamma(width, length, shape)
|
164
|
-
|
165
|
-
@property
|
166
|
-
def d_c(self) -> float:
|
167
|
-
r"""Depth factor $D_c$."""
|
168
|
-
depth = self.foundation_size.depth
|
169
|
-
width = self.foundation_size.width
|
170
|
-
return HansenDepthFactors.d_c(depth, width)
|
171
|
-
|
172
|
-
@property
|
173
|
-
def d_q(self) -> float:
|
174
|
-
r"""Depth factor $D_q$."""
|
175
|
-
depth = self.foundation_size.depth
|
176
|
-
width = self.foundation_size.width
|
177
|
-
return HansenDepthFactors.d_q(depth, width)
|
178
|
-
|
179
|
-
@property
|
180
|
-
def d_gamma(self) -> float:
|
181
|
-
r"""Depth factor $D_{\gamma}$."""
|
182
|
-
return HansenDepthFactors.d_gamma()
|
183
|
-
|
184
|
-
@property
|
185
|
-
def i_c(self) -> float:
|
186
|
-
r"""Inclination factor $I_c$."""
|
187
|
-
width, length = self.foundation_size.width, self.foundation_size.length
|
188
|
-
return HansenInclinationFactors.i_c(
|
189
|
-
self.cohesion, self.load_angle, width, length
|
190
|
-
)
|
191
|
-
|
192
|
-
@property
|
193
|
-
def i_q(self) -> float:
|
194
|
-
r"""Inclination factor $I_q$."""
|
195
|
-
return HansenInclinationFactors.i_q(self.load_angle)
|
196
|
-
|
197
|
-
@property
|
198
|
-
def i_gamma(self) -> float:
|
199
|
-
r"""Inclination factor $I_{\gamma}$."""
|
200
|
-
return HansenInclinationFactors.i_gamma(self.load_angle)
|
geolysis-0.12.0.dist-info/RECORD
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
geolysis/__init__.py,sha256=YeQEtgF2PcR6s7EYEqNbirBHSK4wkpkD0tu2P_JKe-w,161
|
2
|
-
geolysis/foundation.py,sha256=F1PcVpwQLtdfuhF8qzsoTrDRBNd8G3dac3YVj0kUDNk,13677
|
3
|
-
geolysis/soil_classifier.py,sha256=kbvfOSm6gtde0jTxY70FB0cfgVCEHeChrZErWkjJMW8,27334
|
4
|
-
geolysis/spt.py,sha256=19FmnG3UNHbnJatZf3oZ2UazCb_a-knIvII67IonaIg,16940
|
5
|
-
geolysis/bearing_capacity/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
6
|
-
geolysis/bearing_capacity/abc/__init__.py,sha256=nycD68gdA116n2VX5fT_hq7ZZz3CF4OVuU3DIgnlnZw,518
|
7
|
-
geolysis/bearing_capacity/abc/_cohl/__init__.py,sha256=M1EBn2WMgtG-Dg-LT7N-OVke6upwL6plqyPCn3ebR0M,4110
|
8
|
-
geolysis/bearing_capacity/abc/_cohl/_core.py,sha256=QtedY1gUAM5U3pyndxmQl2hMVL1obAAEBwQX1tiEoo0,2591
|
9
|
-
geolysis/bearing_capacity/abc/_cohl/bowles_abc.py,sha256=frjZXiVGTR53gRjYNYfYMlx-q9TLltyPHbJFpN7XOiY,2414
|
10
|
-
geolysis/bearing_capacity/abc/_cohl/meyerhof_abc.py,sha256=vXDdtFwYzmD2vOXEQxSQb-jp1bPlB4blmcfNi1zAk78,2377
|
11
|
-
geolysis/bearing_capacity/abc/_cohl/terzaghi_abc.py,sha256=Juenai6DJtQraeNmwQcr9V3L_TQgds89cJNIaCBac58,3236
|
12
|
-
geolysis/bearing_capacity/ubc/__init__.py,sha256=6bZJ5pGgBIJkNOkrXE6ezkLXCu05mhrXiqIPFo6xW1o,4739
|
13
|
-
geolysis/bearing_capacity/ubc/_core.py,sha256=gY1a73_fIrPu0y9MxuoSTdvMk4BZ2bLkPPqgy5VaRwg,8016
|
14
|
-
geolysis/bearing_capacity/ubc/_hansen_ubc.py,sha256=IfH_dbHC0LGCyALw5qAuIaXxYEYloA0hlX6KIaXD46g,5630
|
15
|
-
geolysis/bearing_capacity/ubc/_terzaghi_ubc.py,sha256=GvSN0u_RTejl6oaQrlHj9y3dZVWn2Y89bNRZLpFjrBk,4223
|
16
|
-
geolysis/bearing_capacity/ubc/_vesic_ubc.py,sha256=z0F0t-AYTvcjkqrNKky7nMsRHsvLfPoMHrDptGpAoHM,6636
|
17
|
-
geolysis/utils/__init__.py,sha256=r2CoOK29ucbQ7GGsWJg-qDsXBgzAeGv8LastI29b5ys,1795
|
18
|
-
geolysis/utils/math.py,sha256=7_ipjdcQft3-8wTPNj-2wRq8Z7KEm_C2ymkraSrKuYw,1195
|
19
|
-
geolysis-0.12.0.dist-info/licenses/LICENSE.txt,sha256=ap6sMs3lT7ICbEXBhgihwH1BTCVcjmCQkIkwVnil1Ak,1065
|
20
|
-
geolysis-0.12.0.dist-info/METADATA,sha256=9waPtBu0xS4HDyhpe8VP7zBrsAZRhuif18k6MGTQKZw,6831
|
21
|
-
geolysis-0.12.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
22
|
-
geolysis-0.12.0.dist-info/top_level.txt,sha256=9mnQgOaCRr11dtXff8X-q3FfXjRONd6kHseSy5q2y8g,9
|
23
|
-
geolysis-0.12.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|