Skip to content

Releases: JWock82/Pynite

Bug Fix for Small Openings in Meshes

26 Jan 22:42
Compare
Choose a tag to compare

Bug fix for small openings that weren't being added to meshes.

Bug Fix for Orthotropic Rectangular Plates

26 Jan 12:38
Compare
Choose a tag to compare
  • Bug fix for orthotropic rectangular plates. The stiffness was slightly off on rectangular plates in version 0.0.55. Prior versions were not affected. Version 0.0.55 was the latest version for less than 24 hours, so this bug shouldn't have affected most models users have built.
  • Added unit testing for in-plane (membrane) behavior, and stiffness modification factors to identify issues faster in the future. PyNite solutions matched theoretical solutions within 0.1% for uncracked sections, and within 2% for cracked sections. Very good performance for in-plane behavior.

Orthotropic Plates & Quads

25 Jan 18:39
Compare
Choose a tag to compare
  • Added stiffness modification factors for rectangular plate and quarilateral elements. Orthotropic in-plane behavior can now be modeled. This can be used to model the cracked stiffness of concrete and masonry for in-plane loads. Exercise caution when using this feature. These factors only apply to in-plane stiffnesses in the element's local x and y directions. Out-of-plane stiffnesses are not modified. Ensure element local axes are aligned to the directions you want to apply the stiffness modifications to.
  • The arguments for many methods relating to rect plates and quads have been reorganized with the addition of the stiffness modification factors. With this update any plate/quad models you have will likely need to be updated.
  • Reformulated rectangular plate element in-plane (membrane) forces. These elements are now isoparametric just like the quad elements. This was done to make them orthotropic.
  • Improved docstrings for plates and quads.

Bug Fixes for Member Global Point Loads and Rendering

06 Jan 01:33
Compare
Choose a tag to compare
  • Bug fix for member point loads applied in a global direction. They were overriding the member end forces due to an ambiguous variable name.
  • Bug fix for rendering. Several variable names had underscores that didn't belong there. It was causing rendering errors. See version 0.0.53 notes for a full list of what's been changing with regard to rendering.

`scipy` is Now Optional for Dense Matrices

24 Dec 16:20
Compare
Choose a tag to compare
  • scipy is now optional for the dense matrix solver. By default PyNite uses the sparse matrix solver. If you wish to use the dense matrix solver, you'll need to set the sparse parameter equal to False when you analyze a model. Generally, the sparse matrix solver is faster and uses less memory. This feature was added to improve compatibility with other programs that may not work well with scipy.
  • Started work on a Renderer class for visualization to better organize the code.
  • Renamed several variables in the render_model function to make them more descriptive of what they control. If you use keyword arguments in your calls to render_model you may need to change some of the variable names.

Major bug fix for quadrilaterals & other improvements

06 Nov 15:16
Compare
Choose a tag to compare
  • Major bug fix for quadrilaterals. In-plane stiffnesses were 1/4 of what they should have been.
  • Added more unit testing for plates and quadrilaterals.
  • Fixed a bug where cylindrical quad meshes didn't calculate the number of quads that fit in the circumference correctly. This bug only affected models where the number was not explicitly specified.
  • Added plate/quad surface load validation to ensure loads are not added to ficticious plates/quads.
  • Improved the remove_duplicate_nodes method. It wasn't working properly for springs. It also now returns a list of the names of the nodes that were removed. Also added a docstring for this method.
  • Added the orphaned_nodes method that checks the model for orphaned nodes and returns a list of the names of orphaned nodes.

Potential Bug Fix

13 Oct 00:00
Compare
Choose a tag to compare
  • Internal changes to some matrix operations. This was in response to Issue #102 where statics were not checking out for some 3D plate models.
  • Reduced stiffness of plate/quad element drilling degree of freedom. Again in response to Issue #102.

Support Spring Improvements & Bug Fixes

01 Oct 01:47
Compare
Choose a tag to compare
  • Bug fix for cylindrical meshes.
  • Added tension/compression only support springs. This required some reworking of how support springs are implemented. See the "Beam on Elastic Foundation" example for an example of how to properly use support springs.
  • More PEP8 style changes. This shouldn't change the way you use the program. Some of the internal calls to function names still referenced the old function names. It was leading to deprecation warnings during runtime.
  • Fixed a divide by zero error for plotting contours on models with nodes not attached to plates/quads.

Solver Speed Boost

02 Sep 01:32
Compare
Choose a tag to compare
  • Major speed boost. A lot of time was being wasted reading/writing to a SciPy lil_matrix format. The stiffness matrix is now assembled as a coo format first, and then switched to lil format later on to facilitate slicing.
  • Refactored node names to match PEP8 style guide. Instead of iNode, jNode, etc. PyNite now uses i_node, j_node etc. This should only affect you if you were using the keyword arguments for node names.
  • Removed test modules from package distribution. These files were unnecessary for users to have installed on their computers.

Member Global Load Directions

15 Aug 01:21
Compare
Choose a tag to compare
  • Global load directions can now be used for member loads now. Use capital notation to apply the member load in the global X, Y, or Z direction (e.g. 'FX', 'MY', 'FZ'...). Use lower case notation to apply the member load in the member's local x, y, or z direction (e.g. 'Fx', 'My', 'Fz'...).
  • Bug fix for rendering models without plates/quads (special thanks to tamalone1 for this pull request!)