weac 2.5.0__py3-none-any.whl → 2.5.2__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.
weac/__init__.py CHANGED
@@ -11,7 +11,7 @@ from weac.inverse import Inverse
11
11
  from weac import plot
12
12
 
13
13
  # Version
14
- __version__ = '2.5.0'
14
+ __version__ = '2.5.2'
15
15
 
16
16
  # Public names
17
17
  __all__ = [
weac/eigensystem.py CHANGED
@@ -152,7 +152,7 @@ class Eigensystem:
152
152
 
153
153
  def set_foundation_properties(
154
154
  self,
155
- t: float = 10.0,
155
+ t: float = 30.0,
156
156
  E: float = 0.25,
157
157
  nu: float = 0.25,
158
158
  update: bool = False):
@@ -187,7 +187,7 @@ class Eigensystem:
187
187
  if update:
188
188
  self.calc_fundamental_system()
189
189
 
190
- def set_beam_properties(self, layers, phi=0, C0=6.5, C1=4.4,
190
+ def set_beam_properties(self, layers, C0=6.5, C1=4.4,
191
191
  nu=0.25, update=False):
192
192
  """
193
193
  Set material and properties geometry of beam (slab).
@@ -201,7 +201,7 @@ class Eigensystem:
201
201
  must be available in database.
202
202
  C0 : float, optional
203
203
  Multiplicative constant of Young modulus parametrization
204
- according to Bergfeld et al. (2023). Default is 6.0.
204
+ according to Bergfeld et al. (2023). Default is 6.5.
205
205
  C1 : float, optional
206
206
  Exponent of Young modulus parameterization according to
207
207
  Bergfeld et al. (2023). Default is 4.6.
@@ -226,7 +226,7 @@ class Eigensystem:
226
226
 
227
227
  # Compute total slab thickness and center of gravity
228
228
  self.h, self.zs = calc_center_of_gravity(layers)
229
-
229
+
230
230
  # Assemble layering into matrix (top to bottom)
231
231
  # Columns are density (kg/m^3), layer thickness (mm)
232
232
  # Young's modulus (MPa), shear modulus (MPa), and
weac/layered.py CHANGED
@@ -37,6 +37,8 @@ class Layered(FieldQuantitiesMixin, SlabContactMixin, SolutionMixin,
37
37
  2D list of layer densities and thicknesses. Columns are
38
38
  density(kg/m ^ 3) and thickness(mm). One row corresponds
39
39
  to one layer. Default is [[240, 200], ].
40
+ touchdown : bool, optional
41
+ Set True if slab touchdown is to be considered. Default is False.
40
42
  """
41
43
  # Call parent __init__
42
44
  super().__init__(system=system, touchdown=touchdown)
weac/mixins.py CHANGED
@@ -1205,7 +1205,7 @@ class SolutionMixin:
1205
1205
  if self.system not in ['pst-', '-pst', 'rested']:
1206
1206
  rhs[:3] = self.bc(self.zp(x=0, phi=phi, bed=ki[0]))
1207
1207
  rhs[-3:] = self.bc(self.zp(x=li[-1], phi=phi, bed=ki[-1]))
1208
-
1208
+
1209
1209
  # Set rhs for vertical faces
1210
1210
  if self.system in ['vpst-', '-vpst']:
1211
1211
  # Calculate center of gravity and mass of
weac/tools.py CHANGED
@@ -284,6 +284,9 @@ def touchdown_distance(
284
284
  -------
285
285
  first_contact : float
286
286
  Cut length at first contact (mm).
287
+ full_contact : float
288
+ Cut length at which the slab comes into full contact (more than
289
+ a singular point) with the base layer (mm).
287
290
  steady_state : float
288
291
  Steady-state touchdown distance (mm).
289
292
  """
@@ -302,10 +305,15 @@ def touchdown_distance(
302
305
  touchdown.calc_segments(L=1e5, a=0, phi=phi)
303
306
  first_contact = touchdown.calc_a1()
304
307
 
308
+ # Compute ut length at which the slab comes into full contact (more
309
+ # than a singular point) with the base layer
310
+ full_contact = touchdown.calc_a2()
311
+
305
312
  # Compute steady-state touchdown distance in a dummy PST with a cut
306
313
  # of 5 times the first contact distance
307
314
  touchdown.calc_segments(L=1e5, a=5*first_contact, phi=phi)
308
315
  steady_state = touchdown.calc_lC()
309
316
 
310
- # Return first-contact cut length and steady-state touchdown distance (mm)
311
- return first_contact, steady_state
317
+ # Return first-contact cut length, full-contact cut length,
318
+ # and steady-state touchdown distance (mm)
319
+ return first_contact, full_contact, steady_state
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: weac
3
- Version: 2.5.0
3
+ Version: 2.5.2
4
4
  Summary: Weak layer anticrack nucleation model
5
5
  Home-page: https://github.com/2phi/weac
6
6
  Author: 2phi GbR
@@ -213,15 +213,25 @@ x_cm, tau_kPa = skier.get_weaklayer_shearstress(x=xwl, z=z, unit='kPa')
213
213
 
214
214
  See the [open issues](https://github.com/2phi/weac/issues) for a list of proposed features and known issues.
215
215
 
216
- ### v2.6
216
+ ### v3.0
217
+
218
+ - [ ] New mathematical foundation to improve the weak-layer representation
219
+ - [ ] Complex terrain through the addition of out-of-plane tilt
220
+ - [ ] Up, down, and cross-slope cracks
221
+
222
+ ### v2.7
217
223
  - [ ] Finite fracture mechanics implementation for layered snow covers
218
224
 
219
- ### v2.5
225
+ ### v2.6
220
226
  - [ ] Implement anistropic weak layer
221
227
  - [ ] Add demo gif
222
228
 
223
229
  ## Release history
224
230
 
231
+ ### v2.5
232
+ - Analyze slab touchdown in PST experiments by setting `touchdown=True`
233
+ - Completely redesigned and significantly improved API documentation
234
+
225
235
  ### v2.4
226
236
  - Choose between slope-normal (`'-pst'`, `'pst-'`) or vertial (`'-vpst'`, `'vpst-'`) PST boundary conditions
227
237
 
@@ -274,6 +284,12 @@ See the [open issues](https://github.com/2phi/weac/issues) for a list of propose
274
284
  5. Open a pull request
275
285
 
276
286
 
287
+ <!-- LICENSE -->
288
+ ## Workflows
289
+ [![Publish Python 🐍 releases 📦 to PyPI ](https://github.com/2phi/weac/actions/workflows/release.yml/badge.svg)](https://github.com/2phi/weac/actions/workflows/release.yml)<br>
290
+ [![Build and publish Sphinx 🪬 documentation ](https://github.com/2phi/weac/actions/workflows/docs.yml/badge.svg)](https://github.com/2phi/weac/actions/workflows/docs.yml)
291
+
292
+
277
293
  <!-- LICENSE -->
278
294
  ## License
279
295
 
@@ -0,0 +1,12 @@
1
+ weac/__init__.py,sha256=nJCDAKPyp7nW6OI1JuvWBuKuadAEdg4Q1smpcyYcPas,359
2
+ weac/eigensystem.py,sha256=a-RBqON9Sta2c0z412BXgrfxM96heDKNyfiD0PbYLmM,22476
3
+ weac/inverse.py,sha256=pfpE5PaMgKA2sMVk4t-Q6mPJisA-Yyo873XCKI_-HtA,1980
4
+ weac/layered.py,sha256=S18d1PwGrj9K6HFu2u1JBiA94zzM8mX_JiKBGaph9_I,2064
5
+ weac/mixins.py,sha256=NPkhZVwYpcxhMkS9t3ismvfgeQdZZNTg4rz7Y1DH6EQ,70269
6
+ weac/plot.py,sha256=-s0aOV-c2KEgMa5HypiLgIgASsNVz0BR80_7h8J5o68,20705
7
+ weac/tools.py,sha256=ddieeBfXh8APlgxjIf1HuoCjk7UgTSwvS5XKv77dS0M,9961
8
+ weac-2.5.2.dist-info/LICENSE,sha256=kZ_nAN1upf01GX0XTvH6LSOveV_dXX1xazrr-fI1qj8,129
9
+ weac-2.5.2.dist-info/METADATA,sha256=gnJYapKjKmUlzDsFqQpaZRzLYkctSpr53Ua1--SWcpc,17630
10
+ weac-2.5.2.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
11
+ weac-2.5.2.dist-info/top_level.txt,sha256=8tyXUHPFU4Ba_5kPtpwvXo5l6GjJmOnODVBJFygpdeE,5
12
+ weac-2.5.2.dist-info/RECORD,,
@@ -1,12 +0,0 @@
1
- weac/__init__.py,sha256=OKOM2HMZIYIa4bxXamVYdY6jstyR-s-N7lKUe7bpvgw,359
2
- weac/eigensystem.py,sha256=roTcf2UHhQDx_7jIakuqz2yEqwVZDvs-qrnEM9pUXxk,22491
3
- weac/inverse.py,sha256=pfpE5PaMgKA2sMVk4t-Q6mPJisA-Yyo873XCKI_-HtA,1980
4
- weac/layered.py,sha256=BCl2PCndkCjASg700JecqnrfBd2ovZuMSkYZSOtbgrU,1951
5
- weac/mixins.py,sha256=hD7r4iIk_DgyakmN73-5oGUWkghk-yFZRmLiT-VJt7U,70281
6
- weac/plot.py,sha256=-s0aOV-c2KEgMa5HypiLgIgASsNVz0BR80_7h8J5o68,20705
7
- weac/tools.py,sha256=CtZQgzsJtODSPyYLNHhehn24ma13rNGfyYhUVcdp9mk,9605
8
- weac-2.5.0.dist-info/LICENSE,sha256=kZ_nAN1upf01GX0XTvH6LSOveV_dXX1xazrr-fI1qj8,129
9
- weac-2.5.0.dist-info/METADATA,sha256=zAIjc8jWHrFuKUgWvkMyfZ0t5ytOSdo5bDlwS7zVS5Y,16902
10
- weac-2.5.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
11
- weac-2.5.0.dist-info/top_level.txt,sha256=8tyXUHPFU4Ba_5kPtpwvXo5l6GjJmOnODVBJFygpdeE,5
12
- weac-2.5.0.dist-info/RECORD,,
File without changes
File without changes