Problem using U1 element (general beam section)

Hi,
I ran into an issue with the general beam section (element type U1). I tried to make a simple test but aparently failed. So far I tried with ccx 2.15 and 2.17.
The example is the following, describing a cantilever with weight at the tip (I think I found a similar example elsewhere):

*NODE, NSET=Nall
1,0.,0.,0.
2,10.,00.,00.
3,20.,00.,00.
4,30.,00.,00.
5,40.,00.,00.
6,50.,00.,00.
7,60.,00.,00.
*ELEMENT, TYPE=U1, ELSET=Eall
1, 1, 2,
2, 2, 3,
3, 3, 4,
4, 4, 5,
5, 5, 6,
6, 6, 7,
*USER ELEMENT,TYPE=U1,NODES=2,INTEGRATION POINTS=2,MAXDOF=6
*BOUNDARY
1,1,6
*MATERIAL,NAME=EL
*ELASTIC
1.e11,.3
*BEAM SECTION,ELSET=Eall,MATERIAL=EL,SECTION=GENERAL
0.0625,3.2552e-4,0,3.2552e-4,0.8333
0.,0.,1.
*STEP
*STATIC
*CLOAD
7,2,-100.
*NODE PRINT,NSET=Nall
U, E
*END STEP

And the result shows some kind of sinusoidal bending of the cantilever:
displacements (v(i),i=1…ndof) for set NALL and time 0.1000000E+01

     1  0.000000E+00  0.000000E+00  0.000000E+00  0.000000E+00  0.000000E+00  0.000000E+00
     2  0.000000E+00  2.256738E-04  0.000000E+00  0.000000E+00  0.000000E+00 -2.573131E-05
     3  0.000000E+00 -3.861653E-04  0.000000E+00  0.000000E+00  0.000000E+00 -1.303645E-05
     4  0.000000E+00  1.471682E-04  0.000000E+00  0.000000E+00  0.000000E+00  5.416642E-05
     5  0.000000E+00  1.853246E-04  0.000000E+00  0.000000E+00  0.000000E+00 -3.173558E-05
     6  0.000000E+00 -1.554653E-04  0.000000E+00  0.000000E+00  0.000000E+00 -1.830398E-05
     7  0.000000E+00 -1.118166E-04  0.000000E+00  0.000000E+00  0.000000E+00  1.574896E-05

When I change the beam orientation, I get good results. The code changes as:

*BEAM SECTION,ELSET=Eall,MATERIAL=EL,SECTION=GENERAL
0.0625,3.2552e-4,0,3.2552e-4,0.8333
0.,1.,0.

The result now is:

displacements (v(i),i=1…ndof) for set NALL and time 0.1000000E+01

     1  0.000000E+00  0.000000E+00  0.000000E+00  0.000000E+00  0.000000E+00  0.000000E+00
     2  0.000000E+00 -8.702529E-03  0.000000E+00  0.000000E+00  0.000000E+00 -1.689604E-03
     3  0.000000E+00 -3.276510E-02  0.000000E+00  0.000000E+00  0.000000E+00 -3.072008E-03
     4  0.000000E+00 -6.911570E-02  0.000000E+00  0.000000E+00  0.000000E+00 -4.147211E-03
     5  0.000000E+00 -1.146823E-01  0.000000E+00  0.000000E+00  0.000000E+00 -4.915213E-03
     6  0.000000E+00 -1.663930E-01  0.000000E+00  0.000000E+00  0.000000E+00 -5.376014E-03
     7  0.000000E+00 -2.211756E-01  0.000000E+00  0.000000E+00  0.000000E+00 -5.529614E-03

The question is: Am I doing something wrong? Or is this a bug? I placed some time ago an issue in Github: U1 / General beam section issue · Issue #34 · mkraska/CalculiX-Examples · GitHub

Kind regards,

Pablo

Anything new on this topic? I ran this analysis in Abaqus and here are the results:

  • your first case (orientation for which the problem occurs in CalculiX):
    res1
  • your second case (orientation for which the CalculiX results are correct):
    res2

As you can see, it seems to confirm that there’s a bug in CalculiX (assuming that I correctly recreated these cases in Abaqus and I think that I did). Let’s notify the developer @dhondt, I hope he doesn’t mind.

Hi,

I hope to have time to look into this in September.

Best Greetings,

Guido

@dhondt That would be great, thank you very much. By the way, this recent thread discusses another potential bug related to general beam section and userbeam.inp test example: Doubt about userbeam.inp (U1) from ccx test

These issues seem to have the same cause and maybe they can be fixed in one go.

@dhondt Dear Dr Dhondt,

since the newest release of CalculiX (2.18) brought improvements to the user beam element, I checked whether the two recently discovered bugs are still present in this version or not. Apparently, this problem is fixed: Doubt about userbeam.inp (U1) from ccx test

But the one described in the current thread still occurs. I thought that both issues have the same cause but it seems that it’s not the case. Is there a chance that this bug discussed here will be fixed too? User beam elements offer large flexibility to users and it would be great to have them working reliably.

Best regards,
Calc_em

1 Like

Test with 2.19 shows that the U1 user element shows good results if loaded in local 1 direction. Loads in local 2-direction seem to be ignored. The displacement in that direction seem to be numeric rubbish, which is identical no matter what the load in 2-direction is.

See https://github.com/mkraska/CalculiX-Examples/tree/master/Test/BeamSections

2 Likes

Thank you for investigating this. I wonder if we can notify Dr Dhondt about it in some way other than here on the forum. Fixing this bug would significantly reduce the unreliability of beam elements in CalculiX.

1 Like

Dear CalculiX users,

I looked into this problem. It looks as if there is another error in the article by Yunhua Luo. In my opionion, in Appendix A it should be k(3,3)=-k(3,9) instead of k(3,3)=k(3,9). With this change the displacements are independent of the 1-direction in the beam section (since the section is square).

Guido

3 Likes

also, thank you for citing the references. so the user possible to understand theoretical background.

it’s a Timoshenko beam element derived from 3D solid continuum with improvement in shear locking and mesh convergences, not classical/traditional ones.

1 Like

I can confirm that this issue is fixed in CalculiX 2.21.

1 Like