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.