v0.6.0 — Release Notes
New Features
- Prescribed displacements: Support for imposing known displacements at any DOF, enabling modelling of support settlements. Specify via the
Dargument toBeamAnalysis. - Spring support reactions: Spring forces are now reported in
beam_results.Rs(upward positive, i.e.-k_s × u).
Bug Fixes
- Load superposition: Fixed
MemberResults.__add__which was incorrectly accumulating shear (V) instead of rotation (R) when superimposing load cases. - Spring stiffness double-counting: Fixed a bug where spring stiffness was being added to the global stiffness matrix twice, giving incorrect results for spring-supported beams.
- Spring reaction sign: Spring forces in
beam_results.Rsare now reported with correct sign (upward positive).
Improvements
- Theory documentation: Expanded
theory.ipynbto cover global stiffness matrix assembly, spring supports, boundary condition enforcement, prescribed displacements, and reaction recovery. - Type definitions: Shared types (
LoadType,LoadMatrix,LoadCNL,MemberResults) consolidated intotypes.py; explicit API exports replace wildcard imports. - CI: Dropped Python 3.8 support; added Python 3.12 and 3.13 to the test matrix. Minimum supported version is now Python 3.9.
- Docs build: Replaced the unmaintained
ammaraskar/sphinx-actionwith a native build step, fixing the GitHub Pages deployment.
Full Changelog: v0.5.2...v0.6.0