Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/),
and [PEP 440](https://www.python.org/dev/peps/pep-0440/).

## [1.0.1] - 2025-04-10

### Fixed
- *Sørensen sand* and *Kallehave sand* py-curves implementation into `openpile.soilmodels.API_sand()` led to some minor bugs that are now corrected.

## [1.0.0] - 2025-04-04

*OpenPile's kernel now accounts for axial soil springs when running a Winkler analysis. The axial soil springs are by default turned on (`base_axial` and `distributed_axial` arguments of `openpile.construct.Model`) and considered if an `axial_model` is fed to a `openpile.construct.Layer`*
Expand Down
Empty file.
89 changes: 46 additions & 43 deletions samples/run_check_kernel.ipynb

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion samples/run_usage.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.19"
"version": "3.10.14"
},
"orig_nbformat": 4
},
Expand Down
2 changes: 1 addition & 1 deletion src/openpile/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = "1.0.0"
__version__ = "1.0.1"
17 changes: 9 additions & 8 deletions src/openpile/soilmodels.py
Original file line number Diff line number Diff line change
Expand Up @@ -1300,7 +1300,7 @@ class API_sand(LateralModel):
Small-strain shear modulus [unit: kPa], by default None
initial_subgrade_modulus: float or list[top_value, bottom_value] or None
User-defined initial subgrade modulus [unit: kN/m^3], by default None which default to API definition based on friction angle
Modification: str or None, by default None
modification: str or None, by default None
Application of well-known modification to API sand. Modifications available are:

- "Kallehave" - which calls the p-y springs :py:func:`openpile.utils.hooks.InitialSubgradeReaction.kallehave_sand()`.
Expand All @@ -1316,7 +1316,8 @@ class API_sand(LateralModel):

See also
--------
:py:func:`openpile.utils.py_curves.api_sand`, :py:func:`openpile.utils.hooks.durkhop`
:py:func:`openpile.utils.py_curves.api_sand`, :py:func:`openpile.utils.hooks.durkhop`,
:py:class:`openpile.utils.hooks.InitialSubgradeReaction`

"""

Expand All @@ -1342,7 +1343,7 @@ class API_sand(LateralModel):
]
] = None
#: Application of well-known modification to API sand
Modification: Optional[Literal["Kallehave", "Sørensen"]] = None
modification: Optional[Literal["Kallehave", "Sørensen"]] = None
#: p-multiplier
p_multiplier: Union[Callable[[float], float], Annotated[float, Field(ge=0.0)]] = 1.0
#: y-multiplier
Expand Down Expand Up @@ -1398,7 +1399,7 @@ def py_spring_fct(
+ (subgrade_modulus_b - subgrade_modulus_t) * depth_from_top_of_layer / layer_height
)

if not self.Modification:
if not self.modification:
y, p = py_curves.api_sand(
sig=sig,
X=X,
Expand All @@ -1410,27 +1411,27 @@ def py_spring_fct(
ymax=ymax,
output_length=output_length,
)
elif self.Modification == "Kallehave":
elif self.modification == "Kallehave":
y, p = py_curves.api_sand(
sig=sig,
X=X,
phi=phi,
D=D,
kind=self.kind,
below_water_table=below_water_table,
k=InitialSubgradeReaction.kallehave_sand(phi),
k=InitialSubgradeReaction.kallehave_sand(phi, below_water_table, X, D),
ymax=ymax,
output_length=output_length,
)
elif self.Modification == "Sørensen":
elif self.modification == "Sørensen":
y, p = py_curves.api_sand(
sig=sig,
X=X,
phi=phi,
D=D,
kind=self.kind,
below_water_table=below_water_table,
k=InitialSubgradeReaction.sørensen2010_sand(phi),
k=InitialSubgradeReaction.sørensen2010_sand(phi, X, D),
ymax=ymax,
output_length=output_length,
)
Expand Down
1 change: 1 addition & 0 deletions src/openpile/utils/hooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -594,4 +594,5 @@ def sørensen2010_sand(phi: float, X: float, D: float, *args, **kwargs):
"""
Dref = 1.0
Xref = 1.0
X = max(X, 0.01)
return 1 / X * 50e3 * (X / Xref) ** 0.6 * (D / Dref) ** 0.5 * m.radians(phi) ** 3.6
Loading