Recent Releases of sectionproperties
sectionproperties - v3.9.0
This release adds a rectangular CLT geometry to the section library and updates several dev dependencies!
What's Changed
:rocket: Features
- Add rectangular CLT section to (new) timber sections library (#466) @jchkoch
:bug: Fixes
- Fix
readthedocsbuilds (#543) @robbievanleeuwen
:package: Dependencies
- Bump version to v3.9.0 (#557) @robbievanleeuwen
- Update lockfile (#555) @robbievanleeuwen
- Revert sphinx version (#554) @robbievanleeuwen
- Bump astral-sh/setup-uv from v5 to v6 (#553) @robbievanleeuwen
- Bump sphinx from 8.1.3 to 8.2.3 (#552) @robbievanleeuwen
- Bump ipython from 9.0.1 to 9.2.0 (#551) @robbievanleeuwen
- Bump astral-sh/ruff-pre-commit from 0.9.9 to 0.11.7 (#550) @robbievanleeuwen
- Bump notebook from 7.3.2 to 7.4.1 (#549) @robbievanleeuwen
- Bump coverage from 7.6.12 to 7.8.0 (#548) @robbievanleeuwen
- Bump sphinxext-opengraph from 0.9.1 to 0.10.0 (#547) @robbievanleeuwen
- Bump pytest-check from 2.5.0 to 2.5.3 (#546) @robbievanleeuwen
- Bump pyright from 1.1.396 to 1.1.400 (#545) @robbievanleeuwen
- Bump pre-commit from 4.1.0 to 4.2.0 (#544) @robbievanleeuwen
- Bump uv from 0.6.4 to 0.6.17 (#542) @robbievanleeuwen
- Bump rhino3dm from 8.17.0b0 to 8.17.0 (#541) @robbievanleeuwen
Full changelog: v3.8.0...v3.9.0
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] 8 months ago
sectionproperties - v3.8.0
This release adds support for python 3.13 and drops support for python 3.10!
What's Changed
:boom: Breaking Changes
- Drop python 3.10 support (#528) @robbievanleeuwen
:rocket: Features
- Support python 3.13 (#535) @robbievanleeuwen
:books: Documentation
- Fix license reference in README.md (#505) @emmanuel-ferdman
:package: Dependencies
- Bump version to v3.8.0 (#537) @robbievanleeuwen
- Swap
find_holesout forfilter_polygonsinload_dxf(geometry.py) (#536) @robbievanleeuwen, @EdwardAstill - Bump rhino3dm from 8.9.0 to 8.17.0b0 (#534) @robbievanleeuwen
- Bump shapely from 2.0.6 to 2.0.7 (#533) @robbievanleeuwen
- Bump cytriangle from 1.0.3 to 2.0.0 (#532) @robbievanleeuwen
- Bump pyright from 1.1.389 to 1.1.396 (#531) @robbievanleeuwen
- Bump coverage from 7.6.8 to 7.6.12 (#530) @robbievanleeuwen
- Bump nbsphinx from 0.9.5 to 0.9.7 (#529) @robbievanleeuwen
- Bump notebook from 7.2.2 to 7.3.2 (#527) @robbievanleeuwen
- Bump pytest-check from 2.4.1 to 2.5.0 (#523) @robbievanleeuwen
- Bump ipython from 8.29.0 to 9.0.1 (#518) @robbievanleeuwen
- Bump nbconvert from 7.16.4 to 7.16.6 (#520) @robbievanleeuwen
- Bump pre-commit from 4.0.1 to 4.1.0 (#521) @robbievanleeuwen
- Bump pytest from 8.3.3 to 8.3.5 (#522) @robbievanleeuwen
- Bump ipympl from 0.9.4 to 0.9.7 (#515) @robbievanleeuwen
- Bump astral-sh/ruff-pre-commit from 0.8.0 to 0.9.9 (#514) @robbievanleeuwen
- Bump astral-sh/setup-uv from v3 to v5 (#513) @robbievanleeuwen
- Bump uv from 0.5.2 to 0.6.4 (#512) @robbievanleeuwen
Full changelog: v3.7.3...v3.8.0
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] 10 months ago
sectionproperties - v3.7.3
This release loosens strict dependency versions.
What's Changed
:package: Dependencies
- Bump version to v3.7.3 (#504) @robbievanleeuwen
- Change dependency specifiers from
~=to>=(#503) @robbievanleeuwen
Full changelog: v3.7.2...v3.7.3
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] about 1 year ago
sectionproperties - v3.7.2
This release bumps several dependencies.
What's Changed
:lipstick: Style
- Format yml files (#496) @robbievanleeuwen
:package: Dependencies
- Bump version to v3.7.2 (#501) @robbievanleeuwen
- Bump kynan/nbstripout from 0.8.0 to 0.8.1 (#500) @robbievanleeuwen
- Bump coverage from 7.6.7 to 7.6.8 (#499) @robbievanleeuwen
- Bump rich from 13.9.3 to 13.9.4 (#498) @robbievanleeuwen
- Bump astral-sh/ruff-pre-commit from 0.7.4 to 0.8.0 (#497) @robbievanleeuwen
Full changelog: v3.7.1...v3.7.2
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] about 1 year ago
sectionproperties - v3.7.1
This release adds an optional r_in argument to the rectangular hollow section function in the steel sections library.
What's Changed
:rocket: Features
- Add inner radius argument to
rectangular_hollow_section()(#493) @robbievanleeuwen
:package: Dependencies
- Bump version to v3.7.1 (#494) @robbievanleeuwen
Full changelog: v3.7.0...v3.7.1
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] about 1 year ago
sectionproperties - v3.7.0
This release adds several reinforced concrete wall and core geometries to the built-in section library. Check out the updated concrete sections library here! This release also provides support for NumPy v2!
What's Changed
:rocket: Features
- Add concrete wall geometries to the section library (#484) @robbievanleeuwen
:package: Dependencies
- Bump version to v3.7.0 (#491) @robbievanleeuwen
- Bump microsoft/pyright from 1.1.387 to 1.1.389 (#488) @robbievanleeuwen
- Bump kynan/nbstripout from 0.7.1 to 0.8.0 (#490) @robbievanleeuwen
- Bump codecov/codecov-action from v4 to v5 (#489) @robbievanleeuwen
- Bump nedbat/coveragepy from 7.6.4 to 7.6.7 (#487) @robbievanleeuwen
- Bump astral-sh/ruff from 0.7.1 to 0.7.4 (#486) @robbievanleeuwen
- Bump astral-sh/uv from 0.4.29 to 0.5.2 (#485) @robbievanleeuwen
- Add numpy 2 support (#475) @robbievanleeuwen
Full changelog: v3.6.0...v3.7.0
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] about 1 year ago
sectionproperties - v3.6.0
This release introduces the calculation of the yield moment when material properties are applied to the section. The yield moment is calculated as part of the geometric analysis with calculate_geometric_properties() and can be retrieved with the get_my() or get_my_p() methods.
What's Changed
:rocket: Features
- Add shape factors for composite analyses (#480) @robbievanleeuwen
- Add yield moment calculation (#476) @robbievanleeuwen
:package: Dependencies
- Bump version to v3.6.0 (#481) @robbievanleeuwen
- Bump microsoft/pyright from 1.1.386 to 1.1.387 (#479) @robbievanleeuwen
- Bump ionelmc/pytest-benchmark from 4.0.0 to 5.1.0 (#478) @robbievanleeuwen
- Bump astral-sh/uv from 0.4.27 to 0.4.29 (#477) @robbievanleeuwen
Full changelog: v3.5.0...v3.6.0
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] about 1 year ago
sectionproperties - v3.5.0
What's Changed
:construction_worker: Continuous Integration :hammer: Refactoring :lipstick: Style
- Use uv & ruff in favour of poetry, nox, black, flake8 etc. (#469) @robbievanleeuwen
:package: Dependencies
- Bump version to v3.5.0 (#472) @robbievanleeuwen
- Add uv dependency groups (#470) @robbievanleeuwen
Full changelog: v3.4.0...v3.5.0
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] about 1 year ago
sectionproperties -
This release contains several important bug fixes and dependency updates.
Python 3.9 support is dropped ahead of the upcoming 3.13 release. Python 3.13 support will be added once all the core upstream dependencies support 3.13.
A bug in the CompoundGeometry offset dilation algorithm was fixed by @connorferster, a live stream of this fix can be watched here.
Most importantly a critical bug in the plastic moment calculation was found and fixed, see issue #460. Note that this bug affected plastic moment calculations for composite sections only, the plastic centroid calculation and geometric-only analyses were unaffected.
What's Changed
:bug: Fixes
- Fix plastic calculation for composite sections (#462) @robbievanleeuwen
- Fix
CompoundGeometryoffset perimeter (dilation creates overlapping geometry) (#332) @robbievanleeuwen
:construction_worker: Continuous Integration
- Fix coverage upload GH action (#458) @robbievanleeuwen
:package: Dependencies
- Remove python 3.9, update core dependencies, build docs on 3.12 (#464) @robbievanleeuwen
- Update and pin dev dependencies (#463) @robbievanleeuwen
- Bump virtualenv from 20.26.3 to 20.26.6 in /.github/workflows (#461) @dependabot
- Bump pypa/gh-action-pypi-publish from 1.10.1 to 1.10.2 (#459) @dependabot
- Bump pip from 24.1.2 to 24.2 in /.github/workflows (#451) @dependabot
- Bump pypa/gh-action-pypi-publish from 1.9.0 to 1.10.1 (#457) @dependabot
- Bump jupyterlab from 4.2.1 to 4.2.5 (#454) @dependabot
- Bump notebook from 7.2.0 to 7.2.2 (#453) @dependabot
- Bump codecov/codecov-action from 4.2.0 to 4.5.0 (#447) @dependabot
- Bump pip from 24.0 to 24.1.2 in /.github/workflows (#450) @dependabot
- Bump certifi from 2024.2.2 to 2024.7.4 (#448) @dependabot
- Bump zipp from 3.18.2 to 3.19.1 (#449) @dependabot
- Bump virtualenv from 20.26.2 to 20.26.3 in /.github/workflows (#446) @dependabot
Full changelog: v3.3.0...v3.4.0
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] about 1 year ago
sectionproperties -
This release swaps the new Triangle wrapper, CyTriangle, for triangle, thus supporting users with Apple Silicon (macos-arm64). Many thanks for @m-clare for the hard work with this new package!
What's Changed
:rocket: Features
- Update dependencies to swap in cytriangle (#439) @connorferster
:bug: Fixes
- Fix
scipydeprecation forsparse.linalg.cgs()(#444) @robbievanleeuwen
:books: Documentation
- Update references to CyTriangle (#443) @robbievanleeuwen
:package: Dependencies
- Bump codecov/codecov-action from 3.1.4 to 4.2.0 (#414) @dependabot
- Bump pypa/gh-action-pypi-publish from 1.8.14 to 1.9.0 (#441) @dependabot
- Bump urllib3 from 2.2.1 to 2.2.2 (#442) @dependabot
- Bump virtualenv from 20.26.1 to 20.26.2 in /.github/workflows (#435) @dependabot
- Bump tornado from 6.4 to 6.4.1 (#438) @dependabot
- Bump poetry from 1.8.2 to 1.8.3 in /.github/workflows (#436) @dependabot
Full changelog: v3.2.2...v3.3.0
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] over 1 year ago
sectionproperties -
What's Changed
:bug: Fixes
- Fix angle_section bug when the toe thickness equals the section thickness (#429) @robbievanleeuwen
:construction_worker: Continuous Integration
- Only run plotting tests on linux (#430) @robbievanleeuwen
- Fix MacOS Tests (#427) @robbievanleeuwen
:package: Dependencies
- Update rhino3dm to allow python 3.12 (#431) @robbievanleeuwen
- Bump nox from 2024.3.2 to 2024.4.15 in /.github/workflows (#423) @dependabot
- Bump virtualenv from 20.25.1 to 20.26.1 in /.github/workflows (#422) @dependabot
- Bump jinja2 from 3.1.3 to 3.1.4 (#424) @dependabot
- Bump requests from 2.31.0 to 2.32.0 (#425) @dependabot
Full changelog: v3.2.1...v3.2.2
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] over 1 year ago
sectionproperties -
Release for JOSS publication and dependency updates.
What's Changed
:construction_worker: Continuous Integration
- Temporary GHA pipx fix (#417) @robbievanleeuwen
:package: Dependencies
- Bump nox from 2023.4.22 to 2024.3.2 in /.github/workflows (#410) @dependabot
- Bump pillow from 10.2.0 to 10.3.0 (#412) @dependabot
- Bump idna from 3.6 to 3.7 (#416) @dependabot
- Bump black from 24.2.0 to 24.3.0 (#408) @dependabot
- Bump pypa/gh-action-pypi-publish from 1.8.12 to 1.8.14 (#406) @dependabot
Full changelog: v3.2.0...v3.2.1
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] over 1 year ago
sectionproperties -
This release adds Python 3.12 support!
What's Changed
:rocket: Features
- Add python 3.12 support (#404) @robbievanleeuwen
Full changelog: v3.1.3...v3.2.0
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 2 years ago
sectionproperties -
This release updates core and dev dependencies, as well as minor docs changes.
What's Changed
:books: Documentation
- Add jupyter notebook instructions to Examples page (#386) @robbievanleeuwen
- Add JOSS badge to README (#384) @robbievanleeuwen
:package: Dependencies
- Update dependencies (#403) @robbievanleeuwen
- Bump poetry from 1.7.1 to 1.8.2 in /.github/workflows (#402) @dependabot
- Bump actions/cache from 3 to 4 (#391) @dependabot
- Bump release-drafter/release-drafter from 5.25.0 to 6.0.0 (#395) @dependabot
- Bump virtualenv from 20.25.0 to 20.25.1 in /.github/workflows (#397) @dependabot
- Bump pip from 23.3.2 to 24.0 in /.github/workflows (#398) @dependabot
- Bump pypa/gh-action-pypi-publish from 1.8.11 to 1.8.12 (#400) @dependabot
- Bump jupyter-lsp from 2.2.1 to 2.2.2 (#388) @dependabot
- Bump notebook from 7.0.6 to 7.0.7 (#389) @dependabot
- Bump jupyterlab from 4.0.9 to 4.0.11 (#390) @dependabot
- Bump pillow from 10.1.0 to 10.2.0 (#392) @dependabot
- Bump jinja2 from 3.1.2 to 3.1.3 (#387) @dependabot
- Bump pip from 23.3.1 to 23.3.2 in /.github/workflows (#385) @dependabot
- Bump mypy from 1.6.1 to 1.7.1 (#377) @robbievanleeuwen
- Bump ipython from 8.17.2 to 8.18.1 (#374) @robbievanleeuwen
- Bump sphinx-click from 5.0.1 to 5.1.0 (#383) @robbievanleeuwen
- Bump pre-commit from 3.5.0 to 3.6.0 (#379) @robbievanleeuwen
- Bump rich from 13.5.0 to 13.7.0 (#382) @robbievanleeuwen
- Bump pypardiso from 0.4.2 to 0.4.4 (#381) @robbievanleeuwen
- Bump pygments from 2.16.1 to 2.17.2 (#380) @robbievanleeuwen
- Bump nbconvert from 7.10.0 to 7.13.0 (#378) @robbievanleeuwen
- Bump matplotlib from 3.8.0 to 3.8.2 (#376) @robbievanleeuwen
- Bump isort from 5.12.0 to 5.13.2 (#375) @robbievanleeuwen
- Bump ipykernel from 6.26.0 to 6.27.1 (#373) @robbievanleeuwen
- Bump coverage from 7.3.2 to 7.3.3 (#371) @robbievanleeuwen
- Bump flake8-bugbear from 23.9.16 to 23.12.2 (#372) @robbievanleeuwen
- Bump black from 23.10.1 to 23.12.0 (#370) @robbievanleeuwen
- Bump poetry from 1.6.1 to 1.7.1 in /.github/workflows (#362) @dependabot
- Bump actions/setup-python from 4 to 5 (#367) @dependabot
- Bump jupyter-server from 2.9.1 to 2.11.2 (#365) @dependabot
- Bump pypa/gh-action-pypi-publish from 1.8.10 to 1.8.11 (#364) @dependabot
- Bump virtualenv from 20.24.6 to 20.25.0 in /.github/workflows (#363) @dependabot
- Bump actions/checkout from 3 to 4 (#359) @dependabot
Full changelog: v3.1.2...v3.1.3
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 2 years ago
sectionproperties -
This release makes numba an optional dependency, adds strict mypy type checking and modifies the application of the Lagrangian Multipler method.
What's Changed
:rocket: Features
- Add
plot_warping_function(), enforce Lagrangian Multiplier constraint (#343) @TLCFEM
:bug: Fixes
- Fix optional njit decorator (#352) @robbievanleeuwen
- Plot warping function only over section extents (#345) @robbievanleeuwen
Section.calculate_stress()fixes - suppress numba performance warning, fix time info stuck at 0% (#341) @robbievanleeuwen
:books: Documentation
- JOSS Paper (#342) @robbievanleeuwen
- Joss CMF (#356) @connorferster
:lipstick: Style
- Implement
mypy(#344) @robbievanleeuwen
:package: Dependencies
- Update dev dependencies, pin intel-openmp (#357) @robbievanleeuwen
- Bump virtualenv from 20.24.5 to 20.24.6 in /.github/workflows (#354) @dependabot
- Bump pip from 23.2.1 to 23.3.1 in /.github/workflows (#355) @dependabot
- Bump release-drafter/release-drafter from 5.24.0 to 5.25.0 (#351) @dependabot
- Relax core dependencies for better compatibility, bump dev dependencies (#350) @robbievanleeuwen
- Make
numbaan optional dependency (#349) @robbievanleeuwen
Full changelog: v3.1.1...v3.1.2
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] about 2 years ago
sectionproperties -
Minor release for Zenodo archival.
What's Changed
- No changes
Full changelog: v3.1.0...v3.1.1
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] about 2 years ago
sectionproperties -
⭐ Highlights
- Get significant performance improvements for large meshes by using the
pardisosolver, see installation docs here. Further performance gains with the introduction ofnumba, both thanks to @TLCFEM. - Vastly increased the number of tests, including 19 extra validation tests from Pilkey (2002), three of which can be found in the examples.
- Added benchmark tests to aid performance improvements.
- Rhino methods are now support in python 3.10 and 3.11.
What's Changed
:racehorse: Performance
- Add numba, pardiso (#324) @TLCFEM
:rotating_light: Testing
- Exclude benchmarks from test coverage (#339) @robbievanleeuwen
- Add benchmark tests (#336) @robbievanleeuwen
- Restructure tests directory, add further validation tests (including many examples from Pilkey), improve tests coverage, add flake8-pytest-style (#329) @robbievanleeuwen
:construction_worker: Continuous Integration
- Add nbQA to pre-commit (runs black, isort and pyupgrade on jupyter notebooks) (#333) @robbievanleeuwen
- Restructure tests directory, add further validation tests (including many examples from Pilkey), improve tests coverage, add flake8-pytest-style (#329) @robbievanleeuwen
:books: Documentation
- Add validation examples from Pilkey (Symmetric Channel Section, Circular Arc, Composite Rectangular Strip) (#335) @robbievanleeuwen
- Fix docstring for StressPost.get_stress() (#330) @robbievanleeuwen
:package: Dependencies
- Build docs with python 3.10, pre-commit with python 3.11 (#338) @robbievanleeuwen
- Bump rhino3dm from 8.0.0b2 to 8.0.0b3, remove python 3.10 & 3.11 restriction for
rhinoextra (#337) @robbievanleeuwen - Bump pre-commit-hooks from 4.4.0 to 4.5.0, pyupgrade from 3.14.0 to 3.15.0 (#334) @robbievanleeuwen
Full changelog: v3.0.2...v3.1.0
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] about 2 years ago
sectionproperties -
This release restores the top reinforcement distribution for concreteteesections() present in sectionproperties v2.1.5. It also includes some minor docs fixes, CI updates and dependency updates.
What's Changed
:bug: Fixes
- Fix concreteteesection() top bar distribution (#325) @robbievanleeuwen
:construction_worker: Continuous Integration
- Update noxfile.py with correct docs dependencies, fix double CI builds (#327) @robbievanleeuwen
:books: Documentation
- Fix links in documentation (#326) @robbievanleeuwen
:package: Dependencies
- Bump jupyter/nbconvert from 7.8.0 to 7.9.2 (#328) @robbievanleeuwen
Full changelog: v3.0.1...v3.0.2
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] about 2 years ago
sectionproperties -
This release addresses a bug with the concrete rectangular section side bars and bumps several python and github actions dependencies.
What's Changed
:bug: Fixes
- Fix concreterectangularsection() bug when n_side=1 (#322) @TLCFEM
:package: Dependencies
- Bump pypa/gh-action-pypi-publish from 1.5.0 to 1.8.10 (#301) @dependabot
- Bump actions/setup-python from 3 to 4 (#304) @dependabot
- Bump crazy-max/ghaction-github-labeler from 4.0.0 to 5.0.0 (#305) @dependabot
- Bump release-drafter/release-drafter from 5.20.0 to 5.24.0 (#307) @dependabot
- Bump actions/checkout from 3 to 4 (#308) @dependabot
- Bump salsify/action-detect-and-tag-new-version from 2.0.1 to 2.0.3 (#319) @dependabot
- Bump coverage (7.3.1 to 7.3.2), pyupgrade (3.13.0 to 3.14.0) and prettier (2.7.1 to 3.0.3) (#323) @robbievanleeuwen
- Bump codecov/codecov-action from 3.1.0 to 3.1.4 (#320) @dependabot
Full changelog: v3.0.0...v3.0.1
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] about 2 years ago
sectionproperties -
:star: Highlights
- New, unambiguous section property retrieval with
get()methods, see an example here. - Improved stress plotting options (new colorbar features, mesh opacity, plot selected materials), see an example here.
- Improved documentation style and automation.
sectionpropertiesAPI now has full typing coverage.- Significantly expanded examples in the documentation.
- Add support for Python 3.11.
- Improved workflow, CI and contributor experience by introducing
poetryandnox.
:boom: Breaking Changes
- Update section property
get()methods behaviour as per #287 to circumvent confusion surrounding material weighted properties. An analysis without material properties uses theget_{property}()syntax, while an analysis with material properties typically uses theget_e{property}()syntax with the added option of retrieving transformed section properties. See here for a list of the newget()methods and here for a discussion surrounding this issue. - Stress plotting methods have been simplified to improve maintainability and code repetition. You can now plot stress results by using the
plot_stress()orplot_stress_vector()methods that belong to theStressPostobject. get_stress_at_point()method removed, use the more versatileget_stress_at_points()method instead.- Pythonic renaming of methods and variables, e.g.
get_As()becomesget_as()for retrieving shear areas, moments and shears change fromMxxandVxtomxxandvx. - Concrete section library - renamed argument names to be more pythonic, reinforcement now requires an area and diameter.
- Dropped support for Python 3.8 (#289).
:rocket: Features
- Packaging and dependency management with poetry.
- Improve length/readability of imports by placing key classes in
__init__.pyfiles, e.g.from sectionproperties.pre.library.primitive_sections import rectangular_sectionbecomesfrom sectionproperties.pre.library import rectangular_section - Significant analysis performance and readability improvements (#293, #298) thanks to @TLCFEM.
- Allow unlipped cee and zed sections (#300), thanks to @smith120bh.
- Export analysis results to fibre sections that can be used by the suanPan FEM platform (#295), thanks to @TLCFEM.
- Allow spline options to be specified when importing
.dxffiles (#292), thanks to @ccaprani. - Improved plotting options, including colorbar string formatting, mesh opacity options, custom colorbar limits, custom colorbar label, option to only plot selected materials (#291).
- Added option to specify minimum mesh angle (#290).
- Added support for Python 3.11 (#289).
:bug: Fixes
- Fix symmetric difference operation not auto-detecting holes in the geometry (#297), thanks to @connorferster.
- Provide clarity on how to create arbitrary sections without a facet list (#294).
- CGS solver fix (#268), thanks to @simo-11.
:rotating_light: Testing
- Use
nox&nox-poetryfor testing. - Move
test_plastic_centroid()totest_plastic.py. - Various tests added.
:construction_worker: Continuous Integration
- Add
poetryintegration and detailed contributor guidelines. - Added labeller and release drafter automation.
- Added pre-commit checks.
- Updated all workflows.
:books: Documentation
- Changed documentation theme to furo.
- General overhaul of the documentation.
- Auto-generate API documentation using
sphinx.ext.autodoc. - Auto-generate images in documentation using the
matplotlibplot directive. - Change examples from sphinx gallery to jupyter notebook style with
nbsphinx. - Add
intersphinxmappings.
:lipstick: Style
- Fully implement typing.
- Added
flake8linter to pre-commit. - Added
darglintdocstring linter to pre-commit. - Added
isortto pre-commit. - Added
pyupgradeto pre-commit. - General refactor to improve readability and maintainability, e.g. reduce amount of code in
section.py:PlasticSection->plastic_section.py,StressPostandStressResult->stress_post.py,SectionProperties->post.py. - Generally changed type of a point from
list[float]to atuple(float, float).
Other
- Restructured package by adding
srcfolder.
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] about 2 years ago
sectionproperties - 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
Scientific Software - Peer-reviewed
- Python
Published by robbievanleeuwen almost 3 years ago
sectionproperties - 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
Scientific Software - Peer-reviewed
- Python
Published by robbievanleeuwen about 3 years ago
sectionproperties - 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
Scientific Software - Peer-reviewed
- Python
Published by robbievanleeuwen over 3 years ago
sectionproperties - v2.1.2
- Make rhino-shapley-interop an optional dependency
Full changelog: 2.1.1...2.1.2
Scientific Software - Peer-reviewed
- Python
Published by robbievanleeuwen over 3 years ago
sectionproperties - 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
Scientific Software - Peer-reviewed
- Python
Published by robbievanleeuwen over 3 years ago
sectionproperties - 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
Scientific Software - Peer-reviewed
- Python
Published by robbievanleeuwen over 3 years ago
sectionproperties - 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
Scientific Software - Peer-reviewed
- Python
Published by robbievanleeuwen almost 4 years ago
sectionproperties - v2.0.2
- Add circularsectionby_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 supertgirder_section() which caused type 5 to be returned in all cases
- Require matplotlib >= 3.4 for CenteredNorm
Scientific Software - Peer-reviewed
- Python
Published by robbievanleeuwen almost 4 years ago
sectionproperties - v2.0.1
- Fix issue with library module
Scientific Software - Peer-reviewed
- Python
Published by robbievanleeuwen almost 4 years ago
sectionproperties - 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
Scientific Software - Peer-reviewed
- Python
Published by robbievanleeuwen almost 4 years ago
sectionproperties - v1.0.8
- All plots now return figure and axes objects
- Fix bug in frame_properties causing the program to crash under certain circumstances
Scientific Software - Peer-reviewed
- Python
Published by robbievanleeuwen about 5 years ago
sectionproperties - 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
Scientific Software - Peer-reviewed
- Python
Published by robbievanleeuwen over 5 years ago
sectionproperties - 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
Scientific Software - Peer-reviewed
- Python
Published by robbievanleeuwen over 6 years ago
sectionproperties - 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
Scientific Software - Peer-reviewed
- Python
Published by robbievanleeuwen over 6 years ago
sectionproperties - v1.0.3
- Retrieve cross-section stresses using get_stress()
Scientific Software - Peer-reviewed
- Python
Published by robbievanleeuwen almost 7 years ago
sectionproperties - v1.0.2
- Fix returns for adding to geometry
Scientific Software - Peer-reviewed
- Python
Published by robbievanleeuwen about 7 years ago
sectionproperties - v1.0.0
- Initial release of the package rebuild.
Scientific Software - Peer-reviewed
- Python
Published by robbievanleeuwen about 7 years ago