Skip to content

Releases: TchilDill/openpile

OpenPile release 1.0.1

10 Apr 19:57
fe16b26

Choose a tag to compare

Fixed

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

OpenPile release 1.0.0

04 Apr 20:44

Choose a tag to compare

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

The minimum python version to use with Openpile >= 1.0.0 is python 3.8. Please also note that the major version of Numpy (v2.0) does not work with OpenPile since we use Numba, which at the time of writing this is imcompatible with Numpy 2.0+.

Added

  • the PileMaterial class in the new openpile.materials module is now used to determine the material of the structure. Such material can now be customised by users by creating a new instance of openpile.materials.PileMaterial.
  • Sørensen sand and Kallehave sand py-curves are now available and require a setting to be turned on in openpile.soilmodels.API_sand(), the corresponding curves are also available in the module openpile.utils.py_curves.
  • extensions of API-type lateral soil models are now considered in the string output when printing out the model or the entire soil profile, i.e. when running print(openpile.construct.Layer)

Modified

  • The coordinate system follows now a more traditional approach, which still is a right-hand system however, the x and z components are swapped, this was done in order for soil springs which are called 't-z' and 'Q-z' by convention to be aligned with the coordinate system used in setting the boundary conditions.
  • openpile.construct.Model.get_py_springs() and other related methods to extract springs have been updated to the following naming style: .get_distributed_lateral_springs(), see documentation for more details.
  • The API clay model available until v0.7.1 has been decoupled to form the API_clay and the mofidied_Matlock models, new function and new model can be seen here: Openpile.utils.py_curves.modified_Matlock() and Openpile.soilmodels.Modified_Matlock_clay. Such decision was made to make it clearer on what model is used when running an analysis.
  • The API sand model as well as API sand py curves now accepts a user-defined inital subgrade modulus value. If not provided, it reverts to the API definition based on friction angle.
  • functions found in openpile.calculate are now dependent on openpile.construct.Pile and openpile.construct.SoilProfile instead of openpile.construct.Model.
  • module openpile.analyze object renamed to openpile.winkler.
  • class AnalyzeResult object renamed to WinklerResult.
  • module openpile.multipliers object renamed to openpile.hooks.

Deleted

  • The functions openpile.analyze.simple_beam_analysis() and openpile.analyze.simple_winkler_analysis() are now removed from the code.
  • The method openpile.construct.Pile.set_I() method has been deleted, the second moment of area of a given pile segment can be changed by calling a Custom PileSection Geometry.
  • The property openpile.construct.Pile.E cannot be overriden anymore, instead use the new feature where any material can be provided to the pile via openpile.materials.PileMaterial.
  • The method openpile.construct.Model.get_pointload() is now deprecated and cannot be used anymore. Use the property openpile.construct.Model.boundary_conditions instead to list all boundary conditions.

OpenPile release 0.7.1

21 Nov 22:08
8b78816

Choose a tag to compare

Fixed

  • maximum resistance in API_clay where Pmax was wrongly calculated based on depth instead of diameter, credits to Zhenghui Qiu for spotting this.

OpenPile version 0.7.0

12 Nov 21:30
be7f5ea

Choose a tag to compare

Added

  • Added soil models:
    • openpile.soilmodels.Bothkennar_clay from the PISA joint-industry project
    • corresponding py- mt- Hb- and Mb- curves for Bothkennar clay.

OpenPile version 0.6.0

23 Oct 18:49

Choose a tag to compare

Added

  • added properties to Pile object:
    • openpile.construct.Pile.tip_area and
    • openpile.construct.Pile.tip_footprint
  • added soil springs:
    • openpile.utils.py_curves.custom_pisa_sand and openpile.utils.py_curves.custom_pisa_clay
    • openpile.utils.mt_curves.custom_pisa_sand and openpile.utils.mt_curves.custom_pisa_clay
    • openpile.utils.Hb_curves.custom_pisa_sand and openpile.utils.Hb_curves.custom_pisa_clay
    • openpile.utils.Mb_curves.custom_pisa_sand and openpile.utils.Mb_curves.custom_pisa_clay
  • added soil models:
    • openpile.soilmodels.Custom_pisa_sand and openpile.soilmodels.Custom_pisa_clay, these models can be used to customise PISA formulations based on external sources, such as an FE model.
  • new functions to calculate Dunkirk Sand and Cowden Clay normalized parameters, these functions are in the module: openpile.utils.multipliers and are the following: get_cowden_clay_(..)_norm_param() and get_dunkirk_sand_(..)_norm_param().

OpenPile version 0.5.0

09 Aug 11:42
359912a

Choose a tag to compare

ADDED

  • soil spring openpile.utils.py_curves.reese_weakrock
  • soil model openpile.soilmodels.Reese_weakrock

OpenPile version 0.4.0

31 Jul 12:33
13af421

Choose a tag to compare

ADDED

  • Updates in documentation
  • new methods available for openpile.analyze.Result class:
    • new method winkler() replacing simple_winkler_analysis(), the use of the latter triggers a deprecation warning when used.
    • new method beam() replacing simple_beam_analysis(), the use of the latter triggers a deprecation warning when used.
    • new method openpile.analyze.details() that provides summary of an AnalyzeResult object.
  • new methods available for openpile.construct.Model class:
    • openpile.construct.Model.get_py_springs()
    • openpile.construct.Model.get_mt_springs()
    • openpile.construct.Model.get_Hb_spring()
    • openpile.construct.Model.get_Mb_spring()
  • new feature which allow user to enter a function in place of a float for springs multipliers when creating SoilModel objects. the function must take as input a PositiveFloat representing the depth below ground level, and as output the multiplier that shall be used by the soil spring for this depth.
  • new openpile.utils.multipliers module that stores validated functions for use in multipliers in SoilModels objects.

OpenPile version 0.3.3

22 May 18:48
eb77b8d

Choose a tag to compare

FIXED

  • fixed bug in the kernel when applying base springs.
  • clean up some part of the root directory
  • fix error in Dunkirk_sand rotational springs

ADDED

  • benchmark of Cowden Clay soil model against literature from Byrne et al (2020).
  • benchmarked Dunkirk sand soil model against literature from Burd et al (2020).

OpenPile version 0.3.1

16 May 18:52
7fd3dac

Choose a tag to compare

FIXED

  • fixed bug in openpile.utils.mtcurves.cowden_clay() and openpile.soilmodels.Cowden_clay that was amplifying
    the soil resistance and yielding unrealistic forces in the pile.

ADDED

  • new method to retrieve the p-y mobilisation of springs in Results via the .py_mobilization()
  • update to the connectivity plot openpile.construct.Model.plot() that adds the soil profile to the plot
    if a soil profile is fed to the model.
  • tz- and Qz-curves following the well-known API standards are now included in openpile.utils
  • updates to the documentation
  • API p-y curves now officially unit tested

OpenPile version 0.2.0

24 Apr 19:22
964f3e9

Choose a tag to compare

  • new Pile constructor openpile.construct.Pile.create_tubular creating a
    circular and hollow steel pile of constant cross section.
  • new properties for openpile.construct.Pile: weight and volume
  • new openpile.construct.Pile method: set_I() to change the second moment of area of a given pile segment
  • new SoilProfile.plot() method to visualize the soil profile
  • API sand and API clay curves and models now accept kind instead of Neq arguments to differentiate between
    static and cyclic curves
  • create() methods in the construct module are now deprecated and should not be used anymore. Precisely, that is the
    case for openpile. construct.Pile.create() and openpile.construct.Model.create().