halbux / sparselizard

C++ FEM library | user-friendly | multi-physics | hp-adaptive | HPC
http://www.sparselizard.org
Other
334 stars 62 forks source link

1D Beam elements in 3D space #46

Closed j8asic closed 3 years ago

j8asic commented 3 years ago

Can one have 1D elements in 3D space to simulate vibrations of beams? I.e. Timoshenko elements (or at least Euler-Bernoulli)?

halbux commented 3 years ago

Hi Josip,

This is not classical FEM. You can do things in that direction with ports:

You set a lumped displacement/force (U/F) port on a region of the geometry then you can use these in port relations, e.g. for a lumped spring F=kx you can use something like this:

yourformulation += F - k*U;

This goes in the direction of what you want but not fully though.

Alex

On Sun, 15 Aug 2021, 21:08 Josip Basic, @.***> wrote:

Can one have 1D elements in 3D space to simulate vibrations of beams? I.e. Timoshenko elements (or at least Euler-Bernoulli)?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/halbux/sparselizard/issues/46, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIJBHAHLKS3IZHKC4WTXHD3T477DHANCNFSM5CGM7Y2Q . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email .

j8asic commented 3 years ago

Thanks Alex for the info. So maybe I can reformulate the question: how could one implement vibration of a beam with varying I, J and E properties?

halbux commented 3 years ago

Well you can absolutely do that with classical FEM and sweeping the material properties!

Frequency analysis of a linear elasticity membrane vibration: --> https://github.com/halbux/sparselizard/tree/master/examples/elasticity-membrane-3d

Eigenvalues of the same membrane for linear elasticity: --> https://github.com/halbux/sparselizard/tree/master/examples/eigenvalues-elasticity-membrane-3d

Same but with a damped vibration: --> https://github.com/halbux/sparselizard/tree/master/examples/eigenvalues-damped-elasticity-membrane-3d

Vibration of a prestressed object (or anything with geometric nonlinearity), linearized around a static deflection: --> https://github.com/halbux/sparselizard/tree/master/examples/elasticity-geometric-nonlinearity-eigenvalues-3d

Vibration in the frequency domain of elasticity with geometric nonlinearity (taking new harmonics into account) --> https://github.com/halbux/sparselizard-users/blob/main/examples/mechanic/vibration/backbone-curve-nonlinear-harmonic-balance/main.cpp

The beam geometry can be drawn with the gmsh api or, since it is simple with the native geometry drawer. Then put a sweep loop around it and you are done.

Alex

j8asic commented 3 years ago

Thanks for the infos!