Issue with T3D2 elements

Hello CalculiX users,

I’m new to calculix and I cannot understand what happens in this simple exercise with two truss elements aligned in the X direction and hinged at the ends. The node in the middle is loaded with a Z force and in the .dat file I have a Z displacement of note 2 with a magnitude of E+10.
This is my input code:

*Node
1, 0, 0, 0
2, 500, 0, 0
3, 1000, 0, 0
*Element, type=T3D2, elset=all
1, 1, 2
2, 2, 3
*Nset, nset=Set-1
1, 2, 3
*Elset, elset=Set-1
1, 2
*Solid Section, elset=all, material=Material-1
200000
*Nset, nset=fix
1, 3
*Nset, nset=load
2,
*Material, name=Material-1
*Elastic
210000, 0.3
*Boundary
fix, 1, 3
load, 1, 2
*Step
*Static
*Cload
load, 3, -1000
*NODE PRINT, nset=Set-1
U,RF
*EL PRINT,ELSET=all,FREQUENCY=100
S,E
*NODE FILE,OUTPUT=3D
U,RF
*EL FILE
S,NOE,E
*End Step

Could you please explain me which is the error?

babias

Truss elements don’t have bending stiffness, they are supposed to be subjected to axial loading only.

1 Like

Thank you for the explanation Calc_em. I know that these elements can sustain axial load only but I thought that, due to the displacement and the inclination between these elements, they could sustain that load. Now I have updated the input file with a z coordinate slightly different from zero and the displacements are fine. If possible I have another question, what does it mean " a KNOT without rotation was generated in node 2" that is written inside the .12d file? Is the node 2 free to rotate? I would like to simulate a very simple structure composed by rods with ball joints at the ends.

It can’t work (linear analysis, your problem is non-linear: large rotation) unless you set *Step,nlgeom=yes, however if you do that, it doesn’t converge:

 iteration 1

 Decascading the MPC's

 *INFO in cascade: linear MPCs and
       nonlinear MPCs depend on each other
       common node: 7 in direction 2

So the problem set-up is not as simple as you tought… :grin:

If you linearise the problem, it works!
You have interpreted corrently the .12d file sentence. The node is free to rotate. To understant knots check the manual, CCX transforms 1D elements into 3D bricks, so a mathematical artifact needs to be introduced so they have rotational stiffness. This is a particularity of CCX, it hasn’t got true structural elements, only continuum elements.

1 Like

Apart from one true shell element :wink:

Thank you for your reply. What do you mean by linearize the problem? If I run the input file present in the first post the solver finds a solution but the displacements are too high.

well, no that’s not a solution, is an error. When you say:

I have updated the input file with a z coordinate slightly different from zero

you have linearised the problem, the vertical load can be balanced by the vertical component of the truss elements and then a solution is found.

Though it won’t help here, you can often use SPRINGA instead of T3D2. It’s a more robust regular simple 2-node axial spring/truss element that doesn’t get expanded to solids. A disadvantage is that it can’t have thermal expansion.

2 Likes

Thank you for the suggestion, I’m not interested in thermal expansion so I’ll try that.

It’ll still fail with a spring. To solve the problem with the elements colinear, you have to allow a solution in the initial iteration before any displacement has occurred when the structure has zero stiffness. Eg:

  • Constrained via a weak spring fixed at its other end.
  • Load it by prescribed displacement (*BOUNDARY) instead of force.
  • Prescribed displacement via a spring that you tune so the force approximates what you want.
  • Dynamic instead of static so inertia keeps it from flying away.
1 Like

Hello CalculiX users,
I have another question regarding example on T3D2 elements + spring elements compared with another model that is composed with a C3D4 +springs.
These are the inp files:
T3D2:

*Node
1, 69.282, -40, 0
2, -69.282, -40, 0 
3, 0, 80, 0
4, 0, 0, 200
5, 69.282, -40, -100
6, -69.282, -40, -100 
7, 0, 80, -100
*Element, type=T3D2, elset=all
1, 1, 4 
2, 2, 4
3, 3, 4
7, 1, 2
8, 2, 3
9, 3, 1
*Element, Type=SPRINGA, Elset=all
4, 1, 5
5, 2, 6
6, 3, 7
*Nset, nset=Set-1
1, 2, 3, 4, 5, 6, 7
*Elset, elset=Set-1
1, 4, 5, 6,
*Solid Section, elset=all, material=Material-1
200000000,
*Nset, nset=base
5, 6, 7
*Nset, nset=load
4
*Nset, nset=vertical
1, 2, 3
*Material, name=Material-1
*Elastic
200000000000000, 0.3
*Boundary
base, 1, 3
vertical, 1, 2
*Spring, elset=all

10000.
*Step,nlgeom=no,
*Static
*Cload
load, 3, 1000
*NODE PRINT, nset=Set-1
U,RF
*EL PRINT,ELSET=all,FREQUENCY=100
S,E
*NODE FILE,OUTPUT=2D
U,RF
*EL FILE
S,NOE,E
*End Step

C3D4:

*Node
1, 69.282, -40, 0
2, -69.282, -40, 0 
3, 0, 80, 0
4, 0, 0, 200
5, 69.282, -40, -100
6, -69.282, -40, -100 
7, 0, 80, -100
*Element, type=C3D4, elset=all
1, 1, 3, 2, 4
*Element, Type=SPRINGA, Elset=all
4, 1, 5
5, 2, 6
6, 3, 7
*Nset, nset=Set-1
1, 2, 3, 4, 5, 6, 7
*Elset, elset=Set-1
1, 4, 5, 6,
*Solid Section, elset=all, material=Material-1
200000000,
*Nset, nset=base
5, 6, 7
*Nset, nset=load
4
*Nset, nset=vertical
1, 2, 3
*Material, name=Material-1
*Elastic
200000000000000, 0.3
*Boundary
base, 1, 3
vertical, 1, 2
*Spring, elset=all

10000.
*Step,nlgeom=no,
*Static
*Cload
load, 3, 1000
*NODE PRINT, nset=Set-1
U,RF
*EL PRINT,ELSET=all,FREQUENCY=100
S,E
*NODE FILE,OUTPUT=2D
U,RF
*EL FILE
S,NOE,E
*End Step

The displacements that I get from .dat files are similar, but the forces on the nodes of the C3D4 element are wrong. Could you help me please?

CCX has a particular meaning for RF, check the manual:

1 Like