You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
I have created a model of a cantilevered beam with spring supports in the Y and Z directions along the length of the beam and loads in the Y and Z directions on the end. I observe that the displacements in the Y and Z directions are the same, as expected, but the reaction in the Z direction is 0. Obviously, there should be a non-zero reaction in the Z direction. I have verified that I am running the latest version 0.0.80 of PyNiteFEA.
E = 29000 # Modulus of elasticity (ksi)
G = 11200 # Shear modulus of elasticity (ksi)
nu = 0.3 # Poisson's ratio
rho = 2.836e-4 # Density (kci)
beam.add_material('Steel', E, G, nu, rho)
beam.def_support('N1', True, True, True, True, True, True) # Fixed Support at the base
for i in range(1, 10):
beam.def_support_spring('N' + str(i), 'DY', 10, direction=None)
for i in range(1, 10):
beam.def_support_spring('N' + str(i), 'DZ', 10, direction=None)
beam.add_node_load('N9', 'FZ', -1) # Loads in the Y and Z directions at the end of the beam
beam.add_node_load('N9', 'FY', -1)
beam.analyze()
print('Y Reaction at N9:', beam.Nodes['N9'].RxnFY, 'kip')
print('Z Reaction at N9:', beam.Nodes['N9'].RxnFZ, 'kip')
print('Y Displacement at N9:', beam.Nodes['N9'].DY, 'in')
print('Z Displacement at N9:', beam.Nodes['N9'].DZ, 'in')
Expected behavior
Reaction forces should be the same in the Y and Z directions.
Screenshots
N/A
Additional context
Running this code produces the following output:
Y Reaction at N9: {'Combo 1': -0.43234915558749026} kip
Z Reaction at N9: {'Combo 1': 0.0} kip
Y Displacement at N9: {'Combo 1': -0.043234915558749025} in
Z Displacement at N9: {'Combo 1': -0.04323491555874857} in
The text was updated successfully, but these errors were encountered:
I've fixed this bug and released it as version 0.0.81. The program was only considering one spring support when calculating reactions. Note this only affected reaction calculations. Other calculations were correct.
Do you mind if I convert your code snippet into a unit test for PyNite to run in the future anytime a change is made to the program?
Thanks, I pulled 0.0.81 and the results look correct now. Feel free to use
my code as a unit test (most of it is copied from the documentation anyway).
On Sat, Oct 7, 2023 at 11:33 AM Craig ***@***.***> wrote:
I've fixed this bug and released it as version 0.0.81. The program was
only considering one spring support when calculating reactions. Note this
only affected reaction calculations. Other calculations were correct.
Do you mind if I convert your code snippet into a unit test for PyNite to
run in the future anytime a change is made to the program?
—
Reply to this email directly, view it on GitHub
<#175 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AK3UT73HNHG7MSPBJCXTSPDX6FY5DAVCNFSM6AAAAAA5UWYPE6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONJRG4ZTSOBQGE>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
Describe the bug
I have created a model of a cantilevered beam with spring supports in the Y and Z directions along the length of the beam and loads in the Y and Z directions on the end. I observe that the displacements in the Y and Z directions are the same, as expected, but the reaction in the Z direction is 0. Obviously, there should be a non-zero reaction in the Z direction. I have verified that I am running the latest version 0.0.80 of PyNiteFEA.
To Reproduce
from PyNite import FEModel3D
beam = FEModel3D()
beam.add_node('N1', 0, 0, 0)
beam.add_node('N2', 20, 0, 0)
beam.add_node('N3', 40, 0, 0)
beam.add_node('N4', 60, 0, 0)
beam.add_node('N5', 80, 0, 0)
beam.add_node('N6', 100, 0, 0)
beam.add_node('N7', 120, 0, 0)
beam.add_node('N8', 140, 0, 0)
beam.add_node('N9', 160, 0, 0)
E = 29000 # Modulus of elasticity (ksi)
G = 11200 # Shear modulus of elasticity (ksi)
nu = 0.3 # Poisson's ratio
rho = 2.836e-4 # Density (kci)
beam.add_material('Steel', E, G, nu, rho)
beam.add_member('M1', 'N1', 'N9', 'Steel', 100, 100, 250, 20)
beam.def_support('N1', True, True, True, True, True, True) # Fixed Support at the base
for i in range(1, 10):
beam.def_support_spring('N' + str(i), 'DY', 10, direction=None)
for i in range(1, 10):
beam.def_support_spring('N' + str(i), 'DZ', 10, direction=None)
beam.add_node_load('N9', 'FZ', -1) # Loads in the Y and Z directions at the end of the beam
beam.add_node_load('N9', 'FY', -1)
beam.analyze()
print('Y Reaction at N9:', beam.Nodes['N9'].RxnFY, 'kip')
print('Z Reaction at N9:', beam.Nodes['N9'].RxnFZ, 'kip')
print('Y Displacement at N9:', beam.Nodes['N9'].DY, 'in')
print('Z Displacement at N9:', beam.Nodes['N9'].DZ, 'in')
from PyNite.Visualization import Renderer
renderer = Renderer(beam)
renderer.annotation_size = 6
renderer.deformed_shape = True
renderer.deformed_scale = 100
renderer.render_loads = True
renderer.render_model()
Expected behavior
Reaction forces should be the same in the Y and Z directions.
Screenshots
N/A
Additional context
Running this code produces the following output:
Y Reaction at N9: {'Combo 1': -0.43234915558749026} kip
Z Reaction at N9: {'Combo 1': 0.0} kip
Y Displacement at N9: {'Combo 1': -0.043234915558749025} in
Z Displacement at N9: {'Combo 1': -0.04323491555874857} in
The text was updated successfully, but these errors were encountered: