Releases: robbievanleeuwen/concrete-properties
v0.6.2
What's Changed
- Update core and dev dependencies (#106) @robbievanleeuwen
- Update AS3600.py to correctly calculate ku (#105) @darryllshanks
📦 Dependencies
- Bump poetry from 1.6.1 to 1.7.1 in /.github/workflows (#96) @dependabot
- Bump pypa/gh-action-pypi-publish from 1.8.10 to 1.8.11 (#97) @dependabot
- Bump actions/setup-python from 4 to 5 (#98) @dependabot
- Bump virtualenv from 20.24.6 to 20.25.0 in /.github/workflows (#102) @dependabot
- Bump pip from 23.3.1 to 23.3.2 in /.github/workflows (#101) @dependabot
- Bump actions/cache from 3 to 4 (#103) @dependabot
- Bump virtualenv from 20.24.5 to 20.24.6 in /.github/workflows (#93) @dependabot
- Bump pip from 23.2.1 to 23.3.1 in /.github/workflows (#92) @dependabot
- Bump release-drafter/release-drafter from 5.24.0 to 5.25.0 (#91) @dependabot
Full changelog: v0.6.1...v0.6.2
v0.6.1
This release maintains compatibility with sectionproperties
v3.1.0
and adds nbQA
and flake8-pytest-style
.
What's Changed
👷 Continuous Integration
- Bump sectionproperties to 3.1.0, add nbQA, add flake8-pytest-style (#90) @robbievanleeuwen
📦 Dependencies
- Bump sectionproperties to 3.1.0, add nbQA, add flake8-pytest-style (#90) @robbievanleeuwen
Full changelog: v0.6.0...v0.6.1
v0.6.0
⭐ Highlights
- Add support for Python 3.11.
- Improved workflow, CI and contributor experience by introducing
poetry
andnox
. - Improved documentation style and automation.
💥 Breaking Changes
- Dropped support for Python 3.8.
🚀 Features
- Packaging and dependency management with poetry.
- Improve length/readability of imports by placing key classes in
__init__.py
files, e.g.from concreteproperties.concrete_section import ConcreteSection
becomesfrom concreteproperties import ConcreteSection
- Added support for Python 3.11.
🚨 Testing
- Use
nox
&nox-poetry
for testing.
👷 Continuous Integration
- Add
poetry
integration and detailed contributor guidelines. - Added labeller and release drafter automation.
- Added pre-commit checks.
- Added dependabot.
- Updated all workflows.
📚 Documentation
- Changed documentation theme to furo.
- General overhaul of the documentation.
- Add
intersphinx
mappings.
💄 Style
- Added
flake8
linter to pre-commit. - Added
darglint
docstring linter to pre-commit. - Added
isort
to pre-commit. - Added
pyupgrade
to pre-commit.
Other
- Restructured package by adding
src
folder.
Full changelog: v0.5.1...v0.6.0
v0.5.1
- Add support for python 3.10
- Drop support for python 3.7
- Support shapely 2.0
Full changelog: v0.5.0...v0.5.1
v0.5.0
🎉 New Features 🎉
- 🇳🇿 NZS3101 Design Code & NZSEE C5 Assessment Guidelines (#40), big thanks to @Agent6-6-6. See more in the docs and in this example!
- 🏹 Prestressed Concrete Analysis (#73). See more in the docs and in this example!
- 📈 Modified Mander Non-Linear Profile (Confined & Unconfined Concrete) (#40), thanks to @Agent6-6-6. See more in the docs!
❌ Breaking Changes ❌
- Axial loads in
AS3600.ultimate_bending_capacity()
andAS3600.biaxial_bending_diagram()
are now defined through then_design
argument (previouslyn
) (#72).
Full changelog: v0.4.1...v0.5.0
v0.4.1
- Hotfix for
design_codes
module not included inv0.4.0
Full changelog: v0.4.0...v0.4.1
v0.4.0
Breaking Changes:
- Design codes are now accessed in the
design_code
subpackage, for examplefrom concreteproperties.design_codes import AS3600
becomesfrom concreteproperties.design_codes.as3600 import AS3600
- All moments are now calculated about the gross section centroid, rather than the composite section centroid to align with results from analysis programs, see more info in the assumptions section of the documentation. This default behaviour can be overriden in the
ConcreteSection
constructor, see here. moment_interaction_diagram()
now searches between thelimits
and accepts additionalcontrol_points
, refer to the documentation for the current implementation
Bug Fixes:
- Fix unintended error when MC analysis reaches end (#50), thanks to @Agent6-6-6
- Change gauss point locations (#55) to fix odd moment curvature results (#49)
- More robust bending capacity for AS3600 (#65) fixes find
concrete_section.ultimate_bending_capacity()
needs method for max compression load check (#41)
Enhancements:
- Add optional parameters to AS3600 moment interaction analysis (#59) to fix AS3600 moment interaction - change theta (#45)
- Update documentation (#60) fixes analysis assumptions in docs (#52) and add warning for simple stress-strain profiles re:moment-curvature analysis (#54)
- Adaptive step improvement (#61) fixes improve adaptive curvature step in moment-curvature analysis (#51) and now finds the point of failure (previously the analysis stopped prior to failure)
- Calculate moments about gross centroid (#62) fixes #53
- Implement AnalysisError and better error messages (#64) partially fixes #41
- Moment interaction diagram useability enhancements (#66) fixes #39
- There is now an option to turn off the progress bar in relevant analyses by setting
progress_bar=False
Full changelog: v0.3.1...v0.4.0
v0.3.1
- Fix legend for plotting section going outside plot region, thanks to @Agent6-6-6 (#35)
- Remove
alpha_squash
fromConcrete
material (#38)
Full changelog: v0.3.0...v0.3.1
v0.3.0
This version introduces introduces the concept of meshed reinforcement, allowing materials other than concrete to be meshed (variation of strain across region) which paves the way for composite analysis!
Bar reinforcement should now be assigned the SteelBar
material to utilise in-built efficiencies in idealising bars as lumped masses and enabling calculation of parameters such as k_u
.
Full details of the changes are listed below, note there are several breaking changes in this release.
1. Material Module
- Materials other than concrete can now be meshed allowing for varying strain distributions. This allows composite sections to be analysed. If using structural steel sections, assign a
Steel
material object to this section. If using a generic material, use the new genericMaterial
class and setmeshed=True
. - Lumped (constant strain) reinforcement can be specified by using the
SteelBar
class, or by using theMaterial
clas withmeshed=False
.
2. Pre Module
- Increased performance by creating of concreteproperties
CPGeom
object, an optimised version of the sectionpropertiesGeometry
object. All geometry is converted toCPGeom
objects after creating aConcreteSection
object.
3. Concrete Section Module
- Geometries are now sorted into concrete geometries, meshed reinforcement geometries and lumped reinforcement geometries.
- Improved failure checks in moment curvature analysis.
- All moments are now calculated about the elastic centroid, enabling easy integration with structural analysis software (previously ultimate moments were calculated about the plastic centroid and service moments about the neutral axis).
4. Interaction Diagram Changes
- Ultimate bending capacities can now be calculated for all ranges of netural axis depth (neutral axis depth larger than section depth).
- Concept of squash load and ultimate tensile load removed to cater for generic interaction diagrams (not AS 3600 specific).
- Improved control of how interaction diagrams are generated - added control points, labels, and maximum compressive load. Extended control of the number of points in the diagram. See #20 for further details.
- Removed
m_neg
feature to facilitate the above. Negative diagrams can now be easily created by manually creating another interaction diagram with a 180 degree bending axis rotation and displaying both diagrams on a single plot.
5. Results Module
ConcreteProperties
andTransformedConcreteProperties
renamed toGrossProperties
andTransformedGrossProperties
.- Principal axis angle now in radians to align with other angles in concreteproperties.
- Extended
StressResult
object to handle concrete geometries, meshed reinforcement geometries and lumped reinforcement geometries. - Plot 2D and 3D diagrams for biaxial bending results.
6. Design Code Module
AS3600
interaction diagram includes the balanced point by default, ensuring kinks in the diagram are correctly captured.
7. Utilities Module
- Global and principal axis angle calculations are done in-house to increase performance.
- Rewrote
split_geom_at_strains()
to improve performance.
Full changelog: v0.2.3...v0.3.0
v0.2.3
- Fix moment curvature and service stress calculation for non-principal bending
Full changelog: v0.2.2...v0.2.3