PyNiteFEA 2.2.1__tar.gz → 2.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pynitefea-2.2.1 → pynitefea-2.4.0}/PKG-INFO +12 -1
- {pynitefea-2.2.1 → pynitefea-2.4.0}/PyNiteFEA.egg-info/PKG-INFO +12 -1
- {pynitefea-2.2.1 → pynitefea-2.4.0}/Pynite/FEModel3D.py +20 -1
- {pynitefea-2.2.1 → pynitefea-2.4.0}/Pynite/Member3D.py +308 -173
- {pynitefea-2.2.1 → pynitefea-2.4.0}/Pynite/Mesh.py +5 -0
- {pynitefea-2.2.1 → pynitefea-2.4.0}/Pynite/PhysMember.py +468 -144
- {pynitefea-2.2.1 → pynitefea-2.4.0}/Pynite/Rendering.py +72 -6
- {pynitefea-2.2.1 → pynitefea-2.4.0}/Pynite/ShearWall.py +1 -1
- {pynitefea-2.2.1 → pynitefea-2.4.0}/Pynite/VTKWriter.py +28 -0
- {pynitefea-2.2.1 → pynitefea-2.4.0}/Pynite/Visualization.py +100 -6
- {pynitefea-2.2.1 → pynitefea-2.4.0}/README.md +11 -0
- {pynitefea-2.2.1 → pynitefea-2.4.0}/setup.py +1 -1
- {pynitefea-2.2.1 → pynitefea-2.4.0}/LICENSE +0 -0
- {pynitefea-2.2.1 → pynitefea-2.4.0}/PyNiteFEA.egg-info/SOURCES.txt +0 -0
- {pynitefea-2.2.1 → pynitefea-2.4.0}/PyNiteFEA.egg-info/dependency_links.txt +0 -0
- {pynitefea-2.2.1 → pynitefea-2.4.0}/PyNiteFEA.egg-info/requires.txt +0 -0
- {pynitefea-2.2.1 → pynitefea-2.4.0}/PyNiteFEA.egg-info/top_level.txt +0 -0
- {pynitefea-2.2.1 → pynitefea-2.4.0}/Pynite/Analysis.py +0 -0
- {pynitefea-2.2.1 → pynitefea-2.4.0}/Pynite/BeamSegY.py +0 -0
- {pynitefea-2.2.1 → pynitefea-2.4.0}/Pynite/BeamSegZ.py +0 -0
- {pynitefea-2.2.1 → pynitefea-2.4.0}/Pynite/FixedEndReactions.py +0 -0
- {pynitefea-2.2.1 → pynitefea-2.4.0}/Pynite/LoadCombo.py +0 -0
- {pynitefea-2.2.1 → pynitefea-2.4.0}/Pynite/MainStyleSheet.css +0 -0
- {pynitefea-2.2.1 → pynitefea-2.4.0}/Pynite/MatFoundation.py +0 -0
- {pynitefea-2.2.1 → pynitefea-2.4.0}/Pynite/Material.py +0 -0
- {pynitefea-2.2.1 → pynitefea-2.4.0}/Pynite/Node3D.py +0 -0
- {pynitefea-2.2.1 → pynitefea-2.4.0}/Pynite/Plate3D.py +0 -0
- {pynitefea-2.2.1 → pynitefea-2.4.0}/Pynite/Quad3D.py +0 -0
- {pynitefea-2.2.1 → pynitefea-2.4.0}/Pynite/Report_Template.html +0 -0
- {pynitefea-2.2.1 → pynitefea-2.4.0}/Pynite/Reporting.py +0 -0
- {pynitefea-2.2.1 → pynitefea-2.4.0}/Pynite/Section.py +0 -0
- {pynitefea-2.2.1 → pynitefea-2.4.0}/Pynite/Spring3D.py +0 -0
- {pynitefea-2.2.1 → pynitefea-2.4.0}/Pynite/Tri3D.py +0 -0
- {pynitefea-2.2.1 → pynitefea-2.4.0}/Pynite/__init__.py +0 -0
- {pynitefea-2.2.1 → pynitefea-2.4.0}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PyNiteFEA
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.4.0
|
|
4
4
|
Summary: A simple elastic 3D structural finite element library for Python.
|
|
5
5
|
Home-page: https://github.com/JWock82/Pynite.git
|
|
6
6
|
Author: D. Craig Brinck, PE, SE
|
|
@@ -121,6 +121,17 @@ Here's a list of projects that use Pynite:
|
|
|
121
121
|
* Phaenotyp (https://github.com/bewegende-Architektur/Phaenotyp) (https://youtu.be/shloSw9HjVI)
|
|
122
122
|
|
|
123
123
|
# What's New?
|
|
124
|
+
2.4.0
|
|
125
|
+
* Member `max` and `min` methods now return governing load combination along with the member max/min forces.
|
|
126
|
+
* Bug fix: Quadrilateral element displacements had corners swapped during VTK visualization. This was a relic from the old MITC4 formulation that has been corrected.
|
|
127
|
+
|
|
128
|
+
v2.3.0
|
|
129
|
+
* Added enveloping to member diagrams. Set `combo_name` to a list of combo tags and the member diagram will show an envelope of all the combos that have any of those tags.
|
|
130
|
+
* Bug fix: Added shear wall and mat foundation load cases to `FEModel3D.load_cases()`. The list of load cases was sometimes incomplete if these meshes had not yet been generated.
|
|
131
|
+
* Added bending moment end releases to visualizations.
|
|
132
|
+
* Bug fix for shear walls with flanges having an origin with their origin at Y != 0.
|
|
133
|
+
* Rectangular meshes now filter out user defined control points that erroneously lie outside their boudaries.
|
|
134
|
+
|
|
124
135
|
v2.2.1
|
|
125
136
|
* Normalized member force diagrams across the entire model for visual clarity.
|
|
126
137
|
* Made mesh auto-regeneration smarter and more efficient, targeting only meshes that have been altered since the last run.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PyNiteFEA
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.4.0
|
|
4
4
|
Summary: A simple elastic 3D structural finite element library for Python.
|
|
5
5
|
Home-page: https://github.com/JWock82/Pynite.git
|
|
6
6
|
Author: D. Craig Brinck, PE, SE
|
|
@@ -121,6 +121,17 @@ Here's a list of projects that use Pynite:
|
|
|
121
121
|
* Phaenotyp (https://github.com/bewegende-Architektur/Phaenotyp) (https://youtu.be/shloSw9HjVI)
|
|
122
122
|
|
|
123
123
|
# What's New?
|
|
124
|
+
2.4.0
|
|
125
|
+
* Member `max` and `min` methods now return governing load combination along with the member max/min forces.
|
|
126
|
+
* Bug fix: Quadrilateral element displacements had corners swapped during VTK visualization. This was a relic from the old MITC4 formulation that has been corrected.
|
|
127
|
+
|
|
128
|
+
v2.3.0
|
|
129
|
+
* Added enveloping to member diagrams. Set `combo_name` to a list of combo tags and the member diagram will show an envelope of all the combos that have any of those tags.
|
|
130
|
+
* Bug fix: Added shear wall and mat foundation load cases to `FEModel3D.load_cases()`. The list of load cases was sometimes incomplete if these meshes had not yet been generated.
|
|
131
|
+
* Added bending moment end releases to visualizations.
|
|
132
|
+
* Bug fix for shear walls with flanges having an origin with their origin at Y != 0.
|
|
133
|
+
* Rectangular meshes now filter out user defined control points that erroneously lie outside their boudaries.
|
|
134
|
+
|
|
124
135
|
v2.2.1
|
|
125
136
|
* Normalized member force diagrams across the entire model for visual clarity.
|
|
126
137
|
* Made mesh auto-regeneration smarter and more efficient, targeting only meshes that have been altered since the last run.
|
|
@@ -194,6 +194,25 @@ class FEModel3D():
|
|
|
194
194
|
# Get the load case for each plate/quad pressure
|
|
195
195
|
cases.append(load[1])
|
|
196
196
|
|
|
197
|
+
# Step through each shear wall helper
|
|
198
|
+
for shear_wall in self.shear_walls.values():
|
|
199
|
+
# Step through each shear wall shear load
|
|
200
|
+
for load in shear_wall._shears:
|
|
201
|
+
# Get the load case for each shear wall shear
|
|
202
|
+
cases.append(load[2])
|
|
203
|
+
|
|
204
|
+
# Step through each shear wall axial load
|
|
205
|
+
for load in shear_wall._axials:
|
|
206
|
+
# Get the load case for each shear wall axial
|
|
207
|
+
cases.append(load[2])
|
|
208
|
+
|
|
209
|
+
# Step through each mat foundation helper
|
|
210
|
+
for mat in self.mats.values():
|
|
211
|
+
# Step through each mat point load
|
|
212
|
+
for load in mat.pt_loads:
|
|
213
|
+
# Get the load case for each mat point load
|
|
214
|
+
cases.append(load[3])
|
|
215
|
+
|
|
197
216
|
# Remove duplicates and return the list (sorted ascending)
|
|
198
217
|
return sorted(list(dict.fromkeys(cases)))
|
|
199
218
|
|
|
@@ -2415,7 +2434,7 @@ class FEModel3D():
|
|
|
2415
2434
|
# The partitioned stiffness matrix originates as `coo` and is converted to `csr`
|
|
2416
2435
|
# format for mathematical operations. The `@` operator performs matrix multiplication
|
|
2417
2436
|
# on sparse matrices.
|
|
2418
|
-
Delta_D1 = spsolve(K11
|
|
2437
|
+
Delta_D1 = spsolve(K11, np.subtract(np.subtract(Delta_P1, Delta_FER1), K12 @ Delta_D2))
|
|
2419
2438
|
Delta_D1 = Delta_D1.reshape(len(Delta_D1), 1)
|
|
2420
2439
|
else:
|
|
2421
2440
|
Delta_D1 = solve(K11, np.subtract(np.subtract(Delta_P1, Delta_FER1), np.matmul(K12, Delta_D2)))
|