For test purpose I made a very simple 3D test model consisting in a cantilever beam #1 going from constrained node 0 at (0,0,0) to free node 1 at (1000,0,0) and loaded in node 1 with (100, 1000, 2000, 0, 0, 0). Beam #2 (the diagonal one) is defined only for plot clarity purpose.
Local coordinates of beam #1 are coincident with global coordinates. The free node of cantilever, as expected, moves towards positive Y and Z (upward).
In summary the cantilever beam is in the X axis direction, constrained at node 0 and free at node 1, with only one concentrated force F at node 1 of components Fx = 100, Fy = 1000, Fz = 2000, so to easily distinguish normal force P from Vy from Vz.
From the tests I made it seems that `eleResponse(<eleTag>, 'section', <sec_num>, 'force')` returns internal forces. Using `eleResponse`, as expected, Fx = 100 yields P = 100, Fz = 2000 yields Vz = 2000, but, surprisingly (since local coordinates of beam #1 are coincident with global coordinates), Fy = 1000 yields Vy = -1000 whereas I was expecting Vy = 1000.
Is it a matter of sign convention assumed in OpenSees for internal forces ?
Thanks in advance for any help.
OpenSees shear sign convention
Moderators: silvia, selimgunay, Moderators
OpenSees shear sign convention
Last edited by calprest on Tue Jan 07, 2025 8:07 am, edited 3 times in total.
Re: OpenSees shear sign convention
It's unclear if you are trying to get an external end force or an internal section force.
Try a simpler model, like a simple span in 3D.
Try a simpler model, like a simple span in 3D.