1D Beam elements (1D twist?)

Hi,

I’m fairly new to FEniCS and python so apologies in advance for my lack of knowledge. I’m currently trying to model a cylindrical hollow beam under point forces and torsion with ‘cantilever like’ constraints, so a boundary at one end, with the final product to solve for displacement and twist along the beam. So far, I have followed the linear elasticity demo to create a cantilever beam under point forces using pointsources and have been successful. However, I was unable to find a way to apply torsion and get the angle of twist. If anybody knows how to go about this problem, any advice or guidance would be much appreciated.

I now wish to solve a 1D problem using the same scenario. However, I’m unsure how to best approach this. Would it be possible to define the hollow cylinder profile and thickness in FEniCS? And does FEniCS have beam elements? I’m assuming this element type will be required to solve such a problem.

Again, any advice is much appreciated!

Hello,
you can apply a rigid body rotation of the end section about the beam axis to model a torsion loading with a given angle of twist using a DirichletBC and appropriate Expression for the displacement components. You can then postprocess the stress field to obtain the resulting torsion moment at the extremity.

As regards 1D beam problems, FEniCS only has 1D elements so you need to implement the correct beam model. You can find an implementation of 3D beam elements here https://comet-fenics.readthedocs.io/en/latest/demo/beams_3D/beams_3D.html
However you will need to compute yourself the bending and torsional properities of your hollow cylinder profile.

2 Likes

Thanks for the reply, very helpful information. For the torsion modelling, I wish to apply the torque to the beam and obtain the resultant angle of twist rather than providing the angle of twist to obtain the torsion. Do you know if there is a way of doing so? I hope I’ve understood you correctly.

The demo seems like a perfect starting point for the 1D problem, much appreciated!

Cheers.