Releases: robbievanleeuwen/section-properties
Releases · robbievanleeuwen/section-properties
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
v1.0.8
- All plots now return figure and axes objects
- Fix bug in frame_properties causing the program to crash under certain circumstances
v1.0.7
- 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
v1.0.5
- Added calculation of monosymmetric constants
- Added tapered flange I-section and channel sections
- Added solid elliptical and hollow elliptcal sections (BenjaminFraser)
- Added polygonal section (Agent6-6-6)
- Handle zero radius for all section classes; handle r_out < t for relevant sections
- Update Cee and Zed sections to account for short lips
v1.0.4
- Added a monosymmetric I-section class
- Extend the plastic centroid search range to the entire section
- Remove the pc_region variable from the plastic centroid calculation as it is no longer relevant
- Better verbose output for the plastic centroid calculation
v1.0.3
- Retrieve cross-section stresses using get_stress()
v1.0.2
- Fix returns for adding to geometry
v1.0.0
- Initial release of the package rebuild.