github ccaprani/pycba v0.6.0

6 hours ago

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 D argument to BeamAnalysis.
  • 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.Rs are now reported with correct sign (upward positive).

Improvements

  • Theory documentation: Expanded theory.ipynb to cover global stiffness matrix assembly, spring supports, boundary condition enforcement, prescribed displacements, and reaction recovery.
  • Type definitions: Shared types (LoadType, LoadMatrix, LoadCNL, MemberResults) consolidated into types.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-action with a native build step, fixing the GitHub Pages deployment.

Full Changelog: v0.5.2...v0.6.0

Don't miss a new pycba release

NewReleases is sending notifications on new releases.