https://github.com/patrickboateng/geolysis
An open-source library for geotechnical engineering analysis and modeling.
https://github.com/patrickboateng/geolysis
bearing-capacity-analysis geotechnical-engineering soil-classification standard-penetration-test-analysis
Last synced: 16 days ago
JSON representation
An open-source library for geotechnical engineering analysis and modeling.
- Host: GitHub
- URL: https://github.com/patrickboateng/geolysis
- Owner: patrickboateng
- License: mit
- Created: 2023-02-19T23:21:23.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-05-06T05:09:41.000Z (16 days ago)
- Last Synced: 2025-05-06T06:24:27.162Z (16 days ago)
- Topics: bearing-capacity-analysis, geotechnical-engineering, soil-classification, standard-penetration-test-analysis
- Language: Python
- Homepage: https://docs.geolysis.io
- Size: 5.62 MB
- Stars: 13
- Watchers: 5
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: docs/CONTRIBUTING.md
- License: LICENSE.txt
- Code of conduct: docs/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
![]()
[](https://pypi.org/project/geolysis/)
[](https://pepy.tech/projects/geolysis)
[](https://pypi.python.org/pypi/geolysis/)
[](https://opensource.org/license/mit/)
[](https://app.codacy.com/gh/patrickboateng/geolysis/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)
[](https://github.com/patrickboateng/geolysis/actions/workflows/unit-tests.yml)
[](https://geolysis.readthedocs.io/en/latest/?badge=latest)`geolysis` is an open-source python package (library) for geotechnical analysis
and modeling. It offers tools for soil classification, Standard Penetration
Test (SPT) analysis, and bearing capacity estimation, among others.The `geolysis` package is among three other projects, `geolysis.gui`,
`geolysis.excel`, and `geolysis.ai`.Here are brief descriptions of the `geolysis` projects:
1. `geolysis`
A python package (library) which provides the core functionalities for
`geolysis.gui` and the `geolysis.excel` applications. Current features
provided by the `geolysis` package are shown in the table below.
Soil Classification
AASHTO Classification System
Unified Soil Classification System
Standard Penetration Test (SPT) Analysis
SPT Energy Correction
SPT Overburden Pressure Correction
SPT Dilatancy Correction
SPT N-Design Calculation
Bearing Capacity Estimation
Allowable Bearing Capacity Estimation
Ultimate Bearing Capacity Estimation
2. `geolysis.gui`
A graphical user interface that allows users to interact with the `geolysis`
package. Through this interface, users can view generated reports and
visualizations, such as Particle Size Distribution (PSD) curves, Atterberg
Limits plots, and Compaction curves, among others.3. `geolysis.excel`
An add-in for Microsoft Excel that performs simple geotechnical analysis.
It offers some features similar to `geolysis.gui` within Microsoft Excel.
Below is an example of the Microsoft Excel addin.
![]()
4. `geolysis.ai`
Offers machine learning models that are trained using geotechnical data.
## Project Structure
.
├── .github # GitHub Actions
├── docs # Documentation files
├── geolysis # Source files
├── tests # Automated tests
└── README.md## Table of Contents
- [Installation](#installation)
- [Usage Example](#usage-example)
- [Documentation](#documentation)
- [Contributing](#contributing)
- [License](#license)
- [Contact](#contact)## Installation
```shell
$ pip install geolysis
```## Usage Example
```python
>>> from geolysis.soil_classifier import create_soil_classifier
>>> uscs_clf = create_soil_classifier(liquid_limit=34.1,
... plastic_limit=21.1,
... fines=47.88,
... sand=37.84,
... clf_type="USCS")
>>> clf = uscs_clf.classify()
>>> clf
SoilClf(symbol='SC', description='Clayey sands')
>>> clf.symbol
'SC'
>>> clf.description
'Clayey sands'```
```python
>>> from geolysis.soil_classifier import create_soil_classifier
>>> aashto_clf = create_soil_classifier(liquid_limit=34.1,
... plastic_limit=21.1,
... fines=47.88,
... clf_type="AASHTO")
>>> clf = aashto_clf.classify()
>>> clf
SoilClf(symbol='A-6(4)', description='Clayey soils')
>>> clf.symbol
'A-6(4)'
>>> clf.description
'Clayey soils'```
Check out more examples
[here](https://docs.geolysis.io/en/latest/user_guide/getting_started.html#quick-start)## Documentation
Full documentation is available [here](https://docs.geolysis.io/en/latest/)
## Contributing
Contribution guidelines can be
found [here](https://docs.geolysis.io/en/latest/dev_guide/index.html)## License
This project is licensed under the MIT License - see the
[LICENSE](https://github.com/patrickboateng/geolysis/blob/main/LICENSE.txt)
file for more details.## Contact
For questions or feedback, please
contact [[email protected]](mailto:[email protected])