PyelogP
"Py e-log(P)" is a lightweight Python library for estimating the preconsolidation pressure ($\sigma'_p$) of oedometer test data using the strain-energy method with knee-point detection and thresholding in the $e$–$log(P)$ space.
Features
- Manual data input or import from a
.csvfile. - Automatic removal of unload–reload cycles from input data.
- Physically informed threshold selection for S-shaped $e$–$log(P)$ curves typical of sensitive marine clays, aged clays, and cemented clays.
- Plot void ratio versus $\sigma'_v$ and Work versus Pressure (W-P).
Installation
pip install pyelogp
Clone from GitHub
# Clone the repo
git clone https://github.com/liangchow/pyelogp.git
cd pyelogp
# Create and activate virtual environment
python -m venv .venv
source .venv/bin/activate # macOS/Linux
.venv\Scripts\activate # Windows
# Install dependencies
pip install -e .
Quick start
See run.py for a full example, including loading data from a CSV file via Data.from_csv.
from pyelogp import Data
# Louiseville clay
pressure = [59, 90, 120, 150, 165, 172, 184, 222, 300, 400]
void_ratio = [2.115, 2.113, 2.098, 2.083, 2.055, 2, 1.8, 1.5, 1.3, 1.193]
e0 = 2.10 (Optional)
sigmaV0 = 59.0
d = Data(pressure=pressure, void_ratio=void_ratio, e0=e0, sigmaV0=sigmaV0)
# Run analysis
result = d.find_pc()
print("Preconsolidation pressure (Pc):", result.pc)
print("Void ratio at pc (e_pc):", result.e_pc)
print("R² segment 1:", result.r2_seg1)
print("R² segment 2:", result.r2_seg2)
# Return
Preconsolidation pressure (Pc): 164.5
Void ratio at pc (e_pc): 2.0573
R² segment 1: 0.894
R² segment 2: 0.969
Contributing
Contributions are welcome, please refer to CONTRIBUTING to learn more about how to contribute.
References
Becker, D. E., Crooks, J. H. A., Been, K., & Jefferies, M. G. (1987). Work as a Criterion for Determining in situ and Yield Stresses in Clays. Canadian Geotechnical Journal, 24(4), 549–564.
Bonaparte, R. and Mitchell, J.K. (1979). The Properties of San Francisco Bay Mud at Hamilton Air Force Base, California. Geotechnical Engineering Report, University of California, Berkeley, April 1979.
Satopa, V., Albrecht, J., Irwin, D., and Raghavan, B. (2011). Finding a 'Kneedle' in a Haystack: Detecting Knee Points in System Behavior. 31st International Conference on Distributed Computing Systems Workshops, 166-171.
Terzaghi, K., Peck, R.B., & Mesri, G. (1996). Soil Mechanics in Engineering Practice (3rd ed.). John Wiley & Sons, Inc.
Metadata
Release files for pyelogp 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyelogp-0.2.0.tar.gz | 16.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyelogp-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 30.3 kB
Release files / pyelogp-0.2.0.tar.gz
| Download URL | pyelogp-0.2.0.tar.gz |
|---|---|
| Size | 16.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
048190163ed37cc20f83128310fb5f85ce146dbe33693f50c0a9e0ab665448d0
|
|
BLAKE2b-256 checksum How to use checksums |
01e0fd7c54ad47204edc529170a7e29da380559a8acfd57a2159b4a781b6c294
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.5
|
Release files / pyelogp-0.2.0-py3-none-any.whl
| Download URL | pyelogp-0.2.0-py3-none-any.whl |
|---|---|
| Size | 13.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d61a6d018b8546c9f8be48f4297d277c1aff2df26ef21857f7aeddf6440a21a1
|
|
BLAKE2b-256 checksum How to use checksums |
45447e4a6513e08a795ca747df2ec9aaeffb7019e9a6900771e33cc8999e9017
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.5
|