Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

3D ElasticTimoshenkoBeam element with rigid joint offsets #104

Open
juancaFS opened this issue Feb 4, 2023 · 6 comments
Open

3D ElasticTimoshenkoBeam element with rigid joint offsets #104

juancaFS opened this issue Feb 4, 2023 · 6 comments

Comments

@juancaFS
Copy link

juancaFS commented Feb 4, 2023

Dear all,
I would like to report an issue regarding ElasticTimoshenkoBeam elements in 3D with the option of rigid joint offsets. I have worked on a simple 5-story RC symmetric building with six moment frames in each direction:
Figure_1

This is a comparison for the first translational period between results from OpenSeesPy and an independent calculation in Python, using two types of frame elements (elasticBeamColumn and ElasticTimoshenkoBeam) and w/wo rigid joint offsets in all the frames:
tabla

In each of those four cases, all the beams and columns of the model were assigned a unique type of element. I got a disagreement for the fundamental periods of the case of ElasticTimoshenkoBeam element with rigid joint offsets, the other cases are fine.

The data considered were:
Beams: 350 mm X 750 mm
Columns: 600 mm X 600 mm
Centre-to-centre distance between columns: 7.5 m (square plan with side 37.5 m)
Height of columns: 4.0 m (1st story) and 3.6 m (others)
Concrete: f'c = 21 MPa
Translational masses:
peso1 = 12186350 N
pesotip = 12108900 N
peso5 = 10695780 N
masses = np.array([peso1, pesotip, pesotip, pesotip, peso5])/g

Thank you for your attention.

@ccaprani
Copy link

ccaprani commented Feb 4, 2023

@juancaFS that's an interesting observation. Others will know better, but I suspect it will be difficult to figure out where the difference arises from the information you've given. It might be better to consider a single plane portal frame (3 members), and to check the stiffness matrix from your own calculation with that from OpenSeesPy. You can use printA or the newer gimmeMCK command for this. I reckon it would be easier then to track down where/if the difference arises,.

@mhscott
Copy link
Collaborator

mhscott commented Feb 4, 2023

I agree 100% with @ccaprani. A minimal working example (portal frame, simple span, or a cantilever), something small and manageable, will go a long way to tracking this down. No one will be able to reproduce what you have shown here.
https://portwooddigital.com/2021/07/01/minimal-working-example/

@juancaFS
Copy link
Author

juancaFS commented Feb 4, 2023

@ccaprani @mhscott Of course. Please find attached the script corresponding to a minimal 3D model:
Simple3D
I got the same differences in this model for the case of ElasticTimoshenkoBeam element with rigid joint offsets.
tabla_simple
Simple3DFrame.zip

@mhscott
Copy link
Collaborator

mhscott commented Feb 5, 2023

Muchas gracias, @juancaFS!
I see the issue, the elasticTimoshenkoBeam element doesn't use the geometric transformation consistently. It's fixable but will take a little time, so thank you for the small example.
In the meantime, can you try using the 'timoshenkoBeamColumn' with elastic shear sections to see if the OpenSees result matches your calculations? https://portwooddigital.com/2022/07/03/elastic-shear-beams-in-opensees/

@juancaFS
Copy link
Author

juancaFS commented Feb 7, 2023

Dear @mhscott thank you for your advice.
Now I got full agreement using the displacement-based elements with elastic sections in OpenSees.
tabla_nl
Simple3DFrameV2.zip

@mhscott
Copy link
Collaborator

mhscott commented Feb 8, 2023

Good to hear, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants