Skip to content

patrickboateng/geolysis

Repository files navigation

geolysislogo

PyPI Latest Release PyPI pyversions license

Coveralls Status Codacy Badge Unit-Tests Documentation Status

geolysis is an open-source 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 library is among four main projects: geolysis.gui, geolysis.excel, and geolysis.ai. The geolysis library powers all of these projects.

The geolysis projects are currently under developement and not yet publicly available.

Active development of geolysis occurs on the dev branch. For more information on the latest features of geolysis, switch to the dev branch.

Here are brief descriptions of these projects:

geolysis.gui A graphical user interface that allows users to interact with the geolysis library. 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. Additionally, it enables users to conduct foundation analysis and design, among other functionalities.
geolysis.excel An add-in for Microsoft Excel that performs simple geotechnical analysis. It offers some features similar to geolysis.gui within Microsoft Excel.
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

$ pip install geolysis

Usage Example

>>> 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'
>>> from geolysis.soil_classifier import create_soil_classifier
>>> aashto_clf = create_soil_classifier(liquid_limit=34.1,
...                                     plastic_limit = 21.1,
...                                     fines = 47.88,
...                                     sand = 37.84,  # Sand is optional for AASHTO classification
...                                     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'

Features

Soil Classification AASHTO Classification System
Unified Soil Classification System
Standard Penetration Test (SPT) Analysis SPT Energy Correction
SPT Overburden Pressure Correction
Dilatancy Correction
SPT N-Design Calculation
Bearing Capacity Estimation Allowable Bearing Capacity Estimation
Ultimate Bearing Capacity Estimation

Documentation

Full documentation is available here

Contributing

Contribution guidelines can be found here

License

This project is licensed under the MIT License - see the LICENSE file for more details.

Contact

For questions or feedback, please contact us at boatengpato.pb@gmail.com