Skip to content

Releases: robbievanleeuwen/section-properties

v2.1.3

02 Sep 10:10
Compare
Choose a tag to compare
  • Retrieve cross-section stresses at any point using get_stress_at_point() or get_stress_at_points(), many thanks to @normanrichardson
  • Fix plot legend formatting, thanks to @Agent6-6-6
  • Added ability for Geometry.align_center() and CompoundGeometry.align_center() to accept an x, y coordinate 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

15 Jul 08:02
Compare
Choose a tag to compare
  • Make rhino-shapley-interop an optional dependency

Full changelog: 2.1.1...2.1.2

v2.1.1

10 Jul 13:20
Compare
Choose a tag to compare
  • 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

20 Jun 04:56
8b0f07d
Compare
Choose a tag to compare
  • 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

08 Mar 00:10
Compare
Choose a tag to compare
  • 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 Geometry and CompoundGeometry .__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-interop and cad_to_shapely requirements

Full changelog: 2.0.2...2.0.3

v2.0.2

24 Jan 07:02
Compare
Choose a tag to compare
  • 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

16 Jan 09:14
Compare
Choose a tag to compare
  • Fix issue with library module

v2.0.0

16 Jan 08:44
cd33e7d
Compare
Choose a tag to compare

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.py renamed to geometry.py
  • All Geometry objects are defined by a shapely Polygon
  • 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 CompoundGeometry class for geometries with multiple regions
  • Geometry objects are assigned a Material property object, CompoundGeometry objects can contain multiple Geometry objects (each with their own Material object) enabling composite analysis
  • Geometry and CompoundGeometry objects contain mesh information and meshing must be performed before initialising a Section object
  • Improved .offset_perimeter() logic
  • Meshing is now performed by triangle, meshpy is no longer a dependency
  • Material class now requires a .density parameter
  • The section library (sectionproperties.pre.library) now contains the built-in sectionproperties geometries
  • Added triangular_section() and triangular_radius_section() to the primitive_sections library
  • Added concrete_sections library - contains concrete_rectangular_section(), concrete_tee_section() and concrete_circular_section()
  • Added bridge_section library, thanks to @ccaprani - contains super_t_girder_section() and i_girder_section()

Analysis:

  • cross_section.py renamed to section.py
  • CrossSection object renamed to Section and is now initialised with only a Geometry or CompoundGeometry object
  • 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 to pyplot.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

v1.0.8

20 Dec 06:55
Compare
Choose a tag to compare
  • All plots now return figure and axes objects
  • Fix bug in frame_properties causing the program to crash under certain circumstances

v1.0.7

08 Jun 13:04
Compare
Choose a tag to compare
  • Fix bug with geometry cleaning algorithm resulting in an infinite loop
  • Added NASTRAN sections (JohnDN90)
  • Added tight_layout to plots (Nils Wagner)
  • Added BoxGirderSection class
  • Added cross-section perimeter calculation
  • Added perimeter offset method (BETA)
  • Added mesh refinement example to docs