Releases: JWock82/Pynite
Bug Fix for Physical Members & Change to Default Dependencies
- Fixed physical member load and deflection diagrams. Physical members are a newer feature. Member internal results were being reported correctly, but the diagrams for these members had not been revised to plot correctly. The old method for plain members was still being used. Physical members were not considering that a physical member was made from multiple submembers, and results for each span needed to be combined to get the whole plot.
- Switched some commonly used python libraries to be installed by default with
Pynite
. MostPynite
users will want these libraries installed for full-featured use ofPynite
. These libraries help withPynite
visualizations, plotting, the sparse solver, andJupyter Lab
functionality. This is just easier for new python users. I was getting a lot of questions about how to set up libraries, and this takes the guesswork away. This is part ofPynite's
objective to stay easy to use. I figure advanced python users can uninstall the libraries they don't want, rather than making newbie users install the ones they want.
Quad Improvements and T/C Member Bug Fixes
This release includes major program improvements for plates and important fixes for tension/compression-only members, but also includes breaking changes (detailed below).
- Changed quad elements from MITC4 formulation to DKMQ formulation. This greatly improves plate results at corners and increases the speed with which the plate's stiffness matrix is assembled. MITC4 element code has been retained as legacy code, but is no longer used by the program.
- Breaking Changes: Implemented snake-case for dictionary names (e.g.
FEModel3D.Nodes
is nowFEModel3D.nodes
). These changes were made to preparePynite
for a v1.0 release that is consistent with thePEP8
style guide forpython
. - Bug fix for tension/conpression-only member internal results. While global results were correct, member internal results were showing results from the first tension/compression only iteration.
- Member results arrays can now be customized to pick up user defined points. Member results arrays generate results much faster now too.
Rendering via `Pyvista` and Other Improvements
- Added rendering via
Pyvista
. This greatly simplified the rendering code and provided a fresh look to the rendereings. Renderings in jupyter are now interactive. Global axes are also now shown in rendereings. To usePyvista
instead ofVTK
, use the newRendering
library rather than the oldVisualization
library. Rendering viaVTK
directly is still available. - Bug fix for member self-weight. The program was throwing exceptions instead of calculating member self-weight. Added a unit test to help prevent this issue from occuring again as code changes.
- Refactored
material
to bematerial_name
in the code. The prior naming convention caused confusion which led to the self-weight bug.
Bug Fix for Phantom Reactions & Initializing `PhysMembers`
v0.0.93
- Fixed phantom reactions showing up at unsupported nodes. If there was a support defined at a node, the program was summing reactions for all directions at the node, rather than just the supported directions. This caused the program to report "extra" reaction directions at any supported node (if the user queried them). Element forces/stresses were not affected as this was a post-processing reaction summing issue. Reactions for supported directions were summed correctly, except in the case of nodes with both spring supports and other supports. Only unsupported directions, and nodes with both spring supports and other supports, were showing phantom reactions. This bug also caused statics checks to fail from time to time.
- Reorganized physical member code to match member code more consistently.
Member Self-Weight
Added a highly requested member self-weight calculation feature via FEModel3D.add_member_self_weight()
. This only applies to members. This feature does not calculate self-weight for plate and quad elements.
Continued Migration to PyVista
Migrating visualizaton code from VTK to PyVista. PyVista greatly simplifies the rendering code, and simplifies adding new features to the renderings. This feature is only partially complete and partially functional.
Continued Migration to PyVista
Continued migrating visualizaton code from VTK to PyVista. PyVista greatly simplifies the rendering code, and simplifies adding new features to the renderings. This feature is only partially complete and partially functional.
Started Migrating Visualization from VTK to PyVista
Began migrating visualizaton code from VTK to PyVista. PyVista greatly simplifies the rendering code, and simplifies adding new features to the renderings. This feature is only partially complete and partially functional.
Updates to `PhysMember` Code
General housekeeping for PhysMember
code. to bring it into alignment with the Member
code.
P-little-delta Improvements
v0.0.87 Update for v0.0.87