Releases: TchilDill/openpile
Releases · TchilDill/openpile
OpenPile release 1.0.1
OpenPile release 1.0.0
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
PileMaterialclass in the newopenpile.materialsmodule is now used to determine the material of the structure. Such material can now be customised by users by creating a new instance ofopenpile.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 moduleopenpile.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_clayand the mofidied_Matlock models, new function and new model can be seen here:Openpile.utils.py_curves.modified_Matlock()andOpenpile.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.calculateare now dependent onopenpile.construct.Pileandopenpile.construct.SoilProfileinstead ofopenpile.construct.Model. - module
openpile.analyzeobject renamed toopenpile.winkler. - class
AnalyzeResultobject renamed toWinklerResult. - module
openpile.multipliersobject renamed toopenpile.hooks.
Deleted
- The functions
openpile.analyze.simple_beam_analysis()andopenpile.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.Ecannot be overriden anymore, instead use the new feature where any material can be provided to the pile viaopenpile.materials.PileMaterial. - The method
openpile.construct.Model.get_pointload()is now deprecated and cannot be used anymore. Use the propertyopenpile.construct.Model.boundary_conditionsinstead to list all boundary conditions.
OpenPile release 0.7.1
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
Added
- Added soil models:
openpile.soilmodels.Bothkennar_clayfrom the PISA joint-industry project- corresponding py- mt- Hb- and Mb- curves for Bothkennar clay.
OpenPile version 0.6.0
Added
- added properties to
Pileobject:openpile.construct.Pile.tip_areaandopenpile.construct.Pile.tip_footprint
- added soil springs:
openpile.utils.py_curves.custom_pisa_sandandopenpile.utils.py_curves.custom_pisa_clayopenpile.utils.mt_curves.custom_pisa_sandandopenpile.utils.mt_curves.custom_pisa_clayopenpile.utils.Hb_curves.custom_pisa_sandandopenpile.utils.Hb_curves.custom_pisa_clayopenpile.utils.Mb_curves.custom_pisa_sandandopenpile.utils.Mb_curves.custom_pisa_clay
- added soil models:
openpile.soilmodels.Custom_pisa_sandandopenpile.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.multipliersand are the following:get_cowden_clay_(..)_norm_param()andget_dunkirk_sand_(..)_norm_param().
OpenPile version 0.5.0
ADDED
- soil spring
openpile.utils.py_curves.reese_weakrock - soil model
openpile.soilmodels.Reese_weakrock
OpenPile version 0.4.0
ADDED
- Updates in documentation
- new methods available for
openpile.analyze.Resultclass:- new method
winkler()replacingsimple_winkler_analysis(), the use of the latter triggers a deprecation warning when used. - new method
beam()replacingsimple_beam_analysis(), the use of the latter triggers a deprecation warning when used. - new method
openpile.analyze.details()that provides summary of anAnalyzeResultobject.
- new method
- new methods available for
openpile.construct.Modelclass: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
SoilModelobjects. 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.multipliersmodule that stores validated functions for use in multipliers in SoilModels objects.
OpenPile version 0.3.3
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
FIXED
- fixed bug in
openpile.utils.mtcurves.cowden_clay()andopenpile.soilmodels.Cowden_claythat 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
- new Pile constructor
openpile.construct.Pile.create_tubularcreating a
circular and hollow steel pile of constant cross section. - new properties for
openpile.construct.Pile:weightandvolume - new
openpile.construct.Pilemethod: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
kindinstead ofNeqarguments 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 foropenpile. construct.Pile.create()andopenpile.construct.Model.create().