Releases: robbievanleeuwen/section-properties
Releases · robbievanleeuwen/section-properties
v2.1.5
- Fix shapely 2.0 imports and STRtree implementation, with thanks to @normanrichardson
- Add support for python 3.10, drop support for python 3.7
Full changelog: 2.1.4...2.1.5
v2.1.4
- Add side bar option to
concrete_rectangular_section(), thanks to @Agent6-6-6 - Fix difference operation raising an error, thanks to @connorferster
- Added
concrete_column_section()andadd_bar()methods, thanks to @connorferster
Full changelog: 2.1.3...2.1.4
v2.1.3
- Retrieve cross-section stresses at any point using
get_stress_at_point()orget_stress_at_points(), many thanks to @normanrichardson - Fix plot legend formatting, thanks to @Agent6-6-6
- Added ability for
Geometry.align_center()andCompoundGeometry.align_center()to accept anx,ycoordinate as a valid input, thanks to @connorferster - Only require a warping analysis to be performed for a stress analysis if the shear force or twisting moment is non-zero.
Full changelog: 2.1.2...2.1.3
v2.1.2
- Make rhino-shapley-interop an optional dependency
Full changelog: 2.1.1...2.1.2
v2.1.1
- Use Lagrangian multiplier for calculation of torsion properties
- Add more plotting options to
plot_geometry()
Full changelog: 2.1.0...2.1.1
v2.1.0
- Add
bulb_section()to steel sections library, thanks to @zmpulse - Add progress bar and pretty output using rich
- Fix logic of generating holes in CompoundGeometry using the subtraction method, thanks to @connorferster
- Expand testing suite and documentation, thanks to @czarified
- Fix bug with plastic calculation when material properties are specified
- Add warning message for disconnected geometries when trying to calculate warping properties, thanks to @connorferster
- Fix bug with material properties not being assigned when using the
CompoundGeometry.from_points()method, thanks to @connorferster
Full changelog: 2.0.3...2.1.0
v2.0.3
- Add top reinforcement to concrete section library sections
- Add option to specify concrete circle area to
concrete_circular_section() - Update concrete section library to prevent overlapping geometries
- Fix implementation of
GeometryandCompoundGeometry.__sub__()method - Add method to detect overlapping geometry errors and generate warning
- Add option to create coarse mesh (no angle or area constraints)
- Update
rhino-shapley-interopandcad_to_shapelyrequirements
Full changelog: 2.0.2...2.0.3
v2.0.2
- Add circular_section_by_area() in the section library
- Add option to define reinforcement by area rather than diameter for all concrete sections in the section library
- Fix bug in super_t_girder_section() which caused type 5 to be returned in all cases
- Require matplotlib >= 3.4 for CenteredNorm
v2.0.1
- Fix issue with library module
v2.0.0
sectionproperties v2 incorporates significant changes to the pre-processor, which now uses the Shapely package to power advanced geometry creation and manipulation, and vastly improves the performance and robustness of the plastic section property algorithm. v2.x.x introduces many breaking changes from v1.x.x when creating and manipulating Geometry, refer to the documentation for more information.
Pre-Processor:
A special mention to @connorferster for a majority of these fantastic additions!
sections.pyrenamed togeometry.py- All
Geometryobjects are defined by a shapelyPolygon - Addition of new geometry manipulation methods and geometry set operators
- Added .dxf import, thanks to @aegis1980
- Added .3dm import, thanks to @normanrichardson
- Introduction of a
CompoundGeometryclass for geometries with multiple regions Geometryobjects are assigned aMaterialproperty object,CompoundGeometryobjects can contain multipleGeometryobjects (each with their ownMaterialobject) enabling composite analysisGeometryandCompoundGeometryobjects contain mesh information and meshing must be performed before initialising aSectionobject- Improved
.offset_perimeter()logic - Meshing is now performed by triangle, meshpy is no longer a dependency
Materialclass now requires a.densityparameter- The section library (
sectionproperties.pre.library) now contains the built-in sectionproperties geometries - Added
triangular_section()andtriangular_radius_section()to theprimitive_sectionslibrary - Added
concrete_sectionslibrary - containsconcrete_rectangular_section(),concrete_tee_section()andconcrete_circular_section() - Added
bridge_sectionlibrary, thanks to @ccaprani - containssuper_t_girder_section()andi_girder_section()
Analysis:
cross_section.pyrenamed tosection.pyCrossSectionobject renamed toSectionand is now initialised with only aGeometryorCompoundGeometryobject- Added calculation of cross-section mass
- Added calculation of weighted material properties - E_eff, G_eff, nu_eff
- The plastic algorithm is now performed by shapely, improving performance and robustness
- Added calculation of principal stresses, thanks to @ccaprani
- Shape factors are no longer calculated for composite sections (irrelevant property)
Post-Processor:
- Added the
plotting_context()manager, allowing easily saving files, passing kwargs topyplot.subplots()and much more! Many thanks to @Spectre5 - Improved contour plotting behaviour
- Added plotting of Mohr's circle of stresses for any given point, thanks to @ccaprani
.display_results()now reports E.J and E.Iw instead of G.J and G.Iw.display_results()now reports modulus weighted shear areas for composite sections
Misc.:
- Many spelling and code style fixes, thanks to @Spectre5
- Updated documentation to include theoretical background
- Updated examples to be performed by sphinx-gallery, thanks to @normanrichardson and @Spectre5