geolysis 0.11.0__py3-none-any.whl → 0.13.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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: geolysis
3
- Version: 0.11.0
3
+ Version: 0.13.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
@@ -57,7 +57,8 @@ The `geolysis` python package is among three other projects, `geolysis.excel`,
57
57
  `geolysis.gui`, and `geolysis.ai`. More details about these projects are
58
58
  provided [here](https://github.com/geolysis-dev).
59
59
 
60
- `geolysis` has only one project dependency which is [func-validator](https://github.com/patrickboateng/func-validator/)
60
+ `geolysis` has only one project dependency which
61
+ is [func-validator](https://github.com/patrickboateng/func-validator/)
61
62
  for validating `function` (and `method`) arguments.
62
63
 
63
64
  The rest of this **README** provides an overview of the `geolysis` python
@@ -83,58 +84,64 @@ $ pip install geolysis
83
84
 
84
85
  ## API Reference
85
86
 
86
- - [Python API](https://docs.geolysis.io/en/latest/reference/)
87
- - [geolysis.bearing_capacity.abc](https://docs.geolysis.io/en/latest/reference/allowable_bearing_capacity/) - _Allowable bearing capacity
87
+ - [Python API](https://docs.geolysis.io/en/latest/reference/)
88
+ - [geolysis.bearing_capacity.abc](https://docs.geolysis.io/en/latest/reference/allowable_bearing_capacity/) -
89
+ _Allowable bearing capacity
88
90
  estimation_
89
- - [geolysis.bearing_capacity.ubc](https://docs.geolysis.io/en/latest/reference/ultimate_bearing_capacity/) - _Ultimate bearing capacity
91
+ - [geolysis.bearing_capacity.ubc](https://docs.geolysis.io/en/latest/reference/ultimate_bearing_capacity/) -
92
+ _Ultimate bearing capacity
90
93
  estimation_
91
- - [geolysis.foundation](https://docs.geolysis.io/en/latest/reference/foundation/) - _Foundation Representation_
92
- - [geolysis.soil_classifier](https://docs.geolysis.io/en/latest/reference/soil_classifier/) - _Soil classification_
93
- - [geolysis.spt](https://docs.geolysis.io/en/latest/reference/spt/) - _Standard Penetration Test (SPT) Analysis_
94
- - [geolysis.utils](https://docs.geolysis.io/en/latest/reference/utils/) - _Utilities_
95
-
94
+ - [geolysis.foundation](https://docs.geolysis.io/en/latest/reference/foundation/) -
95
+ _Foundation Representation_
96
+ - [geolysis.soil_classifier](https://docs.geolysis.io/en/latest/reference/soil_classifier/) -
97
+ _Soil classification_
98
+ - [geolysis.spt](https://docs.geolysis.io/en/latest/reference/spt/) -
99
+ _Standard Penetration Test (SPT) Analysis_
100
+ - [geolysis.utils](https://docs.geolysis.io/en/latest/reference/utils/) -
101
+ _Utilities_
96
102
 
97
103
  ## Imports
98
104
 
99
- - **Bearing Capacity**
100
-
101
- - **Allowable Bearing Capacity (ABC)**
102
-
103
- ```python
104
- from geolysis.bearing_capacity.abc import create_abc_4_cohesionless_soils
105
- ```
106
-
107
- - **Ultimate Bearing Capacity (UBC)**
108
-
109
- ```python
110
- from geolysis.bearing_capacity.ubc import create_ubc_4_all_soil_types
111
- ```
112
-
113
- - **Foundation**
114
-
115
- ```python
116
- from geolysis.foundation import create_foundation
117
- ```
105
+ ### Bearing Capacity
106
+
107
+ - **Allowable Bearing Capacity (ABC)**
108
+
109
+ ```python
110
+ from geolysis.bearing_capacity.abc import create_abc_4_cohesionless_soils
111
+ ```
118
112
 
113
+ - **Ultimate Bearing Capacity (UBC)**
119
114
 
120
- - **Soil Classification**
121
-
122
115
  ```python
123
- from geolysis.soil_classifier import create_uscs_classifier
124
- from geolysis.soil_classifier import create_aashto_classifier
116
+ from geolysis.bearing_capacity.ubc import create_ubc_4_all_soil_types
125
117
  ```
126
-
127
- - **Standard Penetration Test (SPT) Analysis**
128
-
118
+
119
+ ### Foundation
120
+
121
+ ```python
122
+ from geolysis.foundation import create_foundation
123
+ ```
124
+
125
+ ### Soil Classification
126
+
127
+ ```python
128
+ from geolysis.soil_classifier import create_uscs_classifier
129
+ from geolysis.soil_classifier import create_aashto_classifier
130
+ ```
131
+
132
+ ### Standard Penetration Test (SPT) Analysis
133
+
129
134
  ```python
130
135
  from geolysis.spt import DilatancyCorrection
131
136
  from geolysis.spt import EnergyCorrection
132
137
  from geolysis.spt import SPT
133
138
  from geolysis.spt import create_overburden_pressure_correction
134
139
  ```
135
-
140
+
136
141
  ## Project Structure
137
142
 
143
+ These are the main components of the project structure
144
+
138
145
  .
139
146
  ├── .github # GitHub Actions
140
147
  ├── docs # Documentation files
@@ -154,7 +161,7 @@ $ pip install geolysis
154
161
  >>> clf = aashto_clf.classify()
155
162
  >>> clf.symbol
156
163
  'A-6(4)'
157
- >>> clf.symbol_no_grp_idx
164
+ >>> clf.symbol_no_group_idx
158
165
  'A-6'
159
166
  >>> clf.group_index
160
167
  '4'
@@ -171,7 +178,8 @@ Check out the full [documentation](https://docs.geolysis.io/en/latest/).
171
178
 
172
179
  ## Contributing
173
180
 
174
- Check out the [contribution guidelines](https://docs.geolysis.io/en/latest/dev_guide/)
181
+ Check out
182
+ the [contribution guidelines](https://docs.geolysis.io/en/latest/dev_guide/)
175
183
 
176
184
  ## License
177
185
 
@@ -0,0 +1,22 @@
1
+ geolysis/__init__.py,sha256=EyKIJ9MKUYf9yVr8OjAgDdXwk75Gt6ChVTRk4kSEsDU,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=_ig85iPMuBxIp1l6hF-ZLqgkE7P_BqsWL7PVAUos0LY,4276
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.13.0.dist-info/licenses/LICENSE.txt,sha256=ap6sMs3lT7ICbEXBhgihwH1BTCVcjmCQkIkwVnil1Ak,1065
19
+ geolysis-0.13.0.dist-info/METADATA,sha256=9tTw_CUBOxWz2t-k6-q42fLgIAMbVr4dkKemTGZiGFA,6833
20
+ geolysis-0.13.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
21
+ geolysis-0.13.0.dist-info/top_level.txt,sha256=9mnQgOaCRr11dtXff8X-q3FfXjRONd6kHseSy5q2y8g,9
22
+ geolysis-0.13.0.dist-info/RECORD,,
@@ -1,188 +0,0 @@
1
- from geolysis.foundation import Shape
2
- from geolysis.utils import cos, cot, exp, isclose, pi, round_, sin, tan
3
-
4
- from ._core import UltimateBearingCapacity
5
-
6
- __all__ = ["HansenUltimateBearingCapacity"]
7
-
8
-
9
- class HansenBearingCapacityFactors:
10
-
11
- @staticmethod
12
- @round_(ndigits=2)
13
- def n_c(friction_angle: float) -> float:
14
- if isclose(friction_angle, 0.0):
15
- return 5.14
16
- return cot(friction_angle) * (
17
- HansenBearingCapacityFactors.n_q(friction_angle) - 1.0
18
- )
19
-
20
- @staticmethod
21
- @round_(ndigits=2)
22
- def n_q(friction_angle: float) -> float:
23
- return tan(45.0 + friction_angle / 2.0) ** 2.0 * exp(
24
- pi * tan(friction_angle))
25
-
26
- @staticmethod
27
- @round_(ndigits=2)
28
- def n_gamma(friction_angle: float) -> float:
29
- return (
30
- 1.8
31
- * (HansenBearingCapacityFactors.n_q(friction_angle) - 1.0)
32
- * tan(friction_angle)
33
- )
34
-
35
-
36
- class HansenShapeFactors:
37
-
38
- @staticmethod
39
- @round_(ndigits=2)
40
- def s_c(f_width: float, f_length: float, f_shape: Shape) -> float:
41
- if f_shape == Shape.STRIP:
42
- return 1.0
43
- elif f_shape == Shape.RECTANGLE:
44
- return 1.0 + 0.2 * f_width / f_length
45
- else: # SQUARE & CIRCLE
46
- return 1.3
47
-
48
- @staticmethod
49
- @round_(ndigits=2)
50
- def s_q(f_width: float, f_length: float, f_shape: Shape) -> float:
51
- if f_shape == Shape.STRIP:
52
- return 1.0
53
- elif f_shape == Shape.RECTANGLE:
54
- return 1.0 + 0.2 * f_width / f_length
55
- else: # SQUARE & CIRCLE
56
- return 1.2
57
-
58
- @staticmethod
59
- @round_(ndigits=2)
60
- def s_gamma(f_width: float, f_length: float, f_shape: Shape) -> float:
61
- if f_shape == Shape.STRIP:
62
- return 1.0
63
- elif f_shape == Shape.RECTANGLE:
64
- return 1.0 - 0.4 * f_width / f_length
65
- elif f_shape == Shape.SQUARE:
66
- return 0.8
67
- else: # CIRCLE
68
- return 0.6
69
-
70
-
71
- class HansenDepthFactors:
72
-
73
- @staticmethod
74
- @round_(ndigits=2)
75
- def d_c(f_depth: float, f_width: float) -> float:
76
- return 1.0 + 0.35 * f_depth / f_width
77
-
78
- @staticmethod
79
- @round_(ndigits=2)
80
- def d_q(f_depth: float, f_width: float) -> float:
81
- return HansenDepthFactors.d_c(f_depth, f_width)
82
-
83
- @staticmethod
84
- @round_(ndigits=2)
85
- def d_gamma() -> float:
86
- return 1.0
87
-
88
-
89
- class HansenInclinationFactors:
90
-
91
- @staticmethod
92
- @round_(ndigits=2)
93
- def i_c(
94
- cohesion: float,
95
- load_angle: float,
96
- f_width: float,
97
- f_length: float,
98
- ) -> float:
99
- return 1.0 - sin(load_angle) / (2.0 * cohesion * f_width * f_length)
100
-
101
- @staticmethod
102
- @round_(ndigits=2)
103
- def i_q(load_angle: float) -> float:
104
- return 1.0 - (1.5 * sin(load_angle)) / cos(load_angle)
105
-
106
- @staticmethod
107
- @round_(ndigits=2)
108
- def i_gamma(load_angle: float) -> float:
109
- return HansenInclinationFactors.i_q(load_angle) ** 2.0
110
-
111
-
112
- class HansenUltimateBearingCapacity(UltimateBearingCapacity):
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
- """
119
-
120
- @property
121
- def n_c(self) -> float:
122
- r"""Bearing capacity factor $N_c$."""
123
- return HansenBearingCapacityFactors.n_c(self.friction_angle)
124
-
125
- @property
126
- def n_q(self) -> float:
127
- r"""Bearing capacity factor $N_q$."""
128
- return HansenBearingCapacityFactors.n_q(self.friction_angle)
129
-
130
- @property
131
- def n_gamma(self) -> float:
132
- r"""Bearing capacity factor $N_{\gamma}$."""
133
- return HansenBearingCapacityFactors.n_gamma(self.friction_angle)
134
-
135
- @property
136
- def s_c(self) -> float:
137
- r"""Shape factor $S_c$."""
138
- width, length, shape = self.foundation_size.footing_params()
139
- return HansenShapeFactors.s_c(width, length, shape)
140
-
141
- @property
142
- def s_q(self) -> float:
143
- r"""Shape factor $S_q$."""
144
- width, length, shape = self.foundation_size.footing_params()
145
- return HansenShapeFactors.s_q(width, length, shape)
146
-
147
- @property
148
- def s_gamma(self) -> float:
149
- r"""Shape factor $S_{\gamma}$."""
150
- width, length, shape = self.foundation_size.footing_params()
151
- return HansenShapeFactors.s_gamma(width, length, shape)
152
-
153
- @property
154
- def d_c(self) -> float:
155
- r"""Depth factor $D_c$."""
156
- depth = self.foundation_size.depth
157
- width = self.foundation_size.width
158
- return HansenDepthFactors.d_c(depth, width)
159
-
160
- @property
161
- def d_q(self) -> float:
162
- r"""Depth factor $D_q$."""
163
- depth = self.foundation_size.depth
164
- width = self.foundation_size.width
165
- return HansenDepthFactors.d_q(depth, width)
166
-
167
- @property
168
- def d_gamma(self) -> float:
169
- r"""Depth factor $D_{\gamma}$."""
170
- return HansenDepthFactors.d_gamma()
171
-
172
- @property
173
- def i_c(self) -> float:
174
- r"""Inclination factor $I_c$."""
175
- width, length = self.foundation_size.width, self.foundation_size.length
176
- return HansenInclinationFactors.i_c(
177
- self.cohesion, self.load_angle, width, length
178
- )
179
-
180
- @property
181
- def i_q(self) -> float:
182
- r"""Inclination factor $I_q$."""
183
- return HansenInclinationFactors.i_q(self.load_angle)
184
-
185
- @property
186
- def i_gamma(self) -> float:
187
- r"""Inclination factor $I_{\gamma}$."""
188
- return HansenInclinationFactors.i_gamma(self.load_angle)
@@ -1,22 +0,0 @@
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,,