Skip to content

Releases: ritchie46/anaStruct

v1.5.1

01 Apr 21:01
66cca27
Compare
Choose a tag to compare

This minor release adds one new feature - custom plot colours. It is otherwise a maintenance release with some minor updates to accommodate the newest versions of our dependencies.

What's Changed

Dependabots

New Contributors

Full Changelog: release-v1.5.0...release-v1.5.1

v1.5.0

30 Oct 11:38
66931c4
Compare
Choose a tag to compare

This release includes multiple breaking changes that had been building up in the backlog. Hopefully these changes will now make various parts of anaStruct make more intuitive sense, but some minor updates may be required to scripts or APIs that use this package as a result.

Breaking Changes

  1. Definitions of "y" and "z" axis directions have been made fully consistent throughout all user-facing and internal code. The "y" axis is now always the vertical, in-plane axis, and the "z" axis is now always the out-of-plane axis. Changes generally do not affect inputs, but several outputs are affected. For example, "Ty" and "phi_y" are now "Tz" and "phi_z", respectively.
  2. insert_node() now splits up an element in-place, rather than re-creating the entire system. As a consequence, the function will now no longer lose your loads and supports! While technically breaking behaviour, this is probably also more intuitive behaviour.
  3. get_element_result_range() now by default returns the maximum absolute value of the given unit along the entire length of each element, rather than the first mesh value. A new optional parameter called minmax can customise this behaviour to alternatively return the "min", "max", or "both".
  4. get_node_results_system() and get_node_displacements() now return a list of dictionaries rather than a list of long tuples by default or when node_id=0. This now mirrors the behaviour of the get_element_result*() functions, and should be easier to read.

What's Changed

Full Changelog: release-v1.4.4...release-v1.5.0

v1.4.4

29 Oct 11:03
f21f0f3
Compare
Choose a tag to compare

This update is primarily a maintenance release, though with a couple notable additions:

  • Location inputs have been unified such that every function now expects the same "VertexLike" input - which includes our existing Vertex object, as well as any Sequence (list or tuple) or two numbers.
  • New function add_sequential_elements() has been added - which is very similar to the existing add_element_grid(), but with a more accurate name and able to accept coordinates as Vertex or VertexLike objects, to match with coordinates inputs on other functions
  • All functions throughout the codebase now have full docstrings, which should make both using the functions (if you're using an IDE) and contributing to the anastruct code easier
  • VS Code configuration has been thoroughly updated, to hopefully make it easier than ever to help contribute to the anastruct codebase! :-)

What's Changed

Dependabots

New Contributors

Full Changelog: release-v1.4.3...release-v1.4.4

v1.4.3

28 Aug 12:54
e9d5ec6
Compare
Choose a tag to compare

This is exclusively a bugfix release, correcting a regression in the find_node_id() function, fixing the handling of pinned nodes that have only one element connected to them, and adding some meaningful error-handling to non-integer node and element ids.

What's Changed

  • Fix regression in find_node_id() with typeof vertex == Vertex by @smith120bh in #178
  • Add restraint to a node that has exactly one pinned connection by @smith120bh in #146
  • Add error-handling to node & element id data types by @smith120bh in #179

Dependabots

Full Changelog: release-v1.4.2...release-v1.4.3

v1.4.2

08 Jun 08:20
f6e714e
Compare
Choose a tag to compare

This release represents few changes in the actual user-facing package, but significant updates to validation testing, packaging practices, and typing. Specifically:

  • There is now a full suite of automated pytest validation tests verifying that anaStruct does, in fact, give the same results as Euler-Bernoulli analytical equations. Thank you to all the new contributors who helped add these tests!
  • The file structure and package definitions in anaStruct have been updated to modern best practices, including swapping from a setup.py file to pyproject.toml, updating all the GitHub workflows, and adding some default/recommended VS Code configuration to help any contributors to this package work more easily!
  • Full type checking has been implemented throughout anaStruct, and a py.typed marker file has been added for anyone using anaStruct as a library (you can remove those # type: ignores on your anastruct imports now!) In typing everything, a few scattered bugs were also identified and fixed (nothing that would have given a wrong result, but several little things that would have caused error messages), especially around setting loads on multiple elements at once.

What's Changed

Dependabots

New Contributors

Full Changelog: release-v1.4.1...release-v1.4.2

v1.4.1

20 Feb 12:08
9452e16
Compare
Choose a tag to compare

What's Changed

Dependabots

Full Changelog: release-v1.4.0.1...release-v1.4.1

v1.4.0.1

12 Jan 02:36
da7f1fa
Compare
Choose a tag to compare

Very minor update to avoid an error message being over-issued.

What's Changed

  • Don't throw inclined roller error if angle is a multiple of 90 degrees by @smith120bh in #114

v1.4.0

12 Jan 00:41
6fc1160
Compare
Choose a tag to compare

Notes:

  • This version has dropped support for Python 3.7! That is primarily due to the latest version of matplotlib also dropping support. You should still be able to install a headless version of anaStruct in Python 3.7 - but tests will no longer be automatically run against Python 3.7, so use at your own risk.
  • If you wish to install anaStruct with plotting capability, you now need to explicitly install it using pip install anastruct[plot]. Alternatively, you can now install a headless version of anaStruct using just pip install anastruct.

What's Changed

  • Move matplotlib to extras_require, to make headless installs possible by @smith120bh in #112
  • Set Minimum Python version to 3.8 & Bump matplotlib from 3.0.3 to 3.6.2 by @dependabot in #100

Full Changelog: release-v1.3.4...release-v1.4.0

v1.3.4

11 Jan 10:08
f31fc3d
Compare
Choose a tag to compare

Note: This will be the final release to support Python 3.7, and the final release in the v1.3 line. It concludes fixing all outstanding bugs.

What's Changed

  • Only assert non-None axial element results for truss elements by @smith120bh in #109
  • Add error message if point load applied at inclined roller by @smith120bh in #110
  • Bump pylint from 2.15.9 to 2.15.10 by @dependabot in #111
  • Fix reactions and nodal results in load combinations by @smith120bh in #113

Full Changelog: release-v1.3.3...release-v1.3.4

v1.3.3

31 Dec 07:25
d0559bb
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: release-v1.3.2...release-v1.3.3