Introducing Groundhog, a high-quality general-purpose geotechnical Python package

Introducing Groundhog, a high-quality general-purpose geotechnical Python package

Digitisation is rapidly transforming the geotechnical engineering profession and many students and practicing engineers are learning new skills to cope with the challenges that lie ahead. Python is the language of choice for many engineers due to its intuitive syntax, rich ecosystem of high-quality packages and interface to other engineering software such as Abaqus, PLAXIS and GIS. 

No alt text provided for this image

But with many geotechnical engineers using Python, a myriad of scripts, modules and notebooks is emerging which contain code of varying quality and which are not always shared widely. Moreover, geotechnical engineering is a (semi)empirical discipline by nature and users should have knowledge of the data supporting these empirical correlations. 

This is where Groundhog comes in (https://github.com/snakesonabrain/groundhog), a Python project packed with useful functionality for supporting automated geotechnical calculations . The package is developed around four pillars: 

  • Flexible input parameter validation: Predefined parameter ranges are defined for most functions, based on the range of soil parameters for which the function was originally developed. This validation can be overridden by the user but requires explicit definition of the modified parameter ranges;
  • Parametric functions with multiple outputs: Groundhog functions are fully parametric (calibration parameters can be tuned) and return a Python dictionary including intermediate results or derived quantities. Units are specified for each numerical output;
  • Unit testing: All Groundhog functionality is thoroughly unit tested to ensure that the implementations return the correct values. Results of handcalcs or published solutions have been used to validate the functions;
  • Documentation: Each Groundhog function is extensively documented (https://snakesonabrain.com/docs/groundhog/index.html) and reference is made to the original work to ensure that users are aware of the underlying datasets for correlations.

The package standardises routine tasks such as PCPT processing or soil profile selection. These tasks are essential tasks for any geotechnical problem and performing them swiftly can greatly improve the efficiency of engineering calculations. Techniques for efficiently visualising results are built into Groundhog. 

CPT results processed with Groundhog

To get started with Groundhog, a number of tutorial notebooks are available online (navigate to https://mybinder.org/v2/gh/snakesonabrain/groundhog/v0.2.0/ and go to the notebooks folder):

  • Basic use of groundhog functions
  • Soil profile definition, manipulation and plotting
  • PCPT data loading
  • PCPT data processing
  • Loading AGS data in Python
  • Axial pile capacity calculation according to Belgian practice

The package is under constant development so further tutorials are soon to be released. Any request for additional functionality can always be submitted to the package author through GitHub.

The package was named after the groundhog, an animal that lives in underground burrows. Moreover, the movie Groundhog Day where a reporter relives the same day again and again. The Groundhog package aims to remove that repetitiveness from your day-to-day geotechnical engineering work.

The package is released under a Creative Commons CC BY-NC 4.0 license (https://creativecommons.org/licenses/by-nc/4.0/) and is free to use for non-commercial purposes. I use it in my geotechnical courses at UGent to allow students to focus on the true challenges of geotechnical engineering (careful parameter selection, sensitivity studies) rather than the tedious implementation of formulae.


Marc Seidel

Principal Engineer at Siemens Gamesa (born at 323ppm)

4 年
Nuno Ramos

Country Director at Zutari

4 年

Amazing work. Thanks for sharing

回复

Great project, Bruno! I am also a proponent of Python for geotechnical engineering and have been looking for such a project for a while now. I perused through Grounhog repository on Github and I was very happy to find almost exactly what I had been looking for. The strong framework based on the "golden rules" and the CC ShareAlike license is a great start point for collaborating and hope to contribute as much as I can.

Anna Arqué Armengol

Geotechnical Engineer at DEME Offshore

4 年

Nice! Thanks for sharing

回复
Giorgia Di Remigio

Civil Engineer and Technical Project Manager at Ramb?ll

4 年

Great project! Thanks for sharing!?

回复

要查看或添加评论,请登录

Bruno Stuyts的更多文章

社区洞察

其他会员也浏览了